簡體   English   中英

如何檢查是否按下了窗口按鈕C ++

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM