ページ 11

GetOpenFileNameの選択ファイルのフルパスを文字列化

Posted: 2012年6月13日(水) 14:23
by タケヤ
初心者です。よろしくお願いします。

ファイルダイアログを表示して、選択ファイルのフルパスを”root.txt”に保存したい!!

If GetOpenFileName(ofn)=0 Then
ExitProcess(0)
End If

MessageBox(0,ofn.lpstrFile,"選択されたファイルのパス",MB_OK)
----------------------------------------------------
ofn.lpstrFileの内容を文字列データとして、root.txt(ファイルの名前)に
保存したい。....?
ofn.lpstrFileの内容文字列化のプログラムの記述をお願いいたします。

Re: GetOpenFileNameの選択ファイルのフルパスを文字列化

Posted: 2012年6月13日(水) 19:59
by たかせ
OFN.lpstrFileの内容をそのままファイル(root.txt)に出力してみてください。
以下にサンプルを記載します。

DIM OFN As OPENFILENAME
DIM OFILE[255] AS Char
DIM HFILEO AS HANDLE
DIM DWFILESIZE AS DWord
DIM DWACCESSBYTE AS DWord
ZeroMemory(VarPtr(OFN),Len(OFN))
OFN.lStructSize = Len(OFN)
OFN.hwndOwner = NULL
OFN.lpstrFilter = EX"すべてのファイル(*.*)\0*\0\0"
OFN.nFilterIndex = 1
OFN.lpstrFile = OFILE
OFN.nMaxFile = MAX_PATH
OFN.lpstrInitialDir = NULL
IF GetOpenFileName(OFN) = 0 THEN
MessageBox(NULL,"キャンセルされました。","TEST",MB_OK)
ELSE
HFILEO = CreateFile("root.txt",GENERIC_WRITE,0,BYVAL 0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0)
/* ここでフルパスの内容をroot.txtに出力します */
WriteFile(HFILEO,OFN.lpstrFile,lstrlen(OFN.lpstrFile),VarPtr(DWACCESSBYTE),BYVAL 0)
CloseHandle(HFILEO)
MessageBox(NULL,"root.txtに出力しました","TEST",MB_OK)
END IF
END

ためしに上記のソースコードをコンパイルと実行してください。
期待どおりの結果になると思います。
よろしくお願いします。

完璧でした

Posted: 2012年6月15日(金) 14:44
by タケヤ
完璧でした。助かりました、ありがとうございます。
またご教授下さいませ。