[分享]細說shell函數——不得不看!

來源:互聯網
上載者:User

 

這篇文章也許有點長,但是絕對值得一看。

shell 是啥?它既不是工作表函數,也不是api函數,更不是殼牌石油。它是vba內建的函數。
但是它卻神通廣大,能抵n個api函數,api是應用程式介面,shell就是應用程式和系統之間的橋樑。
它的用法很簡單,就是執行一個可執行檔。與開始菜單的運行功能一樣。
Shell(pathname[,windowstyle])
pathname 是要執行的程式名,可能還包括目錄或檔案夾
Windowstyle 表示在程式運行時視窗的樣式
具體的說明,請查看vba的協助。

#基本用法
Shell("C:/Program Files/Winamp/Winamp.exe", 1)  給出路徑直接執行某個exe程式。

如果是windows的程式可以直接輸入程式名,如:
Shell "explorer.exe c:", 1     開啟C盤。
Shell "control.exe"      開啟控制台 ,甚至可以簡寫 Shell"control"
shell "control.exe appwiz.cpl"   開啟控制台-添加/刪除程式
Shell "control.exe sysdm.cpl @1"      添加新硬體
Shell "control.exe sysdm.cpl"      系統
Shell "control.exe appwiz.cpl"      添加/刪除程式
Shell "control.exe inetcpl.cpl"      Internet 屬性
Shell "control.exe intl.cpl"      地區設定
Shell "control.exe joy.cpl"      遊戲控制器
Shell "control.exe main.cpl"      滑鼠
Shell "control.exe mmsys.cpl"      多媒體
Shell "control.exe modem.cpl"      數據機
Shell "control.exe netcpl.cpl"      網路
Shell "control.exe Password.cpl"      密碼
Shell "control.exe powercfg.cpl"      電源管理
Shell "control.exe sticpl.cpl"      掃描器與數字像機
Shell "control.exe timedate.cpl"      日期/時間
Shell "control.exe telephon.cpl"      拔號網路
Shell "control.exe odbccp32.cpl"      OBDC 資料來源管理器
Shell "control.exe desk.cpl"     顯示
Shell "calc.exe"   計算機
Shell "mspaint.exe"   畫圖
..............

shell函數本身並不強大,就像劉邦,是他手下的人厲害。
shell函數有幾個幫手
1、cmd.exe
cmd能夠執行幾乎所有的dos命令,想想dos有多少命令把,shell都可以實現。
Shell "cmd.exe"       開啟cmd視窗
Shell "cmd.exe /c copy c:/1.txt d:/"  把c盤的1.txt檔案複製到d盤。
Shell "cmd.exe /c ping 127.0.0.1" ping ip
Shell "cmd.exe /c del c:/1.txt"  刪除1.txt
................

還有很多命令,可以在cmd視窗輸入help查看。
cmd後面的/c 是啥?
/C 執行字串指定的命令然後終斷
/K 執行字串指定的命令但保留
/S 在 /C 或 /K 後修改字串處理(見下)
/Q 關閉回應
/D 從註冊表中停用執行 AutoRun 命令(見下)
/A 使向內部管道或檔案命令的輸出成為 ANSI
/U 使向內部管道或檔案命令的輸出成為 Unicode
/T:fg 設定前景/背景顏色(詳細資料,請見 COLOR /?)
/E:ON 啟用命令擴充(見下) /E:OFF 停用命令擴充(見下)
/F:ON 啟用檔案和目錄名稱完成字元 (見下)
/F:OFF 停用檔案和目錄名稱完成字元(見下)
/V:ON 將 c 作為定界符啟動延緩環境變數擴充。如:
/V:ON 會 允許 !var! 在執行時允許 !var! 擴充變數 var。
var 文法 在輸入時擴充變數,這與在一個 FOR 迴圈內不同。
/V:OFF 停用延緩的環境擴充。

具體的說明可以cmd視窗輸入cmd /? ,然後一路斷行符號。

