阅读:1690回复:4
怎么实现在2000下用程序停止一个自己的USB设备阿?千万要救命阿,否则要跳楼了
我的代码总是错误:
//OpenSCManager成功 schManag = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); //OpenService也成功 schService = OpenService(schManag, szDriverName/*这里是我的设备名称*/, SERVICE_ALL_ACCESS); //但是为啥我执行ControlService总是不成功阿,用GetLastError得到的错误代码是ERROR_INVALID_SERVICE_CONTROL,为啥阿,救命!!! 我看了帮助里面有SERVICE_CONTROL_STOP这个功能阿 ControlService(schService, SERVICE_CONTROL_STOP, &ss); 问题:为什么出错???这个方法行不行???? 如何在程序里启用/停止某个设备呢,就象设备管理器里实现的一样。不知道又没有实现该功能的API函数呢?? 用以下的API OpenSCManager生成SCMhand OpenService生成新的服务 StartService启动该服务 应用程序怎样知道usb设备插上了? 1 Add function into mainfrm.cpp afx_msg BOOL CMainFrame::OnDeviceChange( UINT nEventType, DWORD dwData ) { 问题::有没有什么方法??(添代码) //Add your action here return 1; } 2. add to message table(mainfrm.cpp). ON_WM_DEVICECHANGE()BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) //{{AFX_MSG_MAP(CMainFrame) ON_WM_CREATE() ON_WM_DEVICECHANGE() //}}AFX_MSG_MAP END_MESSAGE_MAP() 3. mainfrm.h -> add to function table. //{{AFX_MSG(CMainFrame) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg BOOL OnDeviceChange( UINT nEventType, DWORD dwData ); //}}AFX_MSG 要求能识别每个USB口上的设备,并能从USB口上接受设备发送的数据? CreateFile |
|
|
沙发#
发布于:2002-12-22 21:19
有帖子讨论过,你自己看看。
但你的方法估计不行,那是对KMD的手段,WDM估计没戏! |
|
|
板凳#
发布于:2002-12-20 15:37
斑竹,帮我看看,先谢谢拉
|
|
|
地板#
发布于:2002-12-19 10:54
我的问题也和你一样, 希望高手大哥指点小弟啊!!!
|
|
地下室#
发布于:2002-12-19 09:24
高手请帮忙帮忙
|
|
|