阅读:1726回复:10
WDM如何启动应用程序???
WDM驱动:
我想在设备启动的时候启动某个应用程序 在设备删除的时候关闭某个应用程序 能实现吗??? |
|
最新喜欢:![]() |
沙发#
发布于:2002-12-04 11:56
能吗?我怎么觉得不可能
|
|
板凳#
发布于:2002-12-04 12:14
启动应用程序:
NTDDK有一个undoc的函数可以用: NtCreateProcess ( OUT PHANDLE ProcessHandle, //接受返回进程句柄的变量地址。 IN ACCESS_MASK DesiredAccess, //访问权限。 IN POBJECT_ATTRIBUTES ObjectAttributes, //对象属性。 IN HANDLE ParentProcessHandle, //父进程对象句柄。 IN BOOLEAN InheritObjectTable, //是否继承对象表 IN HANDLE SectionHandle, //进程的区域对象句柄。 IN HANDLE DebugPort, //进程的调试端口句柄。 IN HANDLE ExceptionPort //进程的异常端口句柄。 ); 关闭应用程序可以这样做:(如果启动的这个程序是你写的) 在DriverUnload()函数里给应用程序发事件,应用程序收到事件就关闭自己。当然你要给驱动和应用程序创建一个共享事件。 |
|
|
地板#
发布于:2002-12-04 13:21
启动应用程序: 使用NtCreateProcess应该不可以启动一个应用程序它只是做一些Process Handle的处理,你要启动一个程序。可以问下财神爷。他上会好象实现了,也可以参考native api第6章的Example 6.2: Creating a Win32 Process例子。也应该有帮助。 |
|
|
地下室#
发布于:2002-12-04 14:57
专门用一个监视程序来接收你的设备消息,收到响应信息后让他来启动/关闭你想要操作的应用程序.
|
|
|
5楼#
发布于:2002-12-04 17:38
Oney的那个wizard可以生成一个inf,里面有一个就是auto-start的选项。你把那个参数同样的加到你的service在reg里面对应的地方,可能有用。
|
|
|
6楼#
发布于:2002-12-10 21:40
如果你讲清楚应用背景,或许有更好的方式实现。
|
|
7楼#
发布于:2002-12-11 10:08
WDM驱动程序将应用程序以一个进程的方式启动是可以的,但没有太大的意义。
最主要的是在系统启动的时候,设备如果在的话,驱动程序是可以加载的,但是此时应用程序却是不可能启动的! [编辑 - 12/11/02 by tigerzd] |
|
|
8楼#
发布于:2002-12-13 10:10
财神爷说的很对
|
|
9楼#
发布于:2002-12-13 16:47
oney 在他的书中专门讲了这个问题,还有例子 autolauch
|
|
|
10楼#
发布于:2003-05-02 10:53
用DLL应用程序么?
|
|