Windows モバイル 6 で実行されている小さな ActiveX コントロールがあります。アプリケーション名L"\blah\blah.exe"をハードコーディングすると、API CreateProcessWを使用できます。
CreateProcessW に渡したいアプリケーションを含む BSTR を返す別の API を呼び出すと、機能しません。確認したところ、アプリケーション文字列が入力されていますが、BSTR と LPCWSTR の間で変換の問題が発生していると推測されます (Wide cha error?) 。OLE2CWとOLE2Wで変換してみました。
私はVCの専門家ではなく、これを機能させるだけでよいので、質問があります。
- API 経由で BSTR を受け取った場合、それを変換して CreateProcessW の Application パラメータに渡すにはどうすればよいですか? これはwindows mobile 6 (Wince 5.2)です。コードスニペットは素晴らしいでしょう。
変換なしのコード例:
BSTR app = NULL;
_host->GetAppString(_T("app"),&app);
CreateProcessW(app,L"22222",0,0,0,0,0,0,0,&processInformation);
文字セットはUnicodeです。
ありがとう