2、Rundll32.exe
這個幫手不得了,功能太強了。
所謂Rundll,run就是運行,dll是動態連結程式庫,所以他的功能就是運行那些不能作為程式
單獨啟動並執行DLL檔案。Rundll32.exe則用來運行32位DLL檔案,Windows 98代碼夾雜著16位和32位,
所以同時具有Rundll32.exe和Rundll.exe兩個程式。Windows 2000/XP都是NT核心系統,
其代碼都是純32位的,所以在這兩個系統中,就沒有rundll.exe這個程式。
在system32目錄下,有很多dll檔案,每個dll裡又有很多的命令參數。
常見命令及參數:
命令: rundll32.exe shell32.dll,Control_RunDLL
功能: 顯示控制台
命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1
功能: 顯示“控制台-輔助選項-鍵盤”選項視窗
命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2
功能: 顯示“控制台-輔助選項-聲音”選項視窗
命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3
功能: 顯示“控制台-輔助選項-顯示”選項視窗
命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4
功能: 顯示“控制台-輔助選項-滑鼠”選項視窗
命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5
功能: 顯示“控制台-輔助選項-傳統”選項視窗
命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1
功能: 執行“控制台-添加新硬體”嚮導。
命令: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter
功能: 執行“控制台-添加新印表機”嚮導。
命令: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1
功能: 顯示 “控制台-添加/刪除程式-安裝/卸載” 面板。
命令: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2
功能: 顯示 “控制台-添加/刪除程式-安裝Windows” 面板。
命令: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3
功能: 顯示 “控制台-添加/刪除程式-啟動盤” 面板。
命令: rundll32.exe syncui.dll,Briefcase_Create
功能: 在案頭上建立一個新的“我的公事包”。
命令: rundll32.exe diskcopy.dll,DiskCopyRunDll
功能: 顯示複製磁碟片視窗
命令: rundll32.exe apwiz.cpl,NewLinkHere %1
功能: 顯示“建立捷徑”的對話方塊,所建立的捷徑的位置由%1參數決定。
命令: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0
功能: 顯示“日期與時間”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,1
功能: 顯示“時區”選項視窗。
命令: rundll32.exe rnaui.dll,RnaDial [某個撥號連線的名稱]
功能: 顯示某個撥號連線的撥號視窗。如果已經撥號連線,則顯示目前的串連狀態的視窗。
命令: rundll32.exe rnaui.dll,RnaWizard
功能: 顯示“建立撥號連線”嚮導的視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0
功能: 顯示“顯示內容-背景”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1
功能: 顯示“顯示內容-螢幕保護裝置”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2
功能: 顯示“顯示內容-外觀”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3
功能: 顯示顯示“顯示內容-屬性”選項視窗。
命令: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL FontsFolder
功能: 顯示Windows的“字型”檔案夾。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
功能: 同樣是顯示Windows的“字型”檔案夾。
命令: rundll32.exe shell32.dll,SHformatDrive
功能: 顯示格式化磁碟片對話方塊。
命令: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,0
功能: 顯示“控制台-遊戲控制器-一般”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,1
功能: 顯示“控制台-遊戲控制器-進階”選項視窗。
命令: rundll32.exe mshtml.dll,PrintHTML (HTML文檔)
功能: 列印HTML文檔。
命令: rundll32.exe shell32.dll,Control_RunDLL mlcfg32.cpl
功能: 顯示Microsoft Exchange一般選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @0
功能: 顯示“控制台-滑鼠” 選項 。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1
功能: 顯示 “控制台-鍵盤屬性-速度”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,1
功能: 顯示 “控制台-鍵盤屬性-語言”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @2
功能: 顯示Windows“印表機”檔案夾。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
功能: 顯示Windows“字型”檔案夾。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @4
功能: 顯示“控制台-IME屬性-IME”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add
功能: 執行“添加新數據機”嚮導。
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0
功能: 顯示“控制台-多媒體屬性-音頻”屬性頁面。
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,1
功能: 顯示“控制台-多媒體屬性-視頻”屬性頁面。
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,2
功能: 顯示“控制台-多媒體屬性-MIDI”屬性頁面。
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,3
功能: 顯示“控制台-多媒體屬性-CD音樂”屬性頁面。
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,4
功能: 顯示“控制台-多媒體屬性-裝置”屬性頁面。
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1
功能: 顯示“控制台-聲音”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl
功能: 顯示“控制台-網路”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL odbccp32.cpl
功能: 顯示ODBC32資料管理選項視窗。
命令: rundll32.exe shell32.dll,OpenAs_RunDLL {drive:/path/filename}
功能: 顯示指定檔案(drive:/path/filename)的“開啟檔案”對話方塊。
命令: rundll32.exe shell32.dll,Control_RunDLL password.cpl
功能: 顯示“控制台-密碼”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl
功能: 顯示“控制台-電源管理屬性”選項視窗。
命令: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL  PrintersFolder
功能: 顯示Windows“印表機”。(同rundll32.exe shell32.dll,Control_RunDLL  main.cpl @2)
命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0
功能: 顯示“控制台-地區設定屬性-地區設定”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,1
功能: 顯示“控制台-地區設定屬性-數字”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,2
功能: 顯示“控制台-地區設定屬性-貨幣”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,3
功能: 顯示“控制台-地區設定屬性-時間”選項視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,4
功能: 顯示“控制台-地區設定屬性-日期”選項視窗。
命令: rundll32.exe desk.cpl,InstallScreenSaver [螢幕保護裝置檔案名稱]
功能: 將指定的螢幕保護裝置檔案設定為Windows的屏保,並顯示螢幕保護裝置屬性視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0
功能: 顯示“控制台-系統屬性-傳統”屬性視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1
功能: 顯示“控制台-系統屬性-裝置管理員”屬性視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2
功能: 顯示“控制台-系統屬性-硬體設定檔”屬性視窗。
命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3
功能: 顯示“控制台-系統屬性-效能”屬性視窗。
命令: rundll32.exe user.exe,restartwindows
功能: 強行關閉所有程式並重啟機器。
命令: rundll32.exe user.exe,exitwindows
功能: 強行關閉所有程式並關機。
命令: rundll32.exe shell32.dll,Control_RunDLL telephon.cpl
功能: 顯示“撥號屬性”選項視窗
命令: rundll32.exe shell32.dll,Control_RunDLL themes.cpl
功能: 顯示“案頭主旨”選項面板
。。。。。。。。。。
還有很多,光shell32.dll裡就有好幾百個參數,到system32目錄下看看有多少dll,你會瘋的,呵呵。
是不是覺得微軟太BT了,哈哈,蓋茨可不是蓋的,要不人家咋成首富捏!

