開発環境VC++6。CFileDialogでファイル名を取得したいのですが、

*.urlのファイルを選択するとGetPathNameの戻り値としてインターネットテンポラリファイルが、
*.lnkを選択するとショートカットのリンク先プログラムが戻ってきてしまいます。
なんとか、選択したショートカットファイルのフルパスを返す方法はありませんでしょうか?教えていただきたく
よろしくお願いします。

CFileDialog FileOpenDlg(TRUE,"*.*","",OFN_FILEMUSTEXIST | OFN_HIDEREADONLY,
"全てのファイル(*.*)|*.*|"); //ファイル選択ダイアログの設定
FileOpenDlg.DoModal()
*csFilePath=FileOpenDlg.GetPathName();

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2007/03/11 19:53:23
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Bookmarker No.1

回答回数191ベストアンサー獲得回数34

ポイント60pt

OFN_NODEREFERENCELINKS を指定すれば良いのではないでしょうか。

OPENFILENAME Structure: OFN_NODEREFERENCELINKS

Directs the dialog box to return the path and file name of the selected shortcut (.LNK) file. If this value is not specified, the dialog box returns the path and file name of the file referenced by the shortcut.

id:harunoharuno

回答ありがとうございます。教えていただいた方法で実現することができました。

2007/03/11 19:53:01

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません