初心者です。よろしくお願いします。
ファイルダイアログを表示して、選択ファイルのフルパスを”root.txt”に保存したい!!
If GetOpenFileName(ofn)=0 Then
ExitProcess(0)
End If
MessageBox(0,ofn.lpstrFile,"選択されたファイルのパス",MB_OK)
----------------------------------------------------
ofn.lpstrFileの内容を文字列データとして、root.txt(ファイルの名前)に
保存したい。....?
ofn.lpstrFileの内容文字列化のプログラムの記述をお願いいたします。
GetOpenFileNameの選択ファイルのフルパスを文字列化
Re: GetOpenFileNameの選択ファイルのフルパスを文字列化
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
ためしに上記のソースコードをコンパイルと実行してください。
期待どおりの結果になると思います。
よろしくお願いします。
以下にサンプルを記載します。
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
ためしに上記のソースコードをコンパイルと実行してください。
期待どおりの結果になると思います。
よろしくお願いします。