向CMD窗口发送CTRL+C
aming090:
[code=cpp]
if (dwProcessID != NULL)
{
AttachConsole(dwProcessID); // attach to process console
SetConsoleCtrlHandler(NULL, TRUE); // disable Control+C handling for our app
//PROCESS_TERMINATE
BOOL a=GenerateConsoleCtrlEvent(CTRL_C_EVENT, 0); // generate Control+C event
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessID);
if (INVALID_HANDLE_VALUE == hProcess)
{
// error = (char*)geterr();
return true;
}
WaitForSingleObject(hProcess, INFINITE);
CloseHandle(hProcess);
Sleep(2000); //等待2秒,以防止自身被关闭。
FreeConsole();
SetConsoleCtrlHandler(NULL, FALSE);
error = "runing ctrl+c succeed!";
LocalFree(lpMsgBuf);
return true;
}
[/code]
在OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessID);处崩溃了,不知道为什么?
|