關鍵的思路是用程序間通信(這個很復雜),或者程序間互相調用(這個很簡單,也是我回答中用的方法)
例如
圖形界面的Vbs
文件名為gui.vbs(為了互相調用,最終的可執行文件要放在同壹個目錄下)。
set oArgs=wscript.arguments
set wsh shell = CreateObject(" WScript。外殼”)
暗淡n2
如果?奧爾格斯。那麽計數=0
n2=InputBox("輸入2個數字" & ampchr(13)“像這樣”& ampchr(13)“22 12”,“求兩個數的最大公因數”)
如果不是(isempty(n2)),則
“msgbox”即將運行“&;chr(13)& amp;cli.exe " " & amp;n2 & amp"""
在哪裏調用對方是程序調試的重點。
wsh shell . run " CLI . exe " " " & amp;氮氣和氮氣。" " " " " 0,真
如果…就會結束
其他
a = msgbox(oargs(0)& amp;“他”&;oargs(1)和amp“被發現”的最大公約數是“&;chr(13)oargs(2)和amp”& ampchr(13)“繼續?”,vbYesNo)
如果vbyes= a,則
wshshell.run "gui.vbs ",1,true
如果…就會結束
如果…就會結束
set oArgs=Nothing
Cli.c基礎代碼
//文件名:cli.c編譯成cli.c,與gui.vbs放在同壹個目錄
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
int main(int argc,char**argv){
長c,a,b,oa,ob;
char s[30];
if(argc & lt;2)返回1;
sscanf(argv[1]," %ld%ld ",& amp壹,& ampb);
OA = a;ob = b;
如果(a & gtb){ c = a;a = b;b = c;}
而(b!=0){
c = a;
a = b;
b = c % b
}
sprintf(s," gui %ld %ld ",oa,ob,a);
printf("gui %ld %ld %ld\n%s ",oa,ob,a,s);
系統;
返回0;
}
將cli.c編譯到cli.c到當前目錄,然後用記事本將gui.vbs輸入到當前目錄(以c:\users\john\vbs為例)(可以復制代碼)。
如圖(最後點擊gui.vbs,算法部分用c實現,用sscanf和argv接收vbs的“輸入”,經過壹次計算,系統回調gui.vbs,輸出結果;執行不帶參數的gui.vbs。打開輸入框。如果有參數,根據代碼輸出。)