![](/img/trans.png)
[英]Why does this return different values everytime I run the program? 0x3759F8B0 - 0x100
[英]HWND abc = 0x100; This does not work, and I understand why. How to do it then?
我有一個HWND變量,我想指向一個硬編碼的值,僅用於測試目的。 我猜HWND是(int *)的typedef,因此導致某種間接性。 正確的代碼應該是什么樣的?
HWND abc = (HWND)(0x100);
無論如何,這是個壞主意,但您已經知道了。
您可以執行以下操作: HWND hWnd = reintrepret_cast<HWND>(0x100);
。 使用顯式強制轉換,以便在代碼中輕松查找。
您不能對HWND值進行硬編碼。 充其量,它不會引用現有的窗口。 最糟糕的是,它會引用系統中的一些隨機窗口。
編輯:明確地說,使用硬編碼值運行的任何測試都是沒有意義的。 你的程序使用HWND的東西 。 一旦將硬編碼的HWND傳遞給API函數,該函數將失敗(最佳情況),或者將在隨機過程中導致隨機的,不可預測的影響(最壞的情況)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.