網(wǎng)站首頁(yè) 企業(yè)新聞 > 正文
想必現(xiàn)在有很多小伙伴對(duì)于按鍵精靈腳本教程:?jiǎn)尉€程操作多窗口方面的知識(shí)都比較想要了解,那么今天小好小編就為大家收集了一些關(guān)于按鍵精靈腳本教程:?jiǎn)尉€程操作多窗口方面的知識(shí)分享給大家,希望大家會(huì)喜歡哦。
1、內(nèi)容提要本例中,講解的是使用大漠插件,通過(guò)創(chuàng)建多個(gè)大漠對(duì)象,切換大漠對(duì)象對(duì)多窗口分別進(jìn)行操作。?『1』????獲取要綁定的窗口句柄,存放在窗口句柄數(shù)組中?!?』????有幾個(gè)窗口就創(chuàng)建幾個(gè)大漠對(duì)象?!?』????創(chuàng)建一個(gè)公用對(duì)象,用于切換。『4』????循環(huán)切換大漠對(duì)象,分別綁定對(duì)應(yīng)的窗口。『5』????循環(huán)切換大漠對(duì)象,分別操作對(duì)應(yīng)的窗口。
2、獲取窗口句柄1、循環(huán)等待按鍵,如果按下的是F7鍵,則獲取當(dāng)前鼠標(biāo)指向的窗口句柄。2、獲取窗口句柄存放到窗口句柄數(shù)組中。3、如果按下的是F8鍵,則退出do循環(huán),繼續(xù)后續(xù)的操作?!捍a』Dim??hwnd_all(100)//當(dāng)我們不知道用戶會(huì)啟動(dòng)多少個(gè)窗口的時(shí)候,可以把數(shù)組定義大一點(diǎn)。Do?While?key?<>?119?//沒(méi)有按下F8則進(jìn)入循環(huán)????Key?=?WaitKey()?//等待按鍵并且獲取按鍵碼????If?key?=?118?Then?//如果按下F7則?將變量js加1????????js=js+1????????hwnd_all(js)?=?Plugin.Window.MousePoint()?//獲取當(dāng)前鼠標(biāo)指向的窗口的窗口句柄存放到數(shù)組hwnd_all中????End?IfLoop
3、『分析』◎?????Do?While?key?<>?119????Do循環(huán)分為前判斷和后判斷,??????????它們的區(qū)別在于,前判斷是先判斷條件符不符合然后進(jìn)入循環(huán)體,???????????而后判斷是先進(jìn)入循環(huán)體執(zhí)行一次之后再進(jìn)行判斷:???????????前判斷:????????????????????Do??while?條件?????????????????????????Loop?????????????后判斷:???????????????????Do???????????????????????????Loop?while?條件?"{?pg?E02?idow-orphan; text-align:left; " >????End?IfLoop
4、創(chuàng)建大漠對(duì)象“剛接觸大漠的童鞋可能對(duì)于對(duì)象的概念比較模糊。其實(shí)作為一個(gè)單純的使用者,暫時(shí)不需要去了解更深的原理。咱們只需知道想要用大漠的命令,就要拿到它的使用權(quán)。而建立大漠對(duì)象就是獲取使用權(quán)的步驟。?有沒(méi)有童鞋是這樣認(rèn)為的:覺(jué)得大漠的命令一定是??dm.moveto?x,y?或者?dm.ver????認(rèn)為一定要以dm.什么的形式來(lái)使用命令????其實(shí)不是這樣的,你可以這樣使用大漠命令,xx.moveto?x,y??或者?oo.moveto?x,y???咱高興用什么就用什么。這個(gè)取決于我們創(chuàng)建大漠對(duì)象時(shí)所命名的對(duì)象名?!豪纭??????????我們創(chuàng)建一個(gè)大漠對(duì)象,命名為ha?:??????????Set?ha?=?createobject("dm.dmsoft")??????????那么,咱們?cè)谑褂么竽畹臅r(shí)候,就應(yīng)該這樣使用:??????????ha.moveto?x,y『語(yǔ)法』??????Set?對(duì)象?=?createobject("dm.dmsoft")?//創(chuàng)建大漠對(duì)象?????????對(duì)象.moveto?x,y???//使用命令?我們現(xiàn)在回到例子中,一個(gè)窗口對(duì)應(yīng)創(chuàng)建一個(gè)大漠對(duì)象。窗口和對(duì)象之間的關(guān)系要怎么理解呢?為什么不多個(gè)窗口共用一個(gè)對(duì)象呢?
5、『例如』??????????咱們是一家擁有上千保姆的家政公司。一個(gè)家庭比作一個(gè)窗口,一個(gè)保姆比作一個(gè)對(duì)象。咱們把保姆派到一個(gè)家庭之后,保姆才能接收并且執(zhí)行咱們下達(dá)的命令。一個(gè)保姆對(duì)應(yīng)一個(gè)家庭,輕輕松松。但是當(dāng)一個(gè)保姆要對(duì)應(yīng)10個(gè)家庭,她要怎么辦呢?這家擦了個(gè)地板又跑到那家擦個(gè)玻璃。一個(gè)對(duì)象在第一個(gè)窗口執(zhí)行了一個(gè)動(dòng)作解綁之后綁定第二個(gè)窗口,第二個(gè)窗口執(zhí)行一個(gè)動(dòng)作解綁,然后再去綁定第三個(gè)窗口……綁定和解綁是非常耗費(fèi)系統(tǒng)資源的,所以這里不提倡這種做法。
6、『代碼』//?聲明對(duì)象(有幾個(gè)窗口聲明幾個(gè))ReDim?dm_all(js)?For?i=?1?to?js????//?分別創(chuàng)建對(duì)象,對(duì)象存放在數(shù)組中????Set?dm_all(i)?=?createobject("dm.dmsoft")Next?『注意』??按鍵中不支持?jǐn)?shù)組形式對(duì)象直接使用命令,例如:??dm_all(0).moveto?x,y??不支持這樣使用?!核浴晃覀冃枰?jiǎng)?chuàng)建一個(gè)公用的對(duì)象,用于將數(shù)組形式的對(duì)象轉(zhuǎn)為變量名形式的對(duì)象,作為對(duì)象切換的一個(gè)容器。//////聲明公共對(duì)象,用于切換//////Set?dm?=?nothing?//創(chuàng)建空的對(duì)象
7、切換對(duì)象綁定窗口有多少個(gè)窗口就循環(huán)幾次綁定窗口,咱們的窗口數(shù)量是js,?循環(huán)js次,代碼如下:『代碼』For?i?=?1?To?js????Call?切換對(duì)象(i)????dm_ret?=?dm.BindWindow(hwnd_all(i),?"dx",?"windows",?"windows",?0)????//?檢測(cè)返回值????If?dm_ret?=?0?Then?????????MessageBox?"綁定失敗"????????EndScript????End?If????//?分別設(shè)置路徑字庫(kù)等????//?Call?切換對(duì)象(i)????//?dm.SetPath?"c:test"????//?dm.SetDict?0,"test.txt"NextSub?切換對(duì)象(index)????Set?dm?=?dm_all(index)End?Sub?『分析』????????????◎???進(jìn)入for循環(huán)調(diào)用子程序?“切換對(duì)象”,把i的值傳遞給子程序。????????????◎??“切換對(duì)象”子程序中將當(dāng)前的大漠對(duì)象?,dm_all(index)?賦值給?dm????????????◎???返回到for循環(huán)中,綁定對(duì)應(yīng)的窗口。
8、操作腳本的主循環(huán),通過(guò)不斷的切換對(duì)象,向?qū)?yīng)的對(duì)象下達(dá)操作,從而實(shí)現(xiàn)腳本多開(kāi)的目的。但是需要注意一點(diǎn),由于是切換對(duì)象進(jìn)行操作的,所以對(duì)這些窗口的操作并不是同時(shí)進(jìn)行的。第一個(gè)窗口執(zhí)行完之后才會(huì)第二個(gè)窗口,順延下去。『代碼』//?腳本主循環(huán)Do????For?i?=?1?To?js????????Call?切換對(duì)象(i)????????Call?操作(i)????????Delay?1000????NextLoopSub??操作(index)????dm.SendString?hwnd_all(index),index????dm.keypress?13End?Sub
9、整體代碼Call?大漠注冊(cè)()?///////獲取要綁定的窗口句柄////////Dim??hwnd_all(1000?)Do?While?key?<>?119????Key?=?WaitKey()????If?key?=?118?Then?????????js=js+1????????hwnd_all(js)?=?Plugin.Window.MousePoint()????????TracePrint??hwnd_all(js)????End?IfLoop???/////?聲明對(duì)象(有幾個(gè)窗口聲明幾個(gè))ReDim?dm_all(js)For?i=?1?to?js????//?分別創(chuàng)建對(duì)象????Set?dm_all(i)?=?createobject("dm.dmsoft")Next??//////聲明公共對(duì)象//////Set?dm?=?nothing??///////////?分別綁定窗口///////////////For?i?=?1?To?js????Call?切換對(duì)象(i)????dm_ret?=?dm.BindWindow(hwnd_all(i),?"dx",?"windows",?"windows",?0)????//?檢測(cè)返回值????If?dm_ret?=?0?Then?????????MessageBox?"綁定失敗"????????EndScript????End?If????//?分別設(shè)置路徑字庫(kù)等????//?Call?切換對(duì)象(i)????//?dm.SetPath?"c:test"????//?dm.SetDict?0,"test.txt"?Next??///////////?腳本主循環(huán)///////////////Do????For?i?=?1?To?js????????Call?切換對(duì)象(i)????????Call?操作(i)????????Delay?200????NextLoopSub?切換對(duì)象(index)????Set?dm?=?dm_all(index)End?SubSub??操作(index)????dm.SendString?hwnd_all(index),index????dm.keypress?13End?Sub????/////////?分別解綁窗口//////////Sub?OnScriptExit()????For?i?=?1?To?js????????Call?切換對(duì)象(i)????????dm_ret?=?dm.UnBindWindow()????NextEnd?Sub??/////////////注冊(cè)大漠插件///////////Sub?大漠注冊(cè)()????Set?ws?=?createobject("Wscript.Shell")????ws.run?"regsvr32?atl.dll?/s"????Set?ws?=?nothing????PutAttachment?"c:guoer",?"dm.dll"????PutAttachment?".Plugin"?,"RegDll.dll"????call?Plugin.RegDll.Reg?(?"c:guoerdm.dll")????Set?dm?=?createobject("dm.dmsoft")????ver?=?dm.ver()????If?len(ver)?=?0?Then????????MessageBox?"插件注冊(cè)失敗,檢查系統(tǒng)是否禁用了vbs腳本權(quán)限"????????EndScript????End?IfEnd?Sub??
本文到此結(jié)束,希望對(duì)大家有所幫助。
版權(quán)說(shuō)明: 本文由用戶上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!
- 上一篇: cpu超頻設(shè)置教程BIOS(如何通過(guò)BIOS設(shè)置CPU超頻簡(jiǎn)介介紹)
- 下一篇: 2013年5月9日美國(guó)宇航局公布了一系列太陽(yáng)耀斑爆發(fā)事件的壯觀圖象(如圖).科學(xué)家普遍預(yù)計(jì)太陽(yáng)正迎來(lái)其11年的活動(dòng)高峰期這一高峰期將于今年年底前后到來(lái).太陽(yáng)活動(dòng)對(duì)地球的影響分析正確的是( )①干擾無(wú)線短波通信?????(②磁暴可能危及電網(wǎng)安全③氣候發(fā)生異常變化????? ④形成極晝極夜現(xiàn)⑤高能粒子損害航天設(shè)備??⑥風(fēng)力電場(chǎng)發(fā)電量增加.A.①②③④B.②④⑤⑥C.①②③⑤D.③④⑤⑥","title_text":"2013年5月9日美國(guó)宇航局公布了一系列太陽(yáng)耀斑爆發(fā)事件的壯觀圖象(如圖).科學(xué)家普遍預(yù)計(jì)太
猜你喜歡:
- 2022-09-20 大米南瓜粥的禁忌有什么好處(大米南瓜粥的禁忌有什么)
- 2022-09-20 直招士官有哪些專業(yè)要求男生(直招士官有哪些專業(yè)要求)
- 2022-09-20 狗最怕什么東西吃(狗最怕什么東西)
- 2022-09-20 草海在哪里(草海在哪)
- 2022-09-20 照片復(fù)數(shù)英語(yǔ)怎么寫(照片的英文復(fù)數(shù)怎么寫)
- 2022-09-20 礦鹽為什么不能吃(礦鹽能不能食用)
- 2022-09-20 拼音f的四線三格寫法(漢語(yǔ)拼音f在四線三格書寫占幾格?)
- 2022-09-20 懷孕四個(gè)月應(yīng)該吃什么(懷孕4個(gè)月吃什么 4個(gè)月孕婦食譜大全)
最新文章:
- 2023-07-03 適合陽(yáng)臺(tái)種植的盆景(盆栽有哪些適合陽(yáng)臺(tái)種植 適合陽(yáng)臺(tái)種植的盆栽)
- 2023-07-03 文件蓋章處要寫單位名稱嗎(蓋章的位置有什么講究 對(duì)文件加蓋公章有什么講究)
- 2023-07-03 香港黃道益活絡(luò)油真假怎么分(如何鑒別香港白花油的真假)
- 2023-07-03 如何挑選一雙好的運(yùn)動(dòng)鞋(如何挑選高檔運(yùn)動(dòng)鞋)
- 2023-07-03 如何挑選電動(dòng)車頭盔(如何挑選電熨斗)
- 2023-07-03 70年代真絲綢老布料(怎么樣鑒別真絲綢的真假)
- 2023-07-03 電推剪推薦(如何挑選好的電推剪)
- 2023-07-03 如何挑選電熱鞋的好壞(如何挑選電熱鞋)
- 2023-07-03 白熾燈怎么看好壞(如何鑒別白熾燈泡的質(zhì)量好壞)
- 2023-07-03 如何挑選電蚊香液(如何挑選電蚊香)
- 2023-07-03 讓倔強(qiáng)小貓心煩意亂的方法 漫畫(正確飼養(yǎng)小貓的方法)
- 2023-07-03 給泰迪洗澡要注意什么(泰迪洗澡全攻略)
- 2023-07-03 虱子和跳蚤(虱子和跳蚤一樣嗎)
- 2023-07-03 concentration可數(shù)(stationery可數(shù)嗎)
- 2023-07-03 秋褲是什么時(shí)候傳到中國(guó)的(秋褲是什么)
- 2023-07-03 怎樣清除智能馬桶蓋水箱內(nèi)的水?(如何清洗智能馬桶的水箱)