0
我有代码:错误1400无效的窗口句柄
......
g_hWnd = CreateWindow(L"Urok6WindowClass", L"TitleWindow", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, rc.right - rc.left, rc.bottom - rc.top, NULL, NULL, hInstance,
NULL);
if(!g_hWnd)
return E_FAIL;
ShowWindow(g_hWnd, nCmdShow);
一切工作正常。但是,如果我补充一下:
LPTSTR tilte_old= L"Old title";
int gettus = GetWindowText(g_hWnd, tilte_old, 100);
DWORD error = GetLastError();
WCHAR szTest[10];
swprintf_s(szTest, 10, L"%d", error);
MessageBox(NULL, szTest, L"TEST2", MB_OK);
的MessageBox >> 1400个
gettus >>'
这究竟是为什么?为什么窗口句柄无效?
您确定'GetWindowText'失败吗?除非你真的知道最后一个函数返回一个错误,否则你不应该相信错误'GetLastError'。首先检查'gettus'。 –
您可能需要一个实际的数组来保存您的窗口的文本,而不是指向只读内存中某个字符串的指针。 'TCHAR tilte_old [100];' – chris