們都知道,在windows系統中,資源是非常寶貴的,如果資源不足,輕則程序運行變慢(最常見的現象),重則會無法啟動程序,尤其是多媒體程序一般運行時對系統資源占用率比較高,怎樣使多媒體程序獲得最多的系統資源就成為一個迫待解決的問題。
其實我們可以通過封鎖系統鍵和隱藏任務欄的方法來解決這個問題,因為一旦封鎖了系統鍵并隱藏了任務欄,用戶就再也無法啟動其它程序或切換到已經運行的程序,從而保證了系統資源的最大限度的應用。
下面就以macromedia 公司的招牌多媒體創作軟件authorware為例介紹封鎖系統鍵和隱藏任務欄的方法,并在程序的最后給出恢復的方法:
(1)新建一個文件,文件名為sample.a4p;
(2)放置一計算圖標于流程線上;
(3)按ctrl+shift+f鍵,打開function窗口;
(4)選擇sample.a4p,點擊load鈕,打開winapi.u32文件(這個動態庫在authorware安裝后就已經有了,也可以從http://www.macromedia.com上下載),并引入其中的systemparametersinfo()、findwindow和setwindowpos()三個函數;
(5)雙擊計算圖標,在里面寫上:
systemparametersinfo(97,1,1,1)--屏蔽鍵盤所有功能鍵;
wnd:=findwindow("shell_traywnd","")--捕捉任務欄窗口;
setwindowpos(wnd,0,0,0,0,0,128)--隱藏任務欄窗口;
(6)在程序的退出處放置一計算圖標,雙擊計算圖標,在里面寫上:
systemparametersinfo(97,0,1,1)--恢復鍵盤所有功能鍵;
wnd:=findwindow("shell_traywnd","")--捕捉任務欄窗口;
setwindowpos(wnd,0,0,0,0,0,64)--顯示任務欄窗口;
我們還可以在運行程序前,通過windows api函數捕捉所有的窗口,獲得窗口的句柄,然后再向它們依次發送mw_quit消息,這樣就可以在運行程序之前,關閉所有正在運行的程序,從而釋放出更多的資源給您的多媒體產品(這對其它的windows程序來說是不公平的!)
您也可以在程序一開始出示一對話框,詢問用戶是否需要讓您的多媒體程序獲得盡量多的系統資源,得到用戶的允許后再關閉其它程序,也許這樣做會更好一點兒!