2011-12-16 72 views
2

我已經使用win32 API和DirectX API來解釋來自用戶的輸入,但在生成與原始用戶輸入相匹配的輸入方式中沒有找到太多東西。生成從一個應用程序到另一個應用程序的鼠標和鍵盤輸入

我的目標是製作一個程序,可以在後臺,最小化或快速啓動區域透明地運行程序,併爲該程序人爲地植入第三方鍵盤和鼠標輸入,全屏應用程序。

我發現了一些用於驗證哪個窗口具有焦點的命令,以及一些用於檢查所述應用程序的進程名稱或ID的代碼示例,但不是通過directx或其他任何東西生成輸入來模擬合法輸入。

任何建議將不勝感激,我希望它註冊儘可能接近真實的輸入,以幫助促進自動化測試。

如果這個問題過於籠統或「研究不足」,我很抱歉,我只是不太確定從哪裏開始!

由於我熟悉這些語言,程序將採用C++或C#。

+0

查找到黑客論壇 - 不是這個。 – mozillanerd 2011-12-16 17:42:14

+0

不好意思?我不確定你的意思。爲什麼「黑客論壇」?我想如果他們有這些信息那麼這很好,但是你碰巧有一個想法?或鏈接?還是別的什麼東西看? – 2011-12-16 19:58:27

回答

0

我已經做到了這一點:

一個應用程序來充當全球keyboard_hock,然後我沒發匹配圖案,以第二個應用程序,直接在內存中 - 我使用的例子來自All-in-one code framework例子,你可以下載,鎖CSFileMappingServer & CSFileMappingClient(get/set)來自兩個獨立進程的內存。而CSWindowsHook工程來抓全球鍵盤事件

我是痘痘很快,但送您可以使用虛擬鍵盤:

BOOL 
WINAPI 
PostMessageA(
__in_opt HWND hWnd, 
__in UINT Msg, 
__in WPARAM wParam, 
__in LPARAM lParam); 

但winow您發送給已成爲市場關注焦點,您可以使用:

BOOL 
WINAPI 
BringWindowToTop(
__in HWND hWnd); 

而獲得HWIND到正在運行的應用程序,你可以使用:

HWND 
WINAPI 
FindWindowA(
__in_opt LPCSTR lpClassName, 
__in_opt LPCSTR lpWindowName); 
相關問題