過去にVB6.0で作成したアプリがあり、この度機能追加をすることになったのですが、
その追加部分はVB2005で作成しました。
VB6.0のアプリからvb2005のexeを呼び出すと以下のエラーが出ました。
実行時エラー'5' プロシージャの呼び出し、または引数が不正です。
呼び出す部分のコードは以下の通りです。
VB2005で作成したexeを、かりに"VB2005App.exe"とし、そのexeはVB6.0で作成したアプリのexeと同じ階層に居るものとします。
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal blnheritHandle As Long, ByVal dwProcessId As Long) As Long
Dim IDProcess As Long
Dim hProcess As Long
IDProcess = Shell("VB2005App.exe", vbNormalFocus)
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 1, IDProcess)
AppActivate IDProcess
色々と調べたつもりですが、Shell関数の第1引数のパスはちゃんと合っていました。
ちなみに、VB6で作ったexeは何の問題もなく上記の方法で呼び出せました。
しかしなぜVB2005で作ったexeだとだめなのか、見当が付かない状況です。
どうかご回答を頂けたらと思います。
ツイート | ![]() |