




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.什么是按鍵精靈的插件按鍵精靈的插件是由按鍵精靈官方或用戶自己提供的一種功能擴(kuò)展。由于按鍵精靈本身只提供腳本制作過(guò)程中最常用的功能,而不可能面面俱到。所以,如果您稍懂一點(diǎn)VisualC++編寫(xiě)程序的知識(shí),就可以通過(guò)自己寫(xiě)按鍵精靈插件,實(shí)現(xiàn)比較特殊、高級(jí)的功能,如文件讀寫(xiě)、注冊(cè)表訪問(wèn),等等。如果您愿意,還可以把自己寫(xiě)的插件提交給我們,我們可以在按鍵精靈的最新版中捆綁您編寫(xiě)的插件,和大家共同分享您的智慧!按鍵精靈的插件是通過(guò)動(dòng)態(tài)鏈接庫(kù)(DLL)的形式提供的。這些動(dòng)態(tài)鏈接庫(kù)必須滿足一定的規(guī)范,并且放在按鍵精靈所在路徑的plugin文件夾下。在按鍵精靈啟動(dòng)的時(shí)候,會(huì)自動(dòng)加載plugin文件夾下的每個(gè)插件。每個(gè)插件可以包含多個(gè)“命令”,每個(gè)命令則可以看作是一個(gè)獨(dú)立的函數(shù)或者子程序。比如我們提供的文件相關(guān)操作插件 File.dl1,就提供了ExistFile(判斷文件是否存在)、CopyFile(復(fù)制一個(gè)文件)、DeleteFile(刪除一個(gè)文件)等多個(gè)命令。目前按鍵精靈的插件只能使用VisualC++編寫(xiě)。您不需要懂得很高深的VisualC++編程技巧,也不需要知道插件的技術(shù)細(xì)節(jié)。因?yàn)槲覀円呀?jīng)提供了一個(gè)“模板”插件,您只需要在這個(gè)模板上按照下文所述的步驟進(jìn)行一點(diǎn)點(diǎn)修改,一個(gè)屬于您自己的插件就完成了。我們推薦您使用VisualC++6.0,也可以用VisualC++.NET。值得說(shuō)明的是,由于技術(shù)原因,按鍵精靈的插件目前還不能用VisualBasic、Delphi.JBuilder等常見(jiàn)的開(kāi)發(fā)工具編寫(xiě)。但是有聰明的用戶使用VBScript腳本和ActiveXDLL的形式,同樣實(shí)現(xiàn)了按鍵精靈的功能擴(kuò)展,典型的例子如Ringfo大蝦制作的QMBoost等等。嚴(yán)格說(shuō)來(lái),這種功能擴(kuò)展不能稱為按鍵精靈的插件,但是我們同樣歡迎這種類型的功能擴(kuò)展。2.如何制作一個(gè)插件準(zhǔn)備動(dòng)手為按鍵精靈寫(xiě)一個(gè)插件其實(shí)非常簡(jiǎn)單,只需要您有一點(diǎn)VisualC++編程的知識(shí)就夠了。如果您懂VisualC++編程,就請(qǐng)跟我一步一步的來(lái)完成一個(gè)簡(jiǎn)單的插件。首先得計(jì)劃一下,我們的插件完成什么功能,再考慮一下這個(gè)插件都需要具有哪些命令。這里假設(shè)我們的插件是用于字符串操作的,名字就叫String.dll,這個(gè)插件目前暫時(shí)只有一個(gè)命令,名字叫StrLen,是用于得到字符串長(zhǎng)度的。也就是說(shuō),用戶通過(guò)使用我們提供的StrLen命令,傳入一個(gè)字符串,我們給他返回這個(gè)字符串的長(zhǎng)度。具體的說(shuō),用戶可能將來(lái)會(huì)在按鍵精靈中這樣調(diào)用我們的插件命令:DimlengthasintegerPluginlength=String.StrLen(“Hello,world”)如果您熟悉按鍵精靈,那么對(duì)第一句話不會(huì)陌生,它的意思是定義一個(gè)叫l(wèi)ength的整數(shù)變量。第二句的意思,我們來(lái)解析一下:Pluginlength=String.StrLen(“Hello,world”)表明這是一個(gè)插件命令返回值放入變量表明這是一個(gè)插件命令返回值放入變量length小結(jié)一下,我們的插件名字叫String.dll,里面提供一個(gè)命令,名叫StrLen,這個(gè)命令接受一個(gè)字符串作為參數(shù),返回一個(gè)整數(shù)值,含義是得到字符串的長(zhǎng)度。OK,下面我們把按鍵精靈提供的插件模板(在XXX路徑下)復(fù)制一份,然后在它的基礎(chǔ)上進(jìn)行修改。編寫(xiě)插件的簡(jiǎn)介、插件命令和插件命令的簡(jiǎn)介按鍵精靈提供的插件模板是一個(gè)VisualC++project,我們用VisualC++6.0打開(kāi)這個(gè)projecto這個(gè)project里面包含了好幾個(gè)文件,實(shí)際上我們只需要修改QMPlugin.cpp這一個(gè)文件,其他文件您都可以不用去管。用VisualC++打開(kāi)QMPlugin.cpp文件,在文件開(kāi)頭找到這樣一行:externchar*g_lpszPluginDescription="這是一個(gè)插件的模板”;這個(gè)字符串定義了插件的簡(jiǎn)介,我們把它改成:externchar*g_lpszPluginDescription="這是我的字符串處理插件”;再找到QMPlugin.cpp文件最后,有類似于這樣的內(nèi)容:QMPLUGIN_CMD_INFOg_CommandTable[]={"Test1”,”測(cè)試1”,Test1Handler,"Test2”,”測(cè)試2”,Test2Handler,};懂一點(diǎn)C語(yǔ)言的朋友應(yīng)該知道這是一個(gè)結(jié)構(gòu)數(shù)組,如果您不懂也沒(méi)有關(guān)系,請(qǐng)注意花括號(hào)中間的兩行,每一行代表了這個(gè)插件的一個(gè)命令。插件模板這里已經(jīng)寫(xiě)了兩個(gè)命令,其實(shí)僅僅是作為示范,沒(méi)有用處,您可以把這兩個(gè)命令都刪掉,然后用自己定義的命令代替?;ɡㄌ?hào)中間的內(nèi)容可以看作是一個(gè)表格,我們稱為“插件命令表”。每一行從左到右由三個(gè)部分組成,第一部分是這個(gè)插件命令的名稱,第二部分是這個(gè)插件命令的簡(jiǎn)要解釋,第三部分我們暫時(shí)不管,后面再講。我們的字符串處理插件目前只有一個(gè)命令StrLen,所以把代碼改成:QMPLUGIN_CMD_INFOg_CommandTable[]={"StrLen”,”得到U字符串的長(zhǎng)度”,Test1Handler,};第三部分我們還沒(méi)有講,所以暫時(shí)先填寫(xiě)一個(gè)Test1Handler,一會(huì)再回頭改。最基本的插件命令處理函數(shù)當(dāng)按鍵精靈用戶調(diào)用我們的StrLen命令的時(shí)候,我們需要寫(xiě)一段代碼來(lái)處理這個(gè)命令,并且給按鍵精靈返回字符串的長(zhǎng)度。具體的說(shuō),對(duì)于每個(gè)命令,我們都需要寫(xiě)一個(gè)對(duì)應(yīng)的C語(yǔ)言函數(shù)來(lái)處理用戶對(duì)這個(gè)命令的調(diào)用。不管這個(gè)命令有幾個(gè)參數(shù),返回值是什么類型,我們的C語(yǔ)言函數(shù)總是這個(gè)樣子:intXXXX(char*lpszParamList,char*lpszRetVal)上面的XXXX是這個(gè)函數(shù)的名字,隨便起什么名字都可以,只要?jiǎng)e重名就好。注意,除了函數(shù)的名字可以改,其他的地方最好都不要改。比如我們的StrLen命令,假如它對(duì)應(yīng)的函數(shù)叫MyStrLenHandler,那么請(qǐng)?jiān)赒MPlugin.cpp中增加這樣一個(gè)函數(shù):intMyStrLenHandler(char*lpszParamList,char*lpszRetVal){return0;}我們來(lái)看這個(gè)函數(shù),它有兩個(gè)參數(shù)lpszParamList和lpszRetVal,返回值是整數(shù)。lpszParamList中存放了按鍵精靈傳過(guò)來(lái)的字符串(比如前面例子中的“hello,world”這個(gè)字符串就會(huì)保存在這里),而返回值就是我們要告訴按鍵精靈的,這個(gè)字符串的長(zhǎng)度。lpszRetVal暫時(shí)還用不上,先不要?jiǎng)铀?。了解C語(yǔ)言的朋友都知道在C語(yǔ)言中要得到一個(gè)字符串的長(zhǎng)度是很容易的,如下:intMyStrLenHandler(char*lpszParamList,char*lpszRetVal){returnstrlen(lpszParamList);}插件處理函數(shù)就寫(xiě)完了,很簡(jiǎn)單吧?現(xiàn)在,我們還需要在StrLen這個(gè)插件命令和MyStrLenHandler這個(gè)命令處理函數(shù)之間建立起關(guān)聯(lián)關(guān)系。上一節(jié)中提到,我們是這樣在插件命令表中定義StrLen命令的:"StrLen”,”得到U字符串的長(zhǎng)度”,Test1Handler,前兩部分分別代表插件命令的名稱和插件命令的簡(jiǎn)要解釋,第三部分,就是這個(gè)插件命令的處理函數(shù)。也就是說(shuō),我們需要改成:"StrLen","得到U字符串的長(zhǎng)度”,MyStrLenHandler,現(xiàn)在,StrLen命令就和MyStrLenHandler函數(shù)關(guān)聯(lián)起來(lái)了。到此為止,我們已經(jīng)編寫(xiě)了一個(gè)最簡(jiǎn)單的插件。不妨用VisualC++編譯這個(gè)project,把生成的DLL文件改名為String.dll,然后放在按鍵精靈的plugin目錄下。啟動(dòng)按鍵精靈,運(yùn)行這樣一個(gè)簡(jiǎn)單的按鍵精靈腳本:DimlengthasintegerPluginlength=String.StrLen(“Hello,world”)VBSCallMessageBox(CStr(length))這個(gè)腳本會(huì)彈出一個(gè)對(duì)話框,對(duì)話框里面的數(shù)字就是“Hello,world”這個(gè)字符串的長(zhǎng)度。返回值為字符串的插件命令下面我們?yōu)镾tring這個(gè)插件再增加一個(gè)命令,名字叫StrRev,這個(gè)命令接受一個(gè)字符串作為參數(shù),返回值是把參數(shù)中字符串的內(nèi)容倒置,比如把”hello”變成”olleh”。和StrLen不同的是,它的返回值不是整數(shù),而是一個(gè)字符串。不管怎么樣,我們都需要為這個(gè)命令建立一個(gè)處理函數(shù),假如這個(gè)處理函數(shù)名字叫MyStrRevHandler,這個(gè)函數(shù)的原型必須是:intMyStrRevHandler(char*lpszParamList,char*lpszRetVal)可是,我們希望在這個(gè)函數(shù)里面返回一個(gè)字符串,應(yīng)該如何處理呢?按鍵精靈規(guī)定:如果lpszRetVal的內(nèi)容被命令處理函數(shù)修改過(guò),則忽略命令處理函數(shù)返回的整數(shù)值,認(rèn)為這個(gè)命令處理函數(shù)返回的是lpszRetVal這個(gè)字符串。也就是說(shuō),如果我們把按鍵精靈傳來(lái)的字符串倒置后,只要復(fù)制到lpszRetVal指向的字符串中,導(dǎo)致lpszRetVal發(fā)生了修改,則這個(gè)命令的返回值就被認(rèn)為是lpszRetVal。那么,我們的MyStrRevHandler處理函數(shù)應(yīng)該這樣編寫(xiě):intMyStrRevHandler(char*lpszParamList,char*lpszRetVal){strcpy(lpszRetVal,_strrev(lpszParamList));return0;}我們首先調(diào)用C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)_strrev把字符串lpszParamList(也就是按鍵精靈傳來(lái)的字符串)倒置,然后調(diào)用C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)strcpy把倒置后的結(jié)果復(fù)制到lpszRetVal中。最后,StrRev這個(gè)命令同樣需要記錄在插件命令表中,現(xiàn)在我們的插件命令表變成:QMPLUGIN_CMD_INFOg_CommandTable[]={"StrLen”,”得到U字符串的長(zhǎng)度”,MyStrLenHandler,"StrRev”,”倒置一個(gè)字符串”,MyStrRevHandler,};編譯一下,現(xiàn)在我們的String插件就包含兩條命令了!包含不止一個(gè)參數(shù)的插件命令下面我們?yōu)镾tring這個(gè)插件再增加一個(gè)命令,名字叫StrCmp,這個(gè)命令接受兩個(gè)字符串,并比較這兩個(gè)字符串的內(nèi)容,如果相同就返回0,否則返回非0。我們給這個(gè)命令的處理函數(shù)起名為MyStrCmpHandler。同樣的,它的原型必須是:intMyStrCmpHandler(char*lpszParamList,char*lpszRetVal)不同的是,往常我們的命令只有一個(gè)參數(shù),而這里有兩個(gè)參數(shù)。按鍵精靈會(huì)把兩個(gè)參數(shù)都放在lpszParamList,中間用逗號(hào)分隔。所以,我們必須把這兩個(gè)參數(shù)從lpszParamList拆分出來(lái)。怎么拆分?我不反對(duì)您自己寫(xiě)代碼,但是插件模板中已經(jīng)為您提供了一個(gè)函數(shù),名叫ParseParam。這個(gè)函數(shù)的參數(shù)是多個(gè)字符串,其中第一個(gè)是輸入,后面的都是輸出。它的作用是把第一個(gè)參數(shù)代表的字符串以逗號(hào)為界,拆成多個(gè)字符串,然
后分別存放在第二個(gè),第三個(gè)參數(shù)中。舉例來(lái)說(shuō),對(duì)于插件命令StrCmp,我們應(yīng)該這樣寫(xiě)處理函數(shù):intMyStrCmpHandler(char*lpszParamList,char*lpszRetVal){charlpszString1[1024],lpszString2[1024];ParseParam(lpszParamList,lpszString1,lpszString2);returnstrcmp(lpszString1,lpszString2);}在上面的命令處理函數(shù)中,由于StrCmp命令需要返回一個(gè)整數(shù),所以lpszRetVal我們就不要?jiǎng)恿恕N覀冏约憾x了兩個(gè)字符串變量(字符數(shù)組)lpszString1和lpszString2,兩個(gè)字符串的最大長(zhǎng)度都是1024(估計(jì)應(yīng)該是夠了吧,如果您還覺(jué)得不夠,再增加一些也沒(méi)有問(wèn)題)。接下來(lái)調(diào)用ParseParam函數(shù),把lpszParamList拆成兩個(gè)參數(shù),分別存放在lpszString1和lpszString2中。然后再調(diào)用C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)strcmp比較這兩個(gè)字符串。如果您有興趣,可以在插件模板的源代碼中看看ParseParam是如何實(shí)現(xiàn)的。事實(shí)上,ParseParam的實(shí)現(xiàn)非常簡(jiǎn)單,以至于安全性和可靠性都不好。比如前面的例子中,如果lpszString1里面要存放的字符串長(zhǎng)度超過(guò)了1024,就會(huì)出大麻煩。熟悉C語(yǔ)言的朋友肯定會(huì)批評(píng)我們的寫(xiě)法,不過(guò)在多數(shù)情況下它還是很好用的。和前面一樣,StrCmp這個(gè)命令也需要在插件命令表里面登記,這里我們就不多說(shuō)了。數(shù)字簽名一般來(lái)說(shuō),您編寫(xiě)的插件只要編譯成一個(gè)DLL文件,并且放在按鍵精靈所在路徑的plugin文件夾下,就可以馬上使用了。但是這樣的插件在按鍵精靈中會(huì)彈出一個(gè)警告,如下圖所示:這個(gè)插件沒(méi)有教字簽名沒(méi)有數(shù)字簽名的插件未經(jīng)按鍵精靈官方認(rèn)證可能包含不安全的代碼,詰您謹(jǐn)埴便用如果您要對(duì)自己的插件加入數(shù)字簽名,話查詢我們的網(wǎng)站因?yàn)槟牟寮怯肰isualC++編寫(xiě)的,VisualC++的強(qiáng)大功能使得您的插件完全可以包含任何您可以想象的內(nèi)容。當(dāng)然也不排除有個(gè)別心術(shù)不正的人利用這個(gè)功能,把病毒、木馬等有害程序打包到插件中,然后交給別人使用。如果您編寫(xiě)的插件只是給自己用,那么完全可以不必理會(huì)上面的警告,它不會(huì)影響到插件的任何功能。如果您想把編寫(xiě)的插件給別人共享,那么最好的辦法是把您的插件交給我們進(jìn)行認(rèn)證,我們會(huì)幫您加入數(shù)字簽名,還會(huì)幫您把插件放在按鍵精靈網(wǎng)站、論壇上,甚至是捆綁到按鍵精靈中進(jìn)行推廣和交流。了解更多?目前為止,我們已經(jīng)學(xué)習(xí)了按鍵精靈插件的編寫(xiě)方法,確實(shí)不難吧?如果您希望熟悉鞏
固一下上面的內(nèi)容,我們?yōu)槟峁┝税存I精靈5.90版本以上自帶的File.dll插件的全部源代碼。下載回來(lái)研究一下吧,如果有不理解的地方,歡迎您給我們發(fā)郵件垂詢。3?如何使用一個(gè)插件基本操作您可能暫時(shí)不會(huì)用VisualC++,或者不想自己編寫(xiě)插件。但您只需要會(huì)用按鍵精靈寫(xiě)腳本,就可以享受別人的插件帶來(lái)的強(qiáng)大功能。目前按鍵精靈已經(jīng)在軟件安裝包中捆綁了三個(gè)官方開(kāi)發(fā)的插件:File.dll用于一些文件相關(guān)的操作,Window.dll用于一些窗口相關(guān)的操作,還有GetSysInfo.dll用于獲取一些常用的系統(tǒng)信息。我們還會(huì)陸續(xù)增加其他功能的插件,也會(huì)對(duì)目前的插件進(jìn)行功能擴(kuò)充。下面我們以File.dll為例,講述如何使用這個(gè)插件。打開(kāi)按鍵精靈(版本為5.90以上),新建一個(gè)腳本,在腳本編輯器的左邊展開(kāi)“插件命令”的面板(如果上述內(nèi)容你不能理解,那么你需要先學(xué)習(xí)一下按鍵精靈的基本用法,真的很簡(jiǎn)單?。T凇斑x擇插件”的下拉框中找到'File:文件操作的插件”這一項(xiàng)并選中,然后展開(kāi)“選擇插件命令”的下拉框。即可看到如下圖所示的界面。[ 插件命令 存~]第一步.選擇插件Fi恥:文件操作的插件第二步.選擇插件命令ExistFile:判斷文件或文件夾是▼插入f簸窿曲;蛔文豚文連夾蜀AVSelectDirectory:^出選擇目錄SelectFQe:峰茁選擇文件對(duì)話耳CopyFile:復(fù)制一個(gè)文件要復(fù)制MoveFile:^動(dòng)一個(gè)文件凄移動(dòng)DeleteFile:fJ除一個(gè)文件耍刪ReadINI:讀一個(gè)INI文件〔小節(jié)名WriteiNi:寫(xiě)一個(gè)nrdtf?!残」?jié)£OpeiJile:打開(kāi)一個(gè)文件反件路E檔下面的下拉框中的內(nèi)容就是File.dll插件提供的全部插件命令,每個(gè)命令都可以完成一個(gè)和文件操作相關(guān)的功能。比如CopyFile命令可以復(fù)制一個(gè)文件,DeleteFile命令可以刪除一個(gè)文件等。使用有返回值的插件命令我們來(lái)試著使用一個(gè)命令,以SelectFile為例。請(qǐng)?jiān)凇斑x擇插件命令”下面的下拉框中選中SelectFile,您也許會(huì)發(fā)現(xiàn)下拉框太窄了導(dǎo)致里面的文字顯示不全。沒(méi)關(guān)系,把鼠標(biāo)在下拉框停留一下,就會(huì)彈出完整的提示,如下所示:
前面的英文部分是這個(gè)命令的名稱,后面是它的中文簡(jiǎn)介。我們從這個(gè)簡(jiǎn)介中可以看出:1、如果要使用這個(gè)命令,您不需要寫(xiě)任何調(diào)用參數(shù);2、您需要定義一個(gè)變量來(lái)接收返回值(類似于高級(jí)語(yǔ)言的函數(shù)返回值的概念)。那么我們首先定義一個(gè)變量(其實(shí)VBScript中不定義變量也可以的,但是定義變量是一個(gè)良好的習(xí)慣),假如變量名為filepath。把這個(gè)變量名填寫(xiě)在下面“返回值”后面的輸入框中,然后點(diǎn)擊“插入”按鈕,一條命令就插入到按鍵精靈的腳本中了。如圖所示:笛普通|bi源文件lDimfilepath調(diào)用插件命令filepath=File.SelectFile()運(yùn)行這個(gè)腳本,會(huì)彈出選擇文件的對(duì)話框,當(dāng)選擇完畢后,被選中的文件全路徑會(huì)保存在變量filepath中。使用有參數(shù)的插件命令下面我們?cè)僭囋嚵硗庖粋€(gè)插件命令,如CopyFile。同樣,先在“選擇插件命令”下面的下拉框中選中“CopyFile”,鼠標(biāo)在下拉框停留一下,查看詳細(xì)的中文說(shuō)明。從說(shuō)明中可以看出,這個(gè)命令沒(méi)有返回值,但是有兩個(gè)調(diào)用參數(shù),分別是要復(fù)制的文件和要復(fù)制的目標(biāo)文件。我們?cè)凇罢{(diào)用參數(shù)”后面的編輯框里分別輸入這兩個(gè)參數(shù),參數(shù)之間用逗號(hào)分隔,比如輸入"c:\1.txt”,"c:\2.txt”。注意字符串常量應(yīng)該用引號(hào)括起來(lái)。然后點(diǎn)擊“插
入”按鈕。在運(yùn)行這個(gè)腳本前,先在C盤根目錄下建立一個(gè)文件,名叫1.txt,內(nèi)容隨意。然后運(yùn)行腳本,可以看到生成了一個(gè)一模一樣的2.txt。在腳本源文件中寫(xiě)插件命令第普通如果您了解按鍵精靈,一定知道按鍵精靈還提供了腳本源文件直接編輯的功能。我們看看調(diào)用CopyFile命令時(shí)的腳本源文件,如圖:第普通Bl源文件磴是按曜精靈壘成的腳本海支件厚在理解各條命令的基礎(chǔ)上,您可以修改這個(gè)文件的內(nèi)容材每修改的姑果將合在普通視圖上有所反映PluginFile.CopyFile(T1.txt>r2.最前面藍(lán)色的Plugin關(guān)鍵字表示這一行是一個(gè)插件命令調(diào)用。后面的File表示調(diào)用的是File.dll插件,F(xiàn)ile后面用圓點(diǎn)隔開(kāi)的是插件命令的名稱,以及調(diào)用參數(shù)。如果您熟悉了這種寫(xiě)法,其實(shí)直接寫(xiě)腳本源文件速度更順手一些,當(dāng)然使用的效果是一樣的。下面我們來(lái)用腳本源文件編輯方式,寫(xiě)一個(gè)稍微復(fù)雜一點(diǎn)的調(diào)用插件的腳本。您可以把下面的內(nèi)容全部粘貼在您的腳本編輯器中。DimfilehandlePluginfilehandle=File.OpenFile("c:\1.txt")PluginFile.WriteLine(filehandle,”您好,我是按鍵精靈”)PluginFile.WriteLine(filehandle,”愿我能成為您工作和娛樂(lè)中的好助手”)PluginFile.CloseFile(filehandle)運(yùn)行這個(gè)腳本,再看看C盤的根目錄下是不是有一個(gè)叫1.txt的文件。這個(gè)腳本使用了打開(kāi)文件,往文件里面寫(xiě)一行內(nèi)容、關(guān)閉文件等三個(gè)插件命令,這三個(gè)插件命令組合起來(lái)完成了寫(xiě)文件的功能。在按鍵小精靈中使用插件按鍵小精靈是由按鍵精靈生成的一個(gè)獨(dú)立的程序。普通的按鍵小精靈是不包含任何插件的(連按鍵精靈官方提供的插件也不包含),如果要在按鍵小精靈中使用插件,您可以使用“附件”功能先把插件打包到您的腳本中。打開(kāi)按鍵精靈的腳本編輯器,在右上方區(qū)域里面找到“附件”按鈕并點(diǎn)擊,出現(xiàn)如圖所示的對(duì)話框:點(diǎn)擊“添加”按鈕,把您需要用的插件都放在腳本附件里,或者直接把插件的DLL文件拖到這個(gè)對(duì)話框里,然后選擇“保存”。在腳本的第一行,寫(xiě)一句這樣的語(yǔ)句:PutAttachment.\plugin這句話的意思是把當(dāng)前腳本中的附件都展開(kāi)到按鍵小精靈所在路徑的plugin文件夾下。接下來(lái),您就可以像按鍵精靈一樣使用插件命令了。4.按鍵精靈官方插件詳解GetSysinfo.dll插件命令名:GetOSType作用:獲取當(dāng)前操作系統(tǒng)類型參數(shù):無(wú)返回值:整數(shù)型。Win98系統(tǒng)返回為0;WinNT/2000/XP返回為1命令:GetColorDep作用:獲取當(dāng)前屏幕色深度(顏色質(zhì)量)參數(shù):無(wú)返回值:整數(shù)型。返回當(dāng)前屏幕的色深度(顏色質(zhì)量),一般為4,8,16,24或32。命令:GetTime作用:得到系統(tǒng)啟動(dòng)到目前的時(shí)間參數(shù):無(wú)返回值:整數(shù)型。以毫秒表示的系統(tǒng)啟動(dòng)到目前的時(shí)間。說(shuō)明:一般用兩次調(diào)用GetTime命令的結(jié)果相減,可以得到兩次調(diào)用的時(shí)間差。命令:GetDateTime作用:得到當(dāng)前系統(tǒng)日期和時(shí)間參數(shù):無(wú)返回值:字符串型。返回當(dāng)前系統(tǒng)日期和時(shí)間,如“2006-05-2015:27:31”命令:GetHDDSerialNumber作用:得到硬盤第一個(gè)分區(qū)的序列號(hào)參數(shù):無(wú)返回值:整數(shù)型。返回硬盤第一個(gè)分區(qū)的序列號(hào)。Window.dll插件命令名:MousePoint作用:得到當(dāng)前鼠標(biāo)指向的窗口參數(shù):無(wú)返回值:整數(shù)型。當(dāng)前鼠標(biāo)指向的窗口的窗口句柄命令名:Foreground作用:得到目前位于前臺(tái)的窗口參數(shù):無(wú)返回值:整數(shù)型。當(dāng)前位于前臺(tái)的窗口的窗口句柄命令名:Find作用:根據(jù)一個(gè)窗口類名或一個(gè)窗口標(biāo)題名,找到一個(gè)匹配的窗口參數(shù):Q窗口類名,字符串型Q窗口標(biāo)題名,字符串型返回值:整數(shù)型。第一個(gè)匹配的窗口的窗口句柄說(shuō)明:窗口類名和窗口標(biāo)題名中可以有一個(gè)是空字符串(不能兩個(gè)同時(shí)為空字符串)命令名:FindEx作用:指定父窗口或者兄弟窗口,根據(jù)一個(gè)窗口類名或一個(gè)窗口標(biāo)題名,找到匹配的窗口參數(shù):Q父窗口的句柄,整數(shù)型。為0表示不限制父窗口Q兄弟窗口的句柄,整數(shù)型。為0表示不限制兄弟窗口 Q窗口類名,字符串型 Q窗口標(biāo)題名,字符串型返回值:整數(shù)型。第一個(gè)匹配的窗口的窗口句柄命令名:IsWindow作用:判斷指定窗口是否存在參數(shù):整數(shù)型。指定的窗口句柄返回值:整數(shù)型。返回值為0表示該窗口不存在,為1表示該窗口存在。命令名:GetText作用:得到指定窗口的標(biāo)題參數(shù):整數(shù)型。指定的窗口句柄返回值:字符串型。返回指定窗口的標(biāo)題。命令名:GetClass作用:得到指定窗口的窗口類名稱參數(shù):整數(shù)型。指定的窗口句柄返回值:字符串型。返回指定窗口的窗口類名。命令名:GetExePath作用:得到指定窗口所屬的程序路徑參數(shù):整數(shù)型。指定的窗口句柄返回值:字符串型。返回指定窗口所屬的程序的全路徑。命令名:GetClientRect作用:得到指定窗口的邊框大小參數(shù):整數(shù)型。指定的窗口句柄返回值:字符串型。返回指定窗口的窗口邊框大小,格式類似于X1ly1lx2ly2。其中x1、y1、x2、y2分別為窗口左上點(diǎn)和右下點(diǎn)的坐標(biāo)。命令名:Active作用:激活指定的窗口參數(shù):整數(shù)型。指定的窗口句柄返回值:無(wú)命令名:Max作用:最大化指定的窗口參數(shù):整數(shù)型。指定的窗口句柄返回值:無(wú)命令名:Min作用:最小化指定的窗口參數(shù):整數(shù)型。指定的窗口句柄返回值:無(wú)命令名:Restore作用:恢復(fù)指定的窗口的原始大小參數(shù):整數(shù)型。指定的窗口句柄返回值:無(wú)命令名:Move作用:移動(dòng)指定的窗口,使左上角移到指定的坐標(biāo)參數(shù):Q指定窗口的句柄,整數(shù)型。QQ分別為指定的x和y坐標(biāo),整數(shù)型返回值:無(wú)命令名:Close作用:關(guān)閉指定的窗口參數(shù):整數(shù)型。指定的窗口句柄返回值:無(wú)File.dll插件命令名:ExistFile作用:判斷文件或文件夾是否存在參數(shù):字符串型。要判斷的文件或者文件夾的全路徑返回值:整數(shù)型。返回值為0表示文件或文件夾不存在;返回值為1表示存在該文件,返回值為2表示存在該文件夾命令名:SelectDirector
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 古老的船屋文化江蘇無(wú)錫的世界文化遺產(chǎn)
- 智能農(nóng)業(yè)需求背景調(diào)研
- 2025年中考語(yǔ)文文言文總復(fù)習(xí):文言文閱讀之對(duì)比閱讀(講義)教師版
- 廣東地面加固施工方案
- 第19課 資本主義國(guó)家的新變化 課件-【知識(shí)精研】高一下學(xué)期統(tǒng)編版(2019)必修中外歷史綱要下
- 異形圍墻施工方案范本
- 2025年計(jì)算機(jī)基礎(chǔ)b試題及答案
- 2025年大廠測(cè)試崗面試題及答案
- 2025年哈佛大學(xué)考試題及答案
- 5年級(jí)下冊(cè)英語(yǔ)第一、二單元課文跟讀
- 小學(xué)美術(shù)-湘美版四年級(jí)下冊(cè)第10課中國(guó)龍教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 一年級(jí)下冊(cè)勞技教案
- 部編版四年級(jí)語(yǔ)文下冊(cè)第4單元大單元整體教學(xué)作業(yè)設(shè)計(jì)(教案配套)
- 大一邏輯學(xué)全部
- 游戲法緩解小班幼兒入園焦慮的個(gè)案研究
- 2023年包頭輕工職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)題庫(kù)及答案解析
- 地下室頂板裂縫防水處理方案(完整資料)
- 宮頸錐切日間手術(shù)臨床路徑(婦科)及表單
- GB/T 23111-2008非自動(dòng)衡器
- GB/T 18877-2020有機(jī)無(wú)機(jī)復(fù)混肥料
- 三大構(gòu)成之立體構(gòu)成-課件
評(píng)論
0/150
提交評(píng)論