2015-05-08 59 views
0

我需要編寫一個小程序,該程序可以知道用戶單擊按鈕的位置,或者應用程序窗口更改大小的任何方式。WINAPI光標點擊應用程序窗口上的位置

通過使用windows API,現在我只能得到全局光標點擊位置。

我從中國找到一個使用AHK實現它的功能類似的小程序。也許筆者用這個(WinGetPos)參見下圖:

enter image description here

那麼,是不是所有的Windows API或其它QT5,C++函數可以幫我把應用程序窗口的光標點擊位置。 (我在QT5開發)

後一些代碼放在這裏:

GetCursorPos (&screenpoint); 
hwndFoundWindow = WindowFromPoint (screenpoint); 
mp.DisplayInfoOnFoundWindow(QString::fromLocal8Bit("L"), hwndFoundWindow, pMouseStruct->pt.x, pMouseStruct->pt.y); 
+0

你爲什麼要這麼做? –

+0

想要檢測此程序在實驗室平臺中使用的某些東西 – geraldlim

回答

1

Windows API中的ScreenToClient function可用於從屏幕座標轉換到窗口(客戶區)座標。您需要知道應用程序窗口的HWND。

+0

今天早上我試過這個函數,但看起來像是全局光標點擊位置。也許我使用錯誤的方式,我會嘗試更多 – geraldlim

+0

@geraldlim此功能旨在將全局光標位置轉換爲相對於窗口角的位置。 –

+0

謝謝,我試了一下,它的工作原理 – geraldlim

相關問題