我有一个线程创建一个隐藏窗口,用于根据电源状态接收 WinAPI 消息。我需要HWND
从线程中获取创建的窗口,以便我可以抛出一条WM_QUIT
消息来关闭窗口并优雅地结束线程:
主要的:
HWND hiddenWindowHandle = NULL;
HANDLE PowerWindowThreadHandle = (HANDLE)_beginthreadex(0, 0, &windowsPowerThread, (void*)&hiddenWindowHandle, 0, 0);
线:
unsigned int __stdcall windowsPowerThread(void* data)
{
HWND hiddenWindowHandle = createHiddenWindow();
HWND hwHandle = *(HWND*)data;
hwHandle = hiddenWindowHandle;
...
问题是hiddenWindowHandle
没有用生成的HWND
.
我已经在线程中验证了它正在被创建,并且我已经验证在线程创建它之前我没有尝试访问句柄。
我在这里想念什么?