能的;
思路关键是要使用程序间通信(这个是很复杂的), 或者是程序间互相调用(这个很简单,也是我的回答所用的方法)
e.g.
图形界面用vbs
文件名叫: gui.vbs (为了它们可以相互调用,应该把最终可执行文件放在同一个目录下)
set oArgs=wscript.arguments
set WshShell = CreateObject("WScript.Shell")
dim n2
if oArgs.Count=0 then
n2=InputBox("Enter 2 numbers "&chr(13)&"like this"&chr(13)&"22 12","求两数的最大公因数")
if not(isempty(n2)) then
'msgbox "即将运行"&chr(13)&"cli.exe """ &n2 &""""
'相互调用的地方是程序调试的重点哦
wshshell.run "cli.exe """ &n2 &"""",0,true
end if
else
a = msgbox ( oargs(0) &"和"&oargs(1) &"的最大公因数经计算发现是:" &chr(13) &oargs(2) &" "&chr(13) &"继续?" , vbYesNo)
if vbyes= a then
槐困 wshshell.run "gui.vbs",1,true
end if
end if
set oArgs=Nothing
cli.c底层代码
//文件名: cli.c 编译到cli.exe,放在与gui.vbs相同的目录下的
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char**argv){
long c,a,b,oa,ob
char s[30]
if (argc <2 ) return 1
sscanf(argv[1],"%ld%ld",&a,&b)
oa=aob=b
if (a>b){c=aa=bb=c}
while(b!=0){
c=a
a=b
b=c%b
}
sprintf(s,"gui %ld %ld %ld",oa,ob,a)
printf("gui %ld %ld %ld\n%s",oa,ob,a,s)
system(s)
return 0
}
编译cli.c到cli.exe到当前目录,再用记事本输入gui.vbs到当前目录(以c:\users\john\vbs为例)(可以拷贝代码哪蠢)
如图(最后点击gui.vbs就可以用了,算法部分由c实现,使用sscanf和argv两个东东接收vbs的”输入“,经过一通计算,最后通过system调用回gui.vbs,输出结果;没有参数的执行gui.vbs打开输入框,有参数,就按照代码李明陪输出它们)
具体步骤如下:
第一,在具有语法着色功能的文本编辑器界面中点击语言下拉菜单,然后从中选择VB或VBS代码;
第二,创建一个文本文件,或者利用文本编辑器编写VBS代码;
第三,点击文件段物敬中另存为菜单项,从d出的另存为窗口中将保存握慎类型选择为Alltypes,然后输入文件名点击保存按钮;
第四,保存后将会自动在对应目录中生成相应文件,双击该文件,然后从d出的窗口中输入内容,点击确定蚂袭按钮即可显示对应的d出窗口。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)