我想製作一個程序,將獲得另一個程序的窗口的名稱。爲此,我想用WM_GETTEXT消息使用SendMessage()函數。但是我知道,我可能做了很多的東西錯了,所以這裏是我使用的代碼:SendMessage WM_GETTEXT錯誤
string text;
SendMessage(windowHandle, WM_GETTEXT, sizeof(text), LPARAM(text));
我的pritty確保...我可能有很多的東西是錯誤的。 LPARAM(文本)可能是錯誤的,因爲在MSDN中它說這個參數是:指向要接收文本的緩衝區的指針。
問題是......我不知道什麼是緩衝區,以及如何聲明它......以及如何將它轉換爲一個字符串變量,其中的窗口名稱。
我得到的錯誤是:
error: invalid cast from type 'std::string {aka std::basic_string<char>}' to type 'LPA {aka long int}'
誤差與SendMessage函數就行了。所以我的問題是:
我做錯了什麼?什麼是緩衝區?我如何聲明緩衝區?如何將該緩衝區轉換爲文本文件? 如果有人可以給我看看我想要的代碼......那可能是我可以要求的最好答案!
很酷的東西,thanx人 – computerWizard