最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用VBS實現(xiàn)一個小鍵盤動作CTRL+V粘貼操作與思路分析

 更新時間:2009年12月23日 23:57:39   作者:  
我想實現(xiàn)當有跳出窗口"請輸入"時的1.8秒后就發(fā)送一次 CTRL + V,把本來已經(jīng)復制到剪切版中的文字自動粘貼過去呢
提示:
1,是每次有跳出窗口時的1.8秒后都要有此動作,并且是只發(fā)送了一次該動作,發(fā)送完后等待下次的窗口跳出再循環(huán).
2,每次循環(huán)中都只是發(fā)送了一次CTRL + V后就停,而不是一直發(fā)送

看到問題,立即著手編寫測試代碼,這時候問題出現(xiàn):

彈出 inputbox 窗口后,VBS處于暫停狀態(tài),等待用戶輸入,點擊確定or取消,

所以在它后面的 Wshshell.Sendkeys "^v" 將無法執(zhí)行,

如果前面彈出 inputbox 窗口后點擊確定 or 取消的話,那么再執(zhí)行 ctrl+v 就不能把剪切板中的內(nèi)容粘貼到inputbox 窗口當中,如果把Wshshell.Sendkeys "^v" 放到 inputbox 之前的話,也不行,因為 inputbox 還沒彈出來,ctrl+v也無法實現(xiàn)粘貼內(nèi)容到 inputbox,

轉(zhuǎn)換一下思路,我們把inputbox 和 sendkey寫成兩個文件,這樣它們互相就不會產(chǎn)生沖突,最終解決代碼如下:
復制代碼 代碼如下:

Set WshShell=WScript.CreateObject("WScript.Shell")
WScript.Sleep 2000
Set fso=wscript.createobject("scripting.filesystemobject")
set f=fso.opentextfile("sendkey.vbs",2,true)
f.Write("Set WshShell=WScript.CreateObject(" & Chr(34) & "WScript.Shell" & chr(34) & ")")
f.WriteBlankLines(1)
f.Write("WScript.Sleep 1800")
f.WriteBlankLines(1)
f.Write("Wshshell.appactivate " & chr(34) & "提示" & chr(34))
f.WriteBlankLines(1)
f.Write("Wshshell.Sendkeys " & chr(34) & "^v" & chr(34))
f.WriteBlankLines(1)
f.Close
Wshshell.Run ("sendkey.vbs")
InputBox "請輸入","提示",""
fso.DeleteFile ("sendkey.vbs")

代碼先寫 sendkey.vbs 并執(zhí)行,執(zhí)行過程中會等待1.8秒發(fā)送 ctrl+v ,接著彈出 inputbox,這時候inputbox彈出來了,sendkey.vbs在等待1.8秒后也執(zhí)行ctrl+v把內(nèi)容粘貼到了inputbox 輸入框中.問題解決

總結(jié):在遇到一些問題的時候,不能鉆牛角尖,換個思路,其實解決起來并不難!

相關文章

最新評論

祁连县| 兴宁市| 万安县| 无锡市| 晋宁县| 丁青县| 温州市| 阿城市| 连江县| 通城县| 雷波县| 连平县| 潜江市| 朔州市| 延寿县| 西盟| 金湖县| 晋中市| 克拉玛依市| 周宁县| 陵川县| 晋宁县| 哈尔滨市| 汶上县| 武夷山市| 肃宁县| 五家渠市| 祁连县| 淮滨县| 杭锦后旗| 邵武市| 阿坝县| 丹东市| 宁津县| 雅安市| 唐海县| 唐河县| 邮箱| 黎川县| 循化| 延津县|