我有一個第三方應用程序,我沒有創建自己。我需要創建一個應用程序,它可以偵聽按鈕點擊並從該應用程序中的表中讀取數據。我相信第三方應用程序是用C#編寫的,但我不確定。有沒有辦法知道何時按下UI按鈕並從應用程序收集數據?我不介意解決方案必須寫入哪種編程語言,只要它滿足上述任務即可。從其他Windows應用程序捕獲事件
2
A
回答
1
您可以使用少量DLL(如user32.dll)從其他應用程序獲取數據。 查找父句柄窗口:
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
public static IntPtr FindWindow(string windowName)
{
var hWnd = FindWindow(windowName, null);
return hWnd;
}
之後,找到一個子窗口
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, string windowTitle);
private IntPtr FindSomeElement(IntPtr parent)
{
IntPtr childHandle;
childHandle = FindWindowEx(
parent,
IntPtr.Zero,
"WindowsForms10.EDIT.app21",
IntPtr.Zero);
return childHandle;}
的把手,從它那裏得到的文本:
private static string GetText(IntPtr childHandle)
{
const uint WM_GETTEXTLENGTH = 0x000E;
const uint WM_GETTEXT = 0x000D;
var length = (int)SendMessage(handle, WM_GETTEXTLENGTH, IntPtr.Zero, null);
var sb = new StringBuilder(length + 1);
SendMessage(handle, WM_GETTEXT, (IntPtr)sb.Capacity, sb);
return sb.ToString();
}
//我沒有測試這個代碼,只是給出了一個想法。 有關更多信息,請訪問www.pinvoke.net/default.aspx/。你可以找到很多關於user32.dll的信息
相關問題
- 1. 從其他應用程序中捕獲每個事件細節的工具
- 2. Windows Mobile - 捕獲應用程序/進程終止事件
- 3. Javascript - 通用Windows應用程序 - 捕獲關閉事件
- 4. 在C#Windows應用程序中捕獲全局觸摸事件
- 5. 在Windows窗體應用程序中捕獲組合鍵事件
- 6. 在wpf應用程序中捕獲Windows關機事件
- 7. xaml WebView:如何捕獲「OnNavigation」事件@Windows Store應用程序
- 8. 從另一個Windows應用程序捕獲用戶事件(按鈕點擊等)
- 9. 獲取其他應用程序的事件
- 10. 從其他程序存儲事件
- 11. C# - 捕獲用戶點擊其他應用程序
- 12. 捕獲其他應用程序中的用戶類型
- 13. java - 從獨立Java應用程序捕獲鼠標事件
- 14. 捕獲在Windows應用程序
- 15. C# - 捕獲Windows應用程序輸出
- 16. 從其他線程捕獲異常?
- 17. 用java windows服務捕獲windows事件
- 18. 從Windows服務捕獲事件
- 19. 如何將事件掛接到其他應用程序中的Windows控件
- 20. 從其他應用程序獲取文件的路徑
- 21. 如何從Windows Phone 8.1中的其他應用程序啓動應用程序
- 22. 捕捉應用程序崩潰事件
- 23. Spring引導應用程序的捕獲應用程序停止事件
- 24. 捕獲另一個應用程序事件的Android應用程序
- 25. 在應用程序外部捕獲應用程序「就緒」事件
- 26. 一個應用程序可以訪問其他應用程序的事件嗎?
- 27. 如何正確覆蓋其他應用程序(Windows)中的鼠標事件?
- 28. C# - 從特定應用程序捕獲Windows消息
- 29. 從Windows Phone應用程序中捕獲傳出的HTTP請求
- 30. 使用.NET鉤取應用程序以捕獲雙擊事件
你能訪問其他應用程序源代碼嗎? – z3nth10n
不,它是從互聯網下載的,我試圖創建一種界面,更清晰地顯示該應用程序中的數據,並在第三方按下按鈕時執行操作。 – JPadley