【发布时间】:2020-02-03 13:39:54
【问题描述】:
我想用 C++ 创建一个窗口,但是我遇到了问题。
这是我的代码:
#include <windows.h>
#include <winuser.h>
int CreateDetectWindow()
{
MSG msg;
WNDCLASS wndc;
LPSTR szAppName = "Web Download";
wndc.style = 0;
wndc.lpfnWndProc = WNDPROC;
wndc.cbClsExtra = 0;
wndc.cbWndExtra = 0;
wndc.hInstance = NULL;
wndc.hIcon = NULL;
wndc.hCursor = NULL;
wndc.hbrBackground = (HBRUSH) (COLOR_WINDOW+1);
wndc.lpszMenuName = NULL;
wndc.lpszClassName = szAppName;
RegisterClass(&wndc);
HWND hWnd = CreateWindow(szAppName,"whboy",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,
NULL,NULL,NULL,NULL);
ShowWindow(hWnd,SW_SHOW);
UpdateWindow(hWnd);
SendMessage(hWnd,WM_DEVICECHANGE,0,0);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 1;
}
int main(){
CreateDetectWindow();
}
第 9 行的错误如下:
[错误] D:\developer\C C++\window.cpp:9: 错误: ';' 之前的预期主表达式令牌
我正在使用 Windows 10 64 位和称为 C-Free 的 IDE。
【问题讨论】:
-
看来
WNDPROC是一个类型名,而不是一个对象。但我不知道应该去那里,WinApi 对我来说是个谜。 -
我个人会推荐一个 GUI 框架,不过有 numerous ones。在大多数情况下,您不仅可以获得更简单的方法来创建窗口,而且还可以独立于平台。