a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Delphi > 正文

在Delphi程序中調用控制面板設置功能

2019-11-18 18:56:12
字體:
來源:轉載
供稿:網友
 應用程序運行時,有時需要對系統環境有特殊要求。例如,在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_ROOTcplfileshellcplopencommand的默認值),其中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);

  以上程序在PWIN98+DELPHI3.0下調試通過.


上一篇:在delphi把字符串分割成一維數組

下一篇:在DELPHI程序中使用ADO對象存取ODBC

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 日韩精品一二三区 | 欧美日韩精品中文字幕 | 免费的黄色毛片 | 欧美午夜视频 | 国产激情美女久久久久久吹潮 | 久久99久久精品视频 | 石原莉奈一区二区三区免费视频 | 欧美一区二区精品 | www.99re| 亚洲精彩视频在线观看 | 国内精品国产成人国产三级粉色 | 中文字幕在线观看2021 | 一区二区不卡在线观看 | 欧美日韩中文字幕 | 91亚洲国产 | 97中文字幕| 欧美一区永久视频免费观看 | 精品一二三 | 国产伦精品一区二区三区电影 | 国产美女精品人人做人人爽 | 久国产精品视频 | 在线看免费观看日本 | 中文字幕精品一区久久久久 | 曰本少妇色xxxxx日本妇 | 91激情视频 | 日韩不卡 | 97精品超碰一区二区三区 | 国产传媒在线观看 | 99精品亚洲国产精品久久不卡 | 婷婷激情综合 | 免费在线亚洲 | 国产色99精品9i | 久色视频在线观看 | 成人午夜视频在线观看 | 日韩av成人在线 | 亚洲精品一区二区三区蜜桃久 | 成人久久久精品乱码一区二区三区 | 国产免费一区二区三区网站免费 | 久久九九| 久久久精 | 精品影视 |