vbs文件中调用exe文件

vbs文件中调用exe文件,第1张

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

在VBS后缀的文件中调用一个其他路径的可执行文件,该如何编译实现?

给个具体实例,谢谢!

解析:

set ws=createobject("wscriptshell")

wsrun "c:\11exe"

shellexecute返回的并不是目标程序的main返回值,这样做:

STARTUPINFO si={sizeof(si)};

PROCESS_INFORMATION pi;

sidwFlags=STARTF_USESHOWWINDOW;//指定wShowWindow成员有效

siwShowWindow=TRUE;//此成员设为TRUE的话则显示新建进程的主窗口

BOOL bRet=CreateProcess(

L"xx:\\xxexe",//目标文件名

NULL,

NULL,//默认进程安全性

NULL,//默认进程安全性

FALSE,//指定当前进程内句柄不可以被子进程继承

CREATE_NEW_CONSOLE,//为新进程创建一个新的控制台窗口

NULL,//使用本进程的环境变量

NULL,//使用本进程的驱动器和目录

&si,

&pi);

if (bRet)

{

DWORD dwExitCode;

CloseHandle(pihThread);

DWORD dwResult=WaitForSingleObject(pihProcess, INFINITE);

GetExitCodeProcess(pihProcess, &dwExitCode);

CloseHandle(pihProcess);

printf("%d\n",dwResult);

printf("%d\n",dwExitCode);

}

以上代码是执行目标exe,等待其退出,得到main函数的返回值,用的是CreateProcess

需要#include <Windowsh>

system()的输入参数是一个字符串,这个函数的作用就是在命令行下以命令的形式执行这个字符串。“C:\aexe” 在命令行下是可以直接运行的,所以直接填到参数里就行了。不过需要注意的是,字符串作为参数的时候“\”要做一下转义,要变成“\\”才行。

所以正确的使用方法应该是

system("C:\\aexe");

注意,system在调用的时候需要加上#include <stdlibh>的头文件。

进程名称: explorer 或者 explorerexe

所在路径: (系统安装目录盘)C:\windows\explorerexe

进程全称: Microsoft Windows Explorer

中文名称: 微软windows资源管理器

描述:

Windows 资源管理器,可以说是 Windows 图形界面外壳程序,它是一个有用的系统进程。 注意它的正常路径是 C:\Windows 目录,否则可能是 W32Codered 或 W32mydoomb@mm 病毒。

explorerexe出错的几种可能原因:

1系统资源不足。如果机器配置低的话建议不要同时开启太多应用程序。另外可适当加大虚拟内存,特别是经常玩大型游戏。这种情况下升级机器是最根本的解决办法呵呵。

2系统文件损坏。检查explorerexe的文件大小,正常情况下应该显示为237k或者238k,如果大小不一致,可运行sfc/scannow扫描系统文件。若explorerexe程序本身损坏,可以从别的机器上拷贝一个explorerexe文件到本机,调用任务管理器,接入explorerexe进程,然后新建任务拷贝新的文件到系统盘\WINNT(2000)或\WINDOWS(XP)目录下。

3软件冲突(特别是右键第三方加载项)。譬如输入法,清华紫光输入法30版本有的时候会出现explorerexe出错,取消清华紫光输入法,用其他输入法输入会没有问题。清华紫光输入法40版本未发现类似问题。苹果美化版的rar惹的祸,把它卸载了暂时就没有这个错误了,你也可以看是不是安装了苹果美化版的rar,有的话,也可以卸载了来看一下。

装了酒精120%或者酒精52%虚拟光驱,在番茄 的系统中很容易出现explorerexe错误。卸载有时候会解决问题 。

4病毒。(wc98ppdll)

网络协议处理器 - 电子书编译工具Web Compiler相关。

wc98ppdll文件本身并没有影响,很多计算机上都有此文件,但是当explorerexe出错的时候,删除此文件可以解决问题,然后从注册表中搜索相关键值删除。

usigndll,有人提到这个文件与wc98ppdll两个文件类似,删除这两个文件可以清除IE中不断跳出小广告。在公司的计算机中未发现此文件。

5windows升级造成的

大家都知道我们用的是盗版xp,既然是盗版的,肯定会出现各种各样的错误微软也不是sb,肯定会搞一些问题来惩罚我们,所以建议大家不要上网自动更新,并且把自动更新关掉(实际上这个更新没p用)

6系统内核错误。此类情况暂时无法解决,重新安装系统。

7内存问题。有人通过更换内存,解决了这个问题,所以这应该是个原因,不过如果这个出问题就比较麻烦了,所以先考虑前面几个原因。

8其他原因。计算机运行某个程序等待时间过长,比如读取数据,尤其是光盘或者外界设备的数据的时候,也会出现explorerexe出错。

exeplorerexe是系统的外壳。这个文件因为开机就被加载到内寸中。所以这个文件通常不会损坏。发生错误是因为注册表的中与exeplorer关联的项发生异常。原因很多,不好查找。所以一般只有重新安装系统。如果嫌麻烦,使用启动盘启动系统,在恢复控制台中修复

有两个函数a和b function a(){ return 1;}function b(){ return a();}这就是一个简单的获取,执行b()的时候,返回结果是1,即a()的返回值,但是显然上面这种写法没有多大的意义,在实际应用中,写的可能要复杂一些,同时也便捷一些。

以上就是关于vbs文件中调用exe文件全部的内容,包括:vbs文件中调用exe文件、用ShellExecuteEx函数执行一个vc写的exe,vc程序的返回函数是return(n)、如何调用一个exe程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10144032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存