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

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

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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/03/04 22:18:49
  • 終了:2007/03/11 19:53:23

ベストアンサー

id:Bookmarker No.1

しおり回答回数191ベストアンサー獲得回数342007/03/04 22:46:03

ポイント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

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません