分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
在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程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)