比如我們自動啟動啟動ie 打開百度網站,打開cmd 命令列 并輸入要命令,這些自動化的操作 需要啥技術來撰寫 ,我想做個小程式來自動啟動一些作業需要的應用。
uj5u.com熱心網友回復:
我知道應該使用的bat檔案吧,需要寫腳本uj5u.com熱心網友回復:
你如果要用IE打開網頁,用DOS命令的話,這樣就行了:"C:\Program Files\Internet Explorer\iexplore.exe" www.baidu.com
uj5u.com熱心網友回復:
也就是,把那句命令寫到 .bat 或者 .cmd 檔案中,都可以。uj5u.com熱心網友回復:
如果你想用VB實作呼叫外部命令或程式,VB提供了 Shell 函式,用法:Shell "cmd ping 127.0.01 /p"
shell 還支持一個引數,就是是否顯示呼叫的命令,是否顯示呼叫的程式并激活視窗等
當然,系統API中還提供了一個更為智能的API函式可供VB觸發外部程式的呼叫,那就是ShellExecute
用法是:
ShellExecute 0,"OPEN","命令路徑","命令引數","命令初始化路徑",5
第一個引數 0 的位置是指定父視窗句柄,如果沒有父視窗,可設定為 0,表示桌面為父視窗
第二個引數 "OPEN",其實支持的不單是這個引數,這只是指定系統打開指定檔案的選項,還支持
runas、print、edit、explore、find等,不過呼叫外部檔案用open就可以了。
最后一個引數 5 表示用最近的大小和位置顯示并激活呼叫程式的主視窗,你也可以設定為0隱藏呼叫的程式執行界面
例子:
ShellExecute 0,"OPEN","notepad.exe","c:\windows\system.ini","c:\windows",5
這樣就可以用記事本打開系統目錄下的system.ini檔案
之所以說是更為智能的介面,那是因為這個API支持檔案的打開,甚至可以不指定應用程式打開檔案,如:
ShellExecute 0,"OPEN","c:\windows\system.ini","","c:\windows",5
這樣直接不帶引數的把要打開的目標檔案寫入打開目標,那么系統會根據ini檔案關聯自己選擇應用程式打開該檔案。
說到這里就可以想像一下,如果在打開的目標輸入的是網址會是什么現象?
結果肯定會不出意料的呼叫出系統默認瀏覽器打開網址,如:
ShellExecute 0,"OPEN","http://www.baidu.com","","c:\windows",5
如果你有一系列的外部命令需要依次執行,那有個簡單的做法就是批處理。
你可以用VB的Open陳述句寫入要執行的檔案到批處理檔案中,
然后再用Shell 函式或ShellExecute API 來呼叫這個批處理檔案就可以了。
如:
Open "C:\tmp.bat" For Output #1
print #1,"md c:\test"
print #1,"copy c:\windows\system.ini c:\test\."
print #1,"del c:\tmp.bat" ' 這里是處理完把自己洗掉
close #1
Shell "C:\tmp.bat",5
當然,這樣的方法操作多了會對硬碟造成微弱的損傷,不過好在處理簡單。
其實還可以用監測等待Shell或ShellExecute完成的方法實作這種程序,不過稍微復雜點,不過也就是6-7行代碼到十多行代碼的事情,只是基本都用API實作,如果你有興趣可以自己搜搜看看。
uj5u.com熱心網友回復:
一般情況用shell就夠了比較特殊的情況用ShellExecute
uj5u.com熱心網友回復:
BAT,VBS,只要敢想。uj5u.com熱心網友回復:
盡量去試試其他的方法uj5u.com熱心網友回復:
推薦樓主使用軟體autoruns轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/79554.html
標籤:API
