C语言 如何调用另一个程序的计算结果?急!!!!!

C语言 如何调用另一个程序的计算结果?急!!!!!,第1张

你要知道system的返回值碰信禅,并非H1.EXE的返回值。

在DOS下,

system()只是做一个调用其他程序的工作,只要调用成功就返回0,不成功就坦誉返回-1。

它不能得到被调用的程序的执行结果。

要得到其他程序的执行的结果,要用spawn***()这个家族的函数。

如果在linux下面

如果你想得到那个返回值可以调用WEXITSTATUS(status),其中status是system函数的返回值。

如果你非常想获取他的返回值,就使用popen函数。它返回一个FILE*,就笑尘好像读写文件一样 *** 作它就是了,不需要另外写文件读文件。

下面代码复制到记事本,保存为后缀名为VBS的脚本文件,然后运行。

当察绝notepad.exe(记事本)运行时,calc.exe(计算器)就运行。(你改为你自己的程序A和程序B就败伏姿行了。但是现厅裤在还有bug,如果notepad在运行,calc就算被关了也还是会运行,稍后再帮你修改一下)

checkProcess = "notepad.exe" '监控的程序

startProcess = "calc.exe" '要运行的程序

startProcessPath = "%SystemRoot%\system32\calc.exe" '要运行的程序的路径

set os = Wscript.CreateObject("Wscript.shell")

do

processOne = false

processTwo = false

Set objWMIService = GetObject("winmgmts:\\.\root\cimv2:win32_process").instances_

for each process in objWMIService

if process.name = checkProcess then processOne = True

if process.name = startProcess then processTwo = True

next

if processOne = True and processTwo = false then

os.run startProcessPath

end if

wscript.sleep 500

loop


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

原文地址: http://outofmemory.cn/yw/12359697.html

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

发表评论

登录后才能评论

评论列表(0条)

保存