by 7 » 2006年9月19日(火) 22:05
自分自身(実行ファイル)を実行しようとしたときなんかに使っています。
使い方 [ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]コード: 全て選択
Dim path[MAX_PATH] As Byte
'Dim lpPath As LPSTR
'lpPath=malloc(MAX_PATH)
GetOnselftFileName(path)
'GetOnselftFileName(lpPath)
ShellExecute(hMainWnd,"open",path,NULL,NULL,SW_SHOWNORMAL)
'ShellExecute(hMainWnd,"open",lpPath,NULL,NULL,SW_SHOWNORMAL)
'free(lpPath)
関数が成功した場合、バッファにコピーされた文字列の文字数がバイト数で返ります。失敗した場合、
0が返ります。
自分自身(実行ファイル)を実行しようとしたときなんかに使っています。
[hide][code]Dim path[MAX_PATH] As Byte
GetModuleFileName(NULL,path,MAX_PATH)[/code][/hide]
[hide=関数化してみる][code]Function GetOneselfFileName(ByVal lpPath As LPSTR) As Long
GetOneselfFileName=GetModuleFileName(NULL,lpPath,MAX_PATH)
End Function[/code][/hide][hide=使い方][code]Dim path[MAX_PATH] As Byte
'Dim lpPath As LPSTR
'lpPath=malloc(MAX_PATH)
GetOnselftFileName(path)
'GetOnselftFileName(lpPath)
ShellExecute(hMainWnd,"open",path,NULL,NULL,SW_SHOWNORMAL)
'ShellExecute(hMainWnd,"open",lpPath,NULL,NULL,SW_SHOWNORMAL)
'free(lpPath)[/code][/hide]
関数が成功した場合、バッファにコピーされた文字列の文字数がバイト数で返ります。失敗した場合、[b]0[/b]が返ります。