123456

 

2011年6月14日

DDK

摘要: 想要实现类似设备管理器的功能,其实也不是很难,无非就是调用一些API函数,就像本文描述的,采用的API函数就是SetupDi系列的函数。不过这类函数有很多,具体的请参见MSDN,而实现设备启用、停用仅需要用到的就只有5个函数:SetupDiGetClassDevs // 获取设备信息集SetupDiEnumDeviceInfo //从设备信息集中枚举每个设备的具体信息SetupDiGetDeviceRegistryProperty // 从注册表中读取PnP设备的属性SetupDiSetClassInstallParams // 设置(包括取消)设备类的安装参数SetupDiCallClass 阅读全文

posted @ 2011-06-14 18:53 hgy413 阅读(648) 评论(0) 推荐(0) 编辑

如何控制一个程序只能有一个进程

摘要: EnumWindows的使用BOOL EnumWindows( WNDENUMPROC lpEnumFunc, LPARAMlParam );该函数枚举所有屏幕上的顶层窗口,并将窗口句柄传送给应用程序定义的回调函数,其中lParam是传递给lpEnumFunc的参数。回调函数返回FALSE将停止枚举,否则EnumWindows函数继续到所有顶层窗口枚举完为止。例如获取所有的桌面窗口句柄,并将其值放到CListBox中:进程统指应用程序的一个实例两个问题:1.在程序的第二个实例启动时,如何发现该程序已有一个实例在运行2.如何将第一个实例激活,而第二个实例退出由于windows并没有给内核对象定义 阅读全文

posted @ 2011-06-14 15:49 hgy413 阅读(425) 评论(0) 推荐(0) 编辑

导航