大香蕉综合在线观看视频-日本在线观看免费福利-欧美激情一级欧美精品性-综合激情丁香久久狠狠

好房網(wǎng)

網(wǎng)站首頁(yè) 企業(yè)新聞 > 正文

按鍵精靈腳本教程單線程操作多窗口介紹(按鍵精靈腳本教程單線程操作多窗口詳細(xì)情況如何)

2022-08-14 20:44:22 企業(yè)新聞 來(lái)源:
導(dǎo)讀 想必現(xiàn)在有很多小伙伴對(duì)于按鍵精靈腳本教程:?jiǎn)尉€程操作多窗口方面的知識(shí)都比較想要了解,那么今天小好小編就為大家收集了一些關(guān)于按鍵精

想必現(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)系刪除!


標(biāo)簽: