设为首页 收藏本站
查看: 802|回复: 0

[经验分享] 在windows用perl运行exe

[复制链接]

尚未签到

发表于 2015-12-27 11:21:01 | 显示全部楼层 |阅读模式
  现在做的一个项目,刚刚完成了所有组件的编译链接,运行也没问题。
  但是每次运行看效果都得双击六个程序(四个窗口程序和二个命令行程序)。
  就想着能不能做一个批处理一次运行了。
  先想到的是bat脚本,但因为有两个命令行程序,且都是那种死循环不退出的那种,这造成在bat中开了第一个时卡住不运行第二个。
  在网上找了一下关于如何让其后台运行的资料,都是关于VB方面的。
  后来想PERL对于这种应该是小菜一碟吧,先在网上找,找到




1 system("Client.exe print");
  
  和上面bat的问题一样。
  后来把PERL的帮助文档打开,一看就看到了Win32::Process.
  直接把例子COPY下来就能运行了。
  但还是有两个问题:
  1. 两个命令行程序都同时运行在一个命令窗口中.(和之前bat问题一样)
  2. 一些窗口程序本来是可以带入参数,但就是不能正常运行。
  



1 #!/usr/bin/perl
2
3 use Win32::Process;
4 use Win32;
5 sub ErrorReport{
6 print Win32::FormatMessage( Win32::GetLastError() );
7 }
8 Win32::Process::Create($ProcessObj1, "Client.exe", "",
9                     0, NORMAL_PRIORITY_CLASS, ".")|| die ErrorReport();
10 sleep(5);
11 Win32::Process::Create($ProcessObj2, "GndSystem.exe", "",
12                      0, NORMAL_PRIORITY_CLASS, ".")|| die ErrorReport();
13 sleep(5);
14 Win32::Process::Create($ProcessObj3, "LmiInterface.exe", "",
15                      0, NORMAL_PRIORITY_CLASS, ".")|| die ErrorReport();
16 sleep(5);
17 Win32::Process::Create($ProcessObj4, "Monitor.exe", "",
18                      0, NORMAL_PRIORITY_CLASS, ".")|| die ErrorReport();
19 sleep(5);
20 #Win32::Process::Create($ProcessObj6, 'C:\Sim.exe', 'PACARS.sim', 0, NORMAL_PRIORITY_CLASS, 'C:\SecureACARS\Database')|| die ErrorReport();
21 system('C:\Sim.exe PACARS.sim');
  
  另附上请空log文件的perl脚本:



1 #!/usr/bin/perl
2
3 open $Log, '> C:\GPAComm.log';
4 close $Log;
5 open $Log, '> C:\CoreError.log';
6 close $Log;
7 open $Log, '> C:\GPAError.log';
8 close $Log;

http://www.tianming.me/?p=830

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-156893-1-1.html 上篇帖子: 用perl查找mysql数据库内容以及添加数据表等 下篇帖子: 软件制作:Perl
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表