0

私はC++の初心者で、デバッグAPIを使おうとしていますが、開始することすらできません。CreateProcessapiでexeを実行できなかったためです。コンパイルエラーは発生しませんが、falseを返します。何か提案はありますか?

LPCWSTR appName = LPCWSTR("C:\\TEST.EXE");
LPSTARTUPINFO sInfo = LPSTARTUPINFO();
LPPROCESS_INFORMATION pInfo = LPPROCESS_INFORMATION();

if (CreateProcess(appName,NULL,NULL,NULL,FALSE,CREATE_SUSPENDED,NULL,NULL,sInfo,pInfo))
{
    printf("done!");
}
else
{
    printf("error!");
}
4

1 に答える 1

4

sInfoおよびpInfo有効なメモリを指していません (エラー コード87、パラメーターが正しくないことを意味します)。への変更:

STARTUPINFO sInfo = { sizeof(sInfo };
TCHAR desktop[] = TEXT("winsta0\\default");
sInfo.lpDesktop = desktop;
PROCESS_INFORMATION pInfo;

オブジェクトのアドレスをCreateProcess()(つまり&sInfo, &pInfo) に渡します。

于 2012-11-30T17:09:07.527 に答える