線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1628
推到 Plurk!
推到 Facebook!

進行電話撥號屬性的設置

 
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-29 16:16:21 IP:61.221.xxx.xxx 未訂閱
此為轉貼資料 http://www.albertzhang.freeservers.com/delphi_tip21_2.htm 21.2. Deal with the control panel. ---- 應用程式運行時,有時需要對系統環境有特殊要求。例如,在Delphi資料庫應用程式中可能需要進行 BDE(Borland Database Engine)或ODBC資料源名稱(DSN:Data Source Name)的設置;在網路應用程式中可能需要進行網路配置設置、Modem屬性設置或用戶撥號連接的帳號和密碼的設置並保存在系統中;在 CTI(Computer-Telephony Integration )應用程式中可能需要進行電話撥號屬性的設置;在遊戲程式中可能需要對多媒體或遊戲控制器進行設置;等等。這時候就需要改變Windows系統的環境設置,以適應應用程式正常運行的要求。當應用程式不能自行進行環境設置時,可能需要軟體用戶來參與、協助完成設置。 ---- Win9X/NT的大多數系統設置是在控制面板中進行的。我們可以要求用戶自己打開控制面板尋找相應的專案進行設置,此時要求用戶對控制面板相當熟悉;也可以在程式中自動爲用戶打開控制面板並選擇相應的專案,此時用戶所做的只是進行設置。後一種方法無疑更具有友好性,更能提高用戶的工作效率。 ---- 控制面板的大多數專案設置,都對應Windows的System目錄下的一個CPL文件,如“Internet”屬性對應的文件爲InetCpl.cpl、“多媒體”屬性對應的文件爲MmSys.cpl等。通過調用這些文件可以打開相應的屬性設置視窗,甚至可以跳到相應的屬性頁如“Internet”屬性的“連接”屬性頁,有效減少軟體用戶的操作步驟。 ---- CPL文件的調用格式爲“RunDLL32.exe Shell32.dll,Control_RunDLL CPLFile.cpl,,ItemNo”(可參見註冊表中HKEY_CLASSES_ROOT\cplfile\shell\cplopen\command的預設值),其中CPLFile.cpl爲CPL文件, ItemNo爲專案編號。在Delphi程式中,可以用WinExec或CreateProcess函數來實現CPL文件調用,從而實現對控制面板的設置專案的調用。如進行撥號連接的帳號和密碼設置要調用“Internet”屬性的“連接”屬性頁,可以用語句 “WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL InetCpl.cpl,,3',, SW_SHOWNORMAL);”; ---- 解決2000年問題中對兩位年份輸入的解釋要調用“區域設置”的“日期”屬性頁,可以用語句: “WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Intl.cpl,,4',, SW_SHOWNORMAL);”。 ---- 控制面板各專案設置調用所對應的語句列表如下: //打開控制面板 WinExec('RunDLL.exe Shell32.DLL, Control_RunDLL',SW_SHOWNORMAL); //32位元ODBC資料源管理器,ODBC資料源、ODBC驅動程式設置 //沒有提供參數區分“用戶DSN”“系統DSN” “文件DSN”“ODBC驅動程式” “跟蹤”“關於”六個屬性頁 WinExec('RunDLL32.exe Shell32.dll, Control_RunDLL ODBCCP32.CPL',SW_SHOWNORMAL); //BDE Adminstrator //沒有提供參數區分“Databases”和“Configuration”兩個屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL BdeAdmin.CPL',SW_SHOWNORMAL); //Internet 屬性,可有ItemNo參數 //“常規”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL InetCpl.cpl,,0', SW_SHOWNORMAL); //“安全”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL InetCpl.cpl,,1', SW_SHOWNORMAL); //“內容”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL InetCpl.cpl,,2', SW_SHOWNORMAL); //“連接”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL InetCpl.cpl,,3', SW_SHOWNORMAL); //“程式”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL InetCpl.cpl,,4', SW_SHOWNORMAL); //“高級”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL InetCpl.cpl,,5', SW_SHOWNORMAL); //電話撥號屬性,沒有提供參數區分“我的位置”和 “電話語音驅動程式”兩個屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Telephon.cpl', SW_SHOWNORMAL); //電源管理設置,沒有提供參數區分 “電源方案”和“高級”兩個屬性頁 WinExec('RunDLL32.exe Shell32.dll, Control_RunDLL PowerCfg.cpl', SW_SHOWNORMAL); //數據機設置,沒有提供參數區分 “常規”和“診斷”兩個屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control _RunDLL Modem.cpl', SW_SHOWNORMAL); //多媒體設置,可有ItemNo參數 //“音頻”屬性頁 WinExec('RunDLL32.exe Shell32.dll, Control_RunDLL Mmsys.cpl,,0', SW_SHOWNORMAL); //“視頻”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_ RunDLL Mmsys.cpl,,1', SW_SHOWNORMAL); //“MIDI”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_ RunDLL Mmsys.cpl,,2', SW_SHOWNORMAL); //“CD音樂”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_ RunDLL Mmsys.cpl,,3', SW_SHOWNORMAL); //“設備”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Mmsys.cpl,,4', SW_SHOWNORMAL); //輔助選項設置,可有ItemNo參數 //“鍵盤”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL access.cpl,,1',SW_SHOWNORMAL); //“聲音”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL access.cpl,,2', SW_SHOWNORMAL); //“顯示”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL access.cpl,,3', SW_SHOWNORMAL); //“滑鼠”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL access.cpl,,4', SW_SHOWNORMAL); //“常規”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL access.cpl,,5', SW_SHOWNORMAL); //密碼設置,沒有提供參數區分“更改密碼”和 “修改用戶配置”兩個屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Password.cpl', SW_SHOWNORMAL); //區域設置,可有ItemNo參數 //“區域設置”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Intl.cpl,,0', SW_SHOWNORMAL); //“數位”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Intl.cpl,,1', SW_SHOWNORMAL); //“貨幣”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Intl.cpl,,2', SW_SHOWNORMAL); //“時間”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Intl.cpl,,3', SW_SHOWNORMAL); //“日期”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Intl.cpl,,4', SW_SHOWNORMAL); //日期/時間設置,可有ItemNo參數 //“日期和時間”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL TimeDate.cpl,,0', SW_SHOWNORMAL); //“時區”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL TimeDate.cpl,,1', SW_SHOWNORMAL); //滑鼠設置,沒有提供參數區別“按鈕”、 “指標”和“移動”三個屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Main.cpl', SW_SHOWNORMAL); //添加/刪除程式設置,可有ItemNo參數 //“安裝/卸載”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL AppWiz.cpl,,1', SW_SHOWNORMAL); //“Windows安裝程式”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL AppWiz.cpl,,2', SW_SHOWNORMAL); //“啓動盤”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL AppWiz.cpl,,3', SW_SHOWNORMAL); //網路設置,沒有提供參數區別“配置”、 “標識”和“訪問控制”三個屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL NetCpl.cpl', SW_SHOWNORMAL); //系統設置, //“常規”屬性頁, 可有ItemNo參數 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL SysDm.cpl,,0', SW_SHOWNORMAL); //“設備管理器”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL SysDm.cpl,,1', SW_SHOWNORMAL); //“硬體配置文件”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL SysDm.cpl,,2', SW_SHOWNORMAL); //“性能”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL SysDm.cpl,,3', SW_SHOWNORMAL); //顯示設置, 可有ItemNo參數 //“背景”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL desk.cpl,,0', SW_SHOWNORMAL); //“螢幕保護程式”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL desk.cpl,,1', SW_SHOWNORMAL); //“外觀”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL desk.cpl,,2', SW_SHOWNORMAL); //“設置”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL desk.cpl,,3', SW_SHOWNORMAL); //遊戲控制器設置,可有ItemNo參數 //“一般”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Joy.cpl,,0', SW_SHOWNORMAL); //“高級”屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL Joy.cpl,,1', SW_SHOWNORMAL); //掃描器與數位相機設設置,沒有提供參數區分 “設備”和“記錄設置”兩個屬性頁 WinExec('RunDLL32.exe Shell32.dll,Control_RunDLL StiCpl.cpl', SW_SHOWNORMAL); ********************************************************* 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together! 希望能大家敞開心胸,將知識寶庫結合一起
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
系統時間:2024-04-19 7:09:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!