是不是想知道這些參數從哪裡看呢?別集,往下看。
下面隆重為大家推薦一個相當牛×的軟體——eXeScope,相信有不少人都用過他把。
這個軟體很小,只有500k,但是功能卻非常強大,能在沒有資源檔的情況下分析、顯示不同的資訊,
重寫可執行檔的資源,包括(EXE,DLL,OCX)等,享有”軟體手術刀“的美名。
他的用途說上三天三夜也說不完,下面我就簡單為大家介紹一下,你可以到網上搜尋更多的內容。

第一大功能:漢化軟體
不可思議把,是不是覺得漢化軟體是很高深的東西,區區一個小軟體居然能辦到?是的,我也沒辦法。
第二大功能:自訂軟體
大部分的軟體,你都可以用eXeScope來自訂,包括windows的所有軟體,如IE等。
如果你覺得軟體的某個菜單、表徵圖、快速鍵不爽,你都可以自己改,可以改的面目全非,極具個人化。
你可以把QQ的等級改成50個太陽(只能自己看),呵呵。你可以把企鵝換成雞、鴨甚至豬頭。
看啥不爽你就改啥!我的軟體我作主!
第三大功能:處理dll、ocx等檔案
你可以直接用eXeScope開啟dll或ocx檔案,並對其進行修改。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.