一、啟動您的authorware4.0或者authorware 5 attain。
二、新建一個文件(authorware會自動把它取名為untitled)。
三、載入所需的函數。
1.單擊快捷工具欄中的“functions”按鈕(或者按快捷鍵“ctrl+shift+f”),打開“functions”對話框。
2.單擊“functions”對話框里“category:”組合框的按鈕,在彈出的列表框中,單擊選中“[untitled]”項。
3.單擊“load...”按鈕,這時會出現一個“load function”對話框。
4.在“文件名(n):”文本框里,輸入“c:/authorware 4/winapi.u32”(這里不要輸入“”),將會彈出“custom functions in winapi.u32”對話框。
5.在函數列表框中,找到并單擊選中“winexec”。
6.單擊“load”按鈕,將函數winexec載入authorware應用程序,出現在“functions”對話框的列表中(實際上,函數并未真正載入應用程序,而只是有一條鏈接被連接到了包含代碼的文件中)。
7.從工具調色板中拖一個計算圖標到流程線上,命名為“調用控制面板”。
8.雙擊打開“調用控制面板”圖標,單擊選中“functions”對話框列表中的“winexec”函數,單擊“paste”按鈕,將“winexec”函數粘貼到計算圖標中(代碼如下)。 winexec( lpcstr lpcmdline, uint ucmdshow )
這里,“winexec”函數的功能是運行規定的應用程序;lpcstr lpcmdline是一個命令行參數,取值為包含命令行的字符串,可以是文件名加上可選的參數;如果文件名不包含路徑,那么windows將按如下次序搜索目錄:
a.當前目錄→b.windows目錄→c.windows系統目錄→d.包含當前任務的可執行文件的目錄→e.由path環境變量所指定的目錄→f.網絡中映射的目錄
uint ucmdshow參數指定如何展示windows應用程序窗口,取值可以是下列整數之一——
0:隱藏窗口并使另一窗口活動,1:激活并正常顯示窗口,2:激活并最小化窗口3:激活并最大化窗口4:以最近的尺寸和位置顯示窗口,但不激活,5:激活并依當前尺寸和位置顯示窗口6:最小化窗口并激活頂層窗口7:最小化窗口,但不激活8:以當前狀態顯示窗口,但不激活,9:激活并顯示窗口、恢復原始尺寸
9.單擊“done”按鈕,關閉“functions”對話框。
四、調用控制面板。
只需將“調用控制面板”圖標中的代碼改為:
winexec("rundll32.exe shell32.dll,control_rundll",1 )
——以上語句的作用,與按下“開始”菜單的“設置→控制面板”完全一樣。
單擊快捷工具欄中的“play”按鈕(或者按快捷鍵“ctrl+r”),運行一下程序,控制面板就乖乖的出來了。在應用程序中,有的時候僅僅調出控制面板來,往往還不能滿足我們的需要。比如說,當我們檢測到用戶的顯示分辨率為640*480,提示他將顯示分辨率改為800*600時,我們更希望能在用戶確認后直截了當的調出控制面板的子功能——顯示器屬性設置。要調用控制面板的子功能,也很容易。
五、調用控制面板的子功能。
以下為您列出了調用控制面板常用的各項子功能的代碼:
輔助工具選項——winexec("rundll32.exe shell32.dll,control_rundll access.cpl",1 )
添加/刪除程序——winexec("rundll32.exe shell32.dll,control_rundll appwiz.cpl",1 )
顯示器屬性——winexec("rundll32.exe shell32.dll,control_rundll desk.cpl",1 )
internet屬性——winexec("rundll32.exe shell32.dll,control_rundll inetcpl.cpl",1 )
區域設置——winexec("rundll32.exe shell32.dll,control_rundll intl.cpl",1 )
游戲控制器——winexec("rundll32.exe shell32.dll,control_rundll joy.cpl",1 )
鼠標——winexec("rundll32.exe shell32.dll,control_rundll main.cpl",1 )
多媒體——winexec("rundll32.exe shell32.dll,control_rundll mmsys.cpl",1 )
調制解調器——winexec("rundll32.exe shell32.dll,control_rundll modem.cpl",1 )
網絡——winexec("rundll32.exe shell32.dll,control_rundll netcpl.cpl",1 )
32位odbc——winexec("rundll32.exe shell32.dll,control_rundll odbccp32.cpl",1 )
口令——winexec("rundll32.exe shell32.dll,control_rundll password.cpl",1 )
電源管理——winexec("rundll32.exe shell32.dll,control_rundll powercfg.cpl",1 )
掃描儀與數字相機屬性——winexec("rundll32.exe shell32.dll,control_rundll sticpl.cpl",1 )
系統——winexec("rundll32.exe shell32.dll,control_rundll sysdm.cpl",1 )
撥號屬性——winexec("rundll32.exe shell32.dll,control_rundll telephon.cpl",1 )
日期/時間——winexec("rundll32.exe shell32.dll,control_rundll timedate.cpl",1 )
與調用控制面板相比,調用控制面板的子功能的代碼只是多了一個 *.cpl。以cpl為擴展名的文件,實際上就是控制面板的子功能程序文件;某些軟件在安裝時,也會安裝自己專用的cpl文件,比如:photoshop的adobe gamma.cpl。
六、調用控制面板內建的子功能。
尋找windows系統目錄中的*.cpl文件之后,您會發現:鍵盤、打印機、字體、輸入法等子功能都沒有對應的*.cpl文件,如何調用這些子功能呢?代碼如下:
鍵盤——winexec("rundll32.exe shell32.dll,control_rundll main.cpl @1",1 )
打印機——winexec("rundll32.exe shell32.dll,control_rundll main.cpl @2",1 )
字體——winexec("rundll32.exe shell32.dll,control_rundll main.cpl @3",1 )
輸入法——winexec("rundll32.exe shell32.dll,control_rundll main.cpl @4",1 )
七、指定起始選項卡。
使用以上方法后,您會發現每一個控制面板的子功能被調用后,起始選項卡一律都停留在第一個選項卡上,可不可以任意指定起始選項卡呢?有兩種情況,舉例說明如下:
對于控制面板*.cpl文件對應的子功能,指定起始選項卡的方法如下:
指定“游戲控制器”起始選項卡為第二個選項卡——winexec("rundll32.exe shell32.dll,control_rundll joy.cpl,,1",1 )
需要注意的是,選項卡一律從0算起。對于控制面板內建的子功能,指定起始選項卡的方法如下:
指定“鍵盤”起始選項卡為第二個選項卡——winexec("rundll32.exe shell32.dll,control_rundll main.cpl @1,1",1 )
由于windows并未規定所有的cpl文件都得遵守上述的參數指定方式,所以,對于某些cpl文件,上述的參數指定方式可能會失效,比如:ie所提供的inetcpl.cpl。
新聞熱點
疑難解答