by まっちゃん » 2005年12月08日(木) 18:45
はじめまして。
早速ですが助けてください。
ランチャーを作っているんですが、以下の関数を実行すると、異常終了してしまうんです。
コード: 全て選択
Sub Exef(No As Long)
Dim Str[256] As Byte
Dim P [256] As Byte
Dim CFName[256] As Byte
Dim SECTION[18] As Byte
wsprintf(Str,"BTN%d",No)
GetPrivateProfileString(SECTION,Str,"",P,256,Path)
If lstrcmp(P,"")=0 Then
MessageBox(0,"NG1","",MB_OK)
End
End If
_splitpath(P,DName,FName,NULL,NULL)
wsprintf(CFName,"%s%s",DName,FName)
If Fol=0 Then
shRet=ShellExecute(NULL,NULL,P,"",CFName,SW_SHOW)
Else
shRet=ShellExecute(NULL,"open",CFName,"",CFName,SW_SHOW)
EndIf
If shRet<32 As HINSTANCE Then MessageBox(0,"NG2","",MB_OK)
End Sub
ただ、この関数、他のプロジェクトにコピーすると正常に動作します。
バージョンは、4.12.01、OSは、WindowsXP Home SP2です。
よろしくお願いします。
はじめまして。
早速ですが助けてください。
ランチャーを作っているんですが、以下の関数を実行すると、異常終了してしまうんです。
[code]
Sub Exef(No As Long)
Dim Str[256] As Byte
Dim P [256] As Byte
Dim CFName[256] As Byte
Dim SECTION[18] As Byte
wsprintf(Str,"BTN%d",No)
GetPrivateProfileString(SECTION,Str,"",P,256,Path)
If lstrcmp(P,"")=0 Then
MessageBox(0,"NG1","",MB_OK)
End
End If
_splitpath(P,DName,FName,NULL,NULL)
wsprintf(CFName,"%s%s",DName,FName)
If Fol=0 Then
shRet=ShellExecute(NULL,NULL,P,"",CFName,SW_SHOW)
Else
shRet=ShellExecute(NULL,"open",CFName,"",CFName,SW_SHOW)
EndIf
If shRet<32 As HINSTANCE Then MessageBox(0,"NG2","",MB_OK)
End Sub[/code]
ただ、この関数、他のプロジェクトにコピーすると正常に動作します。
バージョンは、4.12.01、OSは、WindowsXP Home SP2です。
よろしくお願いします。