从窗口句柄获取进程句柄并终止进程GetWindowThreadProcessID

    技术2026-08-16  22

    _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

    最新回复(0)