itljl 发表于 2010-10-4 15:09:33

请教如何以资源管理器的方式来运行文件

问题起因:
当我们以
ShellExecute("f:\1.exe","f:\")
运行文件时,1.exe也可以是 1.doc,AU3都能正常打开,并且,可以设置其运行目录为f:\

这样可以实应绝大多数程序,现在问题来了。

有的程序 例如我们这里的 1.exe 他们检测,如果运行程序的不是explorer.exe资源管理器,他就不能正常运行。

所以,请教一下,如何在AU3中模拟explorer.exe启动程序,并且可以指定他的运行目录。

caodongchun 发表于 2010-10-4 23:45:30

没看明白,你是要运行这个程序,还是打开这个程序的目录?

有的程序 例如我们这里的 1.exe 他们检测>>这句话不通,谁检测?你是要运行这个程序还是要打开他所在的目录并选择它?

lixiaolong 发表于 2010-10-5 00:07:47

不明白你想说什么
ShellExecute ( "文件名" [, "参数" [, "工作目录" [, "verb" [, 显示标志]]]] )

itljl 发表于 2010-10-5 00:23:53

回复 2# caodongchun

ShellExecute("f:\1.exe","f:\")

表示运行f:\1.exe 这个程序,运行目录在 f:\

我想知道如何运行这个程序,让1.exe以为他是被explorer.exe运行的..

caodongchun 发表于 2010-10-5 00:36:28

1.exe 被 explorer.exe 关联?
结果是什么?explorer.exe可以运行其他exe文件吗?

itljl 发表于 2010-10-5 00:41:25

回复 5# caodongchun

这么说吧.
当我们在我的电脑里用鼠标点击, 打开我的电脑,打开F盘,双击1.EXE的时候.
1.exe就会认为自己是被资源管理器explorer.exe启动的,也就是他的启动进程是explorer.exe

而如果我们au3用shellexecute运行这个程序,这个程序就会认为自己是被这个AU3程序启动的.

我想实现的是,au3用shellexecute运行这个1.EXE程序而让1.exe仍然认为自己是explorer.exe启动的...

这下应该明白了...

caodongchun 发表于 2010-10-5 01:31:30

明白了,已经很像病毒了,不会了

pusofalse 发表于 2010-10-5 05:23:20

原来就是修改1.exe的父进程,参考AU3创建系统级进程的4种方法

liufenglg 发表于 2010-10-5 10:04:19

ShellExecute('xs0.txt','explorer.exe')

itljl 发表于 2010-10-5 21:43:35

回复 8# pusofalse


    谢谢P版,技术贴!!P版的贴技术含量都很高。
页: [1]
查看完整版本: 请教如何以资源管理器的方式来运行文件