我有一个HWND变量,我想指向一个硬编码值,仅用于测试目的。我猜HWND是(int *)的typedef,因此导致某种间接性。正确的代码应该是什么样的?
答案 0 :(得分:7)
HWND abc = (HWND)(0x100);
无论如何,糟糕的主意,但你已经知道了。
答案 1 :(得分:5)
你可以这样做:HWND hWnd = reintrepret_cast<HWND>(0x100);
。使用显式强制转换,以便在代码中轻松找到。
答案 2 :(得分:2)
您无法对HWND值进行硬编码。充其量,它不会引用现有窗口。在最坏的情况下,它会引用系统中的一些随机窗口。
编辑:要明确,使用硬编码值运行的任何测试都将毫无意义。您的程序将该HWND用于某事。一旦它将硬编码的HWND传递给API函数,该函数将失败(最好的情况)或者它将在随机进程中引起随机的,不可预测的影响(最坏的情况)。