查找到记事本程序的句柄,并打开它的进程,可是 dwProcessID却为空,记事本程序已经打开,不知道为什么!没有提示错误! fhwnd=::FindWindow("Notepad", NULL);
::GetWindowThreadProcessId(fhwnd,&dwProcessID);
if(ProcessID==NULL)
{
MessageBox("错误");
}
hProcess=OpenProcess(PROCESS_VM_WRITE+PROCESS_VM_OPERATION,TRUE,dwProcessID);
CloseHandle(hProcess);
::GetWindowThreadProcessId(fhwnd,&dwProcessID);
if(ProcessID==NULL)
{
MessageBox("错误");
}
hProcess=OpenProcess(PROCESS_VM_WRITE+PROCESS_VM_OPERATION,TRUE,dwProcessID);
CloseHandle(hProcess);
if(ProcessID==NULL)
应该是if(dwProcessID==NULL) 才对吧。
dwProcessID = NULL; 那么当然是检测不到错误。还有传进去一个错误的dwProcessID参数是不会导致OpenProcess崩溃的,无效的hProcess给CloseHandle也同样,所以程序无反应。楼主如过通过检测hProcess的非零性就可以提示错误
if( !hProcess )
MessageBox("错误");
Notepad 不是吧?
你看看记事本的标题是不是notepad