呼び出しで OLE EXE サーバーのインスタンスを単純に作成しようとしてCreateDispatch
いますが、現在のディレクトリが正しくないために失敗したようです。表示されるエラーは「サーバーの初期化に失敗しました」です。コードをデバッグしたところ、CreateDispatch
コードが 3 つのことを行っていることがわかりました。
- CoCreateInstance //私の場合、これは成功します
- OleRun //私の場合、これは「サーバーの実行に失敗しました」というエラーで失敗します
- IDispatch の QueryInterface
私もプロセスを起動しようとしましたが、8番目の引数でCreateProcess
正しいものを提供しないと失敗します。CurrentDirectory
CurrentDirectory
CurrentDirectory
親がプロセスを生成しようとしているときに、親のものが渡されることを私は知っています。そこで、 API呼び出しで親CurrentDirectory
を適切なディレクトリに変更してみました。SetCurrentDirectory
これは、同じエラーが発生し、内部で同じ呼び出しに失敗したCreateProcess
場合には機能しますが、機能しません。CreateDispatch
OleRun
CurrentDirectory を に渡す方法を知っている人はいますCreateDispatch
か? または回避策はありますか?