一. 調(diào)用系統(tǒng)“創(chuàng)建快捷方式”向?qū)?
是否為VB不支持創(chuàng)建快捷方式而于著急呢?雖然 您可以調(diào)用vb5stkit.Dll中的fCreateShellLink函 數(shù),但它是為安裝程序設(shè)計(jì)的,快捷方式的默認(rèn)路徑 總是從當(dāng)前用戶(hù)的“\Start Menu\Programs”開(kāi)始,也 就是說(shuō),如果您的Windows95裝在C盤(pán)上,您無(wú)法通過(guò) fCreateShellLink函數(shù)把快捷方式創(chuàng)建到D盤(pán)上去。
現(xiàn)在,給大家介紹一種極為方便、巧妙的方法: 用Shell語(yǔ)句調(diào)用系統(tǒng)“創(chuàng)建快捷方式”向?qū)А?
新建一個(gè)項(xiàng)目,在窗體上放一個(gè)按鈕,雙擊此按 鈕,加入以下代碼:
Private Sub Command1_Click()
Open App.Path & "/temp.lnk" For Output As #1
Close #1 '以上兩句在程序所在目錄建立一 個(gè)臨時(shí)文件
Shell "Rundll32.exe AppWiz.Cpl,NewLinkHere
"& App.Path & "/temp.lnk"
End Sub
?。ㄗ⒁猓篠hell語(yǔ)句中NewLinkHere后面跟著一個(gè) 空格才是引號(hào),否則將出錯(cuò)。)
運(yùn)行程序,按一下命令按鈕,怎么樣?“創(chuàng)建快 捷方式”向?qū)С霈F(xiàn)了,如果創(chuàng)建成功,快捷方式將取 代臨時(shí)文件temp.lnk的位置,如果選取消,temp.lnk 也會(huì)自動(dòng)消失。當(dāng)然,您可以在硬盤(pán)的任意位置建立 temp.lnk。好,現(xiàn)在又可以為您的程序增添一項(xiàng)新功 能了。Enjoy!
二. Rundll32.exe的用途
我們知道,用Shell語(yǔ)句只能調(diào)用可執(zhí)行文件,即 exe、com、bat和pif文件,有時(shí)我們想要調(diào)用其他一 些系統(tǒng)功能該怎么辦呢?此時(shí),Windows提供的 Rundll32.exe可大顯身手了。下面我們來(lái)認(rèn)識(shí)一下這 些用法,也許會(huì)給您帶來(lái)一點(diǎn)驚喜。
1.要打開(kāi)設(shè)置系統(tǒng)時(shí)間的控制面板文件 (Timedate.cpl),只需運(yùn)行如下代碼:
Shell "Rundll32.exe
Shell32.dll,Control_RunDLL Timedate.cpl"
至于打開(kāi)其他控制面板文件,相信您一定能夠舉 一反三,嘗試一下,換個(gè)文件名就成了。
2.要運(yùn)行某一快捷方式(*.lnk)則可以用以下 代碼:
She11 "Rundll32.exe url.dll, FileProtocolHandler X" (X代表要運(yùn)行的文件,包括 路徑,下同。
3. 也可以這樣寫(xiě)來(lái)打開(kāi)ActiveMovie控制:
Shell "RUNDLL32.EXE amovie.ocx,Rundll",1
而用Shell "RUNDLL32.EXE amovie.ocx,Rundll /play X",1 將直接播放媒體文件。
4. Shell "rundll32.exe desk.cpl,InstallScreenSaver X”當(dāng)然是安裝屏幕保 護(hù)啦,如果你寫(xiě)了一個(gè)屏幕保護(hù)程序,那么可以在安 裝程序中寫(xiě)上它,而不一定要裝到system目錄下。順 便提一下,VB不是自撈一個(gè)“Application Setup Wizard”么?它的VB源代碼都在安裝目錄下的 “/setupkit/setup1”中放著呢,好好把它研究一下。 你完全能做出富有個(gè)性的安裝程序來(lái)。
5.按住shift鍵,右擊某一文件,菜單中會(huì)出現(xiàn) “打開(kāi)方式”選項(xiàng),這也許已不是什么秘密。但現(xiàn)在, 用shell "rundll32.exe shell32.dll OpenAs_RunDLL X" 便能直接調(diào)用“打開(kāi)方式”框。
6. 甚至能用這樣一句來(lái)打印文件(包括HTML所 支持的所有文本與圖像格式):
Shell "rundll32.exe MSHTML.DLL,PrintHTML X”, 1
怎么樣?是不是小有收獲呢?這下,您一定會(huì)對(duì) Rundll32.exe這個(gè)平時(shí)不起眼的文件另眼相待了,它 可是系統(tǒng)運(yùn)行必不可少的部件呢!其實(shí) Shell+Rundll32還能調(diào)用其他許多系統(tǒng)功能,比如關(guān) 于NetMeeting和Telnet方面的。如果您有興趣,可以 到往冊(cè)表的“我的電腦\HKEY_CLASSES_ROOT\”或“我 的電腦/HKEY_LOCAL_MACHINE/Software/CLASSES”下 去看看,本文的內(nèi)容大都是從那里“抄”來(lái)的。只要 有足夠的決心、信心、耐心,您一定能發(fā)現(xiàn)更多有價(jià) 值的東西。Good luck!中國(guó)教程在線,http://www.
|
|