package mainimport ( "flag")/*#include <stdio.h>#include <windows.h>#include <Winuser.h>typedef struct EnumFunArg{ HWND hWND; DWORD DWProcessID;}EnumFunArg,*LPEnumFunArg;BOol CALLBACK lpEnumFunc(HWND hwnd,LParaM lParam){ EnumFunArg *pArg = (LPEnumFunArg)lParam; DWORD processID; GetwindowThreadProcessID(hwnd,&processID); if( processID == pArg->DWProcessID) { pArg->hWND = hwnd; return FALSE; } return TRUE;}int ReturnWnd(DWORD processID){ BOol re = FALSE; EnumFunArg wi; wi.DWProcessID = processID; wi.hWND = NulL; Enumwindows(lpEnumFunc,(LParaM)&wi); if(wi.hWND) { if (IsHungAppWindow(wi.hWND)) { return 1; } } else { return -1; } return 0;}*/import "C"func main() { pID := flag.Int("p",0,"-p 1001") flag.Parse() h := C.ReturnWnd(C.DWORD(*pID)) switch h { case 0: println("程序有响应") case 1: println("程序无响应") case -1: println("无法获取窗口") }}总结
以上是内存溢出为你收集整理的golang1.8使用cgo获取进程是否假死全部内容,希望文章能够帮你解决golang1.8使用cgo获取进程是否假死所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)