跳到主要內容

模擬按鍵

今天剛好有需要自動執行程式,但因為需要登入動作,所以就得寫一個能對視窗上模擬按鍵的動作。嗯...按鍵精靈要錢,又怕有後門,於是先找自己以前用VC寫的半成品。結果..因為新電腦還沒申請,這台NB上沒有,就先找網路上的範例。

結果找到比較完整的是 Send Keystrokes to Applications Using Windows' API SendInput ,我拿裏面DoDucTruong的程式來改最方便,這是VB6的程式,改一下就解決我的問題。DoDuc的程式裏找HWND的部份可能會有問題,不是每個視窗用名稱都找得到(或是名稱不對?),我是用Spy++直接找Class Name填進去找HWND,需要的人可能得用FindWindowEx去試試,這方面在下不行。

過程中有許多程式碼都是VB5或更舊,居然都得修改才能執行,有點出乎意料。BTW,找API用法中,發現一堆討論區都有Kuon兄出現,他果然是高手,有問題請直接問他XD

留言

Non-human寫道…
也許 http://www.autohotkey.com/
是更好的選擇?
鳥毅寫道…
非常感謝,雖然我已經改好程式,還是會試試 AutoHotkey。
匿名表示…
以前沒用 VB 寫 資料庫, 都在用 VB+SDK 玩系統:)
自從會C+ASM後就沒用VB了..:)
匿名表示…
"某長官實在太看得起在下,居然要在下把沒有source code的vb6 dll裝起來,再瞭解其運作原理。"

看到您的microblog, 這問題好像是在挖洞讓我跳~~ccc

說明一下好了, VB6 編出來有兩種, 您所看到的 VB Decompiler 多數解的是 pseudo bytecode. 另外一種編出來的是 Native code, 那要拿 x86 Disassembler 來解; but ... VB5/6 stub 比起 VC 編出來的, 該 stub 是個特製版:P

這個網誌中的熱門文章

自然人憑證讀卡機驅動程式

鳥毅用的是第一代的自然人憑證讀卡機,EZ100PU(後來有同事買EZmini可以讀SIM卡似乎更好),每年報稅時用一次。 本來只是要申請些政府業務,一時之間找不到光碟,沒想到在 驅動程式下載 居然看到Linux和Mac的驅動程式,剩下的就是政府單位的網頁和程式應該改版了吧!!!

DBeaver 介面語言

DBeaver是我個人頗常用的一套跨平台Database管理工具,最近升級後發現Windows版本居然變成簡體中文,而且無法切換為英文。

如何將較高版本SQL Server複製到低版本SQL Server (降級為舊版)並保留權限及資料庫圖表

一般若是要將SQL Server裡的Database轉往其他Server時,最簡單的方式就是備份(Backup)後再還原(Restore),或者是䣃離(detach)後附加(attach)。 但是很不幸地,若是由較低版本(e.g. 2008)到較高版本(e.g. 2012)要怎麼辦呢?