_GetODProcID proc LOCAL @hWinOD ;窗口句柄 LOCAL @hProcessOD ;进程句柄 LOCAL @idProcessOD ;进程ID invoke FindWindow,addr szClassName,NULL ;通过类名获取窗口句柄 .if eax ;找到 mov @hWinOD,eax ;窗口句柄 invoke MessageBox,NULL,offset szFound,offset szCaption,MB_ICONWARNING ;检测到OD提示 invoke GetWindowThreadProcessId,@hWinOD,addr @idProcessOD ;获取进程ID在@idProcessOD里 invoke OpenProcess,PROCESS_TERMINATE,TRUE,@idProcessOD ;获取进程句柄在返回值里 .if eax ;获取句柄成功 mov @hProcessOD,eax invoke TerminateProcess,@hProcessOD,200 ;终止进程 invoke CloseHandle,@hProcessOD ;关闭进程句柄 invoke MessageBox,NULL,addr szClose,addr szMerry,MB_OK .else ;获取句柄失败 invoke MessageBox,NULL,addr szFail,addr szCaption,MB_ICONWARNING .endif .else ;没找到目标窗口 invoke MessageBox,NULL,offset szNotFound,offset szMerry,MB_OK .endif ret
_GetODProcID endp
