3780|6

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

内核驱动如何执行windows内部命令? [复制链接]

在VC下,我们可以通过如下的代码去执行一些dos命令,
        char Command[100];
        while(1)
        {
                memset(Command,'\0',100);
                printf(">>"); scanf("%[^\n]",Command); getchar();
                if( (memcmp(Command,"exit",4) == 0) || (memcmp(Command,"quit",4) == 0) ) break;
                system(Command);
        }
但是在内核驱动程序中如何去实现这种功能呢?请教各位指点。

最新回复

是啊  详情 回复 发表于 2008-9-19 20:07
点赞 关注

回复
举报

60

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这个比较麻烦,一个是NATIVE SUBSYSTEM 一个 WIN32 SUBSYSTEM. 你可以先写个 win32 程序然后装载上, 再发送windows内部消息让 win32 subsystem 来运行.嘿嘿

好,来个easy点的, 在开始-程序-启动的地方建立个批处理文件,下次一开机就运行鸟.
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
只能通过应用程序来实现,可以让应用程序通过DeviceIoControl与驱动程序通讯,必要时可以使用内核对象。
怎么有这么怪的需求?
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

4
 
在Windows下,DOS命令也得是在系统应用层支持的,在驱动层是无法调用的。

这个需求真奇怪,因为DOS命令直接涉及到了人机操作交互,而驱动层只是管理硬件的,两者的领域是不一样的。

难道你希望驱动层直接跟用户打交道?在Windows下这是很危险的,很容易就死翘翘的。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
这样是很危险,驱动可以在会话还没有建立就加载,也就是你还没有登录Windows就加载了。
这时候shell是根本不存在的,更别说DOS命令了。结果不可预测。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

6
 
Shell本身只是提供给用户的操作,如果程序要实现这些功能只能自己写了,用Linux的API实现,自己实现内核级的Shell
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 3 楼 shuiyan 的回复:
在Windows下,DOS命令也得是在系统应用层支持的,在驱动层是无法调用的。

这个需求真奇怪,因为DOS命令直接涉及到了人机操作交互,而驱动层只是管理硬件的,两者的领域是不一样的。

难道你希望驱动层直接跟用户打交道?在Windows下这是很危险的,很容易就死翘翘的。


是啊
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表