| 1.窗口信息 MS为我们提供了打开特定桌面和枚举桌面窗口的函数。 hDesk = OpenDesktop(lpszDesktop, 0, FALSE, DESKTOP_ENUMERATE); // 打开我们默认的Default桌面; EnumDesktopWindows(hDesk,(WNDENUMPROC)EnumWindowProc, 0); // 枚举打开桌面上的所有窗口,由回调函数实现。 BOOL __stdcall EnumWindowProc(HWND, LPARAM); // 在回调函数中,我们可以获得窗口的标题和相关进程,线程信息; GetWindowText(hWnd, szWindowText, dwMaxCount); GetWindowThreadProcessId(hWnd, &dwPID); 2.设备驱动器信息(服务和设备驱动器差不多,在此不做重复) 设备驱动信息有服务控制管理器(SCM)来管理的,我要打开服务控制管理器,并枚举所有的设备驱动器。 OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); // 以所有权限打开服务控制管理器; EnumServicesStatus(schManager, dwDeviceType, dwDeviceState, EnumStatus, dwBufSize, &dwBytesNeeded, &dwDevicesReturned, &dwResumeHandle)) // 枚举所有设备的当前状态; !--判断阅读权限-->!--判断是否已经扣点--> |
在delphi7中利用mscomm控件编程
已经是最后一篇