zhanSL
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2010-07-13
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望273点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
阅读:1727回复:10

WDM如何启动应用程序???

楼主#
更多 发布于:2002-12-04 11:43
WDM驱动:

我想在设备启动的时候启动某个应用程序
    在设备删除的时候关闭某个应用程序

能实现吗???
 

最新喜欢:

baoyibao99baoyib...
guolianwu
驱动牛犊
驱动牛犊
  • 注册日期2003-05-02
  • 最后登录2004-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-02 10:53
用DLL应用程序么?
lvwj
驱动老牛
驱动老牛
  • 注册日期2001-08-21
  • 最后登录2021-01-31
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望181点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-12-13 16:47
oney 在他的书中专门讲了这个问题,还有例子 autolauch
www.bjjcz.com
guard2002
驱动中牛
驱动中牛
  • 注册日期2002-05-21
  • 最后登录2017-03-07
  • 粉丝0
  • 关注0
  • 积分46分
  • 威望65点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2002-12-13 10:10
财神爷说的很对
tigerzd
驱动老牛
驱动老牛
  • 注册日期2001-08-25
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-11 10:08
WDM驱动程序将应用程序以一个进程的方式启动是可以的,但没有太大的意义。
最主要的是在系统启动的时候,设备如果在的话,驱动程序是可以加载的,但是此时应用程序却是不可能启动的!

[编辑 -  12/11/02 by  tigerzd]
犯强汉者,虽远必诛! [img]http://www.driverdevelop.com/forum/upload/tigerzd/2002-12-13_sf10.JPG[/img]
sipu
驱动牛犊
驱动牛犊
  • 注册日期2002-05-13
  • 最后登录2005-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-10 21:40
如果你讲清楚应用背景,或许有更好的方式实现。
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-04 17:38
Oney的那个wizard可以生成一个inf,里面有一个就是auto-start的选项。你把那个参数同样的加到你的service在reg里面对应的地方,可能有用。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
lvwj
驱动老牛
驱动老牛
  • 注册日期2001-08-21
  • 最后登录2021-01-31
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望181点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2002-12-04 14:57
专门用一个监视程序来接收你的设备消息,收到响应信息后让他来启动/关闭你想要操作的应用程序.
www.bjjcz.com
Axi
Axi
驱动牛犊
驱动牛犊
  • 注册日期2002-02-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-12-04 13:21
启动应用程序:
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()函数里给应用程序发事件,应用程序收到事件就关闭自己。当然你要给驱动和应用程序创建一个共享事件。



  

使用NtCreateProcess应该不可以启动一个应用程序它只是做一些Process Handle的处理,你要启动一个程序。可以问下财神爷。他上会好象实现了,也可以参考native api第6章的Example 6.2: Creating a Win32 Process例子。也应该有帮助。
举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。
lonkiss
驱动牛犊
驱动牛犊
  • 注册日期2002-01-15
  • 最后登录2004-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于: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()函数里给应用程序发事件,应用程序收到事件就关闭自己。当然你要给驱动和应用程序创建一个共享事件。



 
我的真名就叫-龙旗
lrx666
驱动太牛
驱动太牛
  • 注册日期2001-08-17
  • 最后登录2010-10-25
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望47点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-12-04 11:56
能吗?我怎么觉得不可能
游客

返回顶部