[英]How to check if a window button is pressed C++
如何測試是否按下了按鈕?
我正在使用EnumChildWindows()枚舉給定窗口的子窗口,並且子窗口之一是一個按鈕,我想測試是否正在按下該特定按鈕。
我的代碼直到知道是:
BOOL CALLBACK MyEnumProc(HWND hwnd, LPARAM lParam)
{
char buffer[256];
GetWindowText(hwnd, buffer, sizeof(buffer));
cout << buffer << endl;
return true;
}
int main()
{
HWND hwnd = FindWindow(0, "Window to find");
EnumChildWindows(hwnd, MyEnumProc, 0);
return 0;
}
您可以將BM_GETSTATE消息發送到按鈕控件,如果按下該消息,則結果將為BST_PUSHED。
您需要將DLL注入到進程空間中,鈎住窗口消息循環(就像您以前用本地Win32 API C代碼Window Proc編寫子類化窗口的代碼一樣)(可在Google上瀏覽),並收聽實際消息。
所有這些對我來說都是古老的東西,而且恐怕最近的Windows版本(希望如此)會使執行起來更加困難。
就是說,如果您可以使用正確級別的權限來信任應用程序,那么您仍然應該能夠執行此操作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.