创建具有窗口的线程出现错误,哪位帮看下?
//创建具有窗口的线程
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
DWORD WINAPI ThreadFunc(LPVOID lpParameter);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
WNDCLASSEX wndclass;
static char szAppName[] = "hello, vc!";
//////////////////////////////////////////////////
wndclass.cbSize = sizeof (wndclass);
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL, IDI_APPLICATION);
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;
wndclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
////////////////////////////////////////////////////
RegisterClassEx(&wndclass);
DWORD dw;
HANDLE handle;
handle = CreateThread(NULL, 0, ThreadFunc, (LPVOID)&wndclass, 0, &dw);
Sleep(3000);
CloseHandle(handle);
return 0;
}
DWORD WINAPI ThreadFunc(void *p)
{
HWND hWnd;
MSG msg;
WNDCLASS *pw = (WNDCLASS*)p;
hWnd = CreateWindow(pw->lpszClassName,
"my lover program",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
pw->hInstance,
NULL);
ShowWindow(hWnd, SW_SHOWNORMAL);
UpdateWindow(hWnd);
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd,
UINT iMessage,
WPARAM wParam,
LPARAM lParam)
{
HDC dc;
PAINTSTRUCT ps;
RECT rect;
switch(iMessage)
{
case WM_PAINT:
dc = BeginPaint(hWnd, &ps);
GetClientRect(hWnd, &rect);
DrawText(dc, "hello, every day!", -1, &rect, DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hWnd, &ps);
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, iMessage, wParam, lParam);
}
return (0L);
}
哪位帮我看下,哪里出了问题?谢谢了.
错误:cannot open Debug/thread1.exe for writing
Error executing link.exe.
...全文
相关推荐
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
总的来说,PyQT5 提供了强大的多线程和窗口管理功能,允许开发者创建复杂的用户界面并同时处理多个任务。
C#解决“创建窗口句柄时出错”异常
**多线程问题**:如果在多线程环境中创建窗口,必须确保操作在主线程上进行。Windows UI操作通常需要在消息循环所在的线程上执行。5.
在独立线程中显示WPF窗口
**展示WPF窗口在新线程**: - 创建新线程并初始化窗口实例。 - 在新线程中,使用Dispatcher检查权限并在UI线程上显示窗口。
MDI子窗口管理及子窗口创建
在实际项目中,还需要考虑用户体验、性能优化和错误处理等因素,以创建高质量的Windows应用。
易语言-彗星载入线程窗口模块易语言
**错误处理**:在编写多线程程序时,错误处理至关重要,因为线程间的竞争条件可能导致程序崩溃。易语言提供了“捕获异常”等命令来处理可能出现的错误。6.


进程/线程/DLL
