百度收费,看看这里能不能问到。学习Win32的时候视频里的代码运行不出来,感觉是
HWND
WINAPI
CreateWindowExW(
In DWORD dwExStyle,
In_opt LPCWSTR lpClassName,
In_opt LPCWSTR lpWindowName,
In DWORD dwStyle,
In int X,
In int Y,
In int nWidth,
In int nHeight,
In_opt HWND hWndParent,
In_opt HMENU hMenu,
In_opt HINSTANCE hInstance,
In_opt LPVOID lpParam);
这个函数不存在运行不出来,看系统自带的代码注册完窗口后是
if (!InitInstance (hInstance, nCmdShow))
{
return FALSE;
}
HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WINDOWSPROJECT2));
这两个函数,想知道这两个函数是在干什么。
我没记错的话InitInstance
是自己生成的函数,自己看看,应该包含注册窗体类相关操作。LoadAccelerators
是 API ,作用是加载加速键,类似快捷键,不过我没用过,所以没深究过。
我发现是系统自己写的,作用是创建窗口,也发现了回调函数不写才会报错,CreateWindow这个函数能用。不过用visual studio2019 新建一个空项目然后用main代替入口函数不知道为什么运行出来是黑框,用窗口应用程序新建的项目用WinMain的入口函数就能运行出窗口,有什么讲究吗?
还有,这园豆要怎么给啊。
@才出昆仑便不清: 回调是窗口函数回调,是必须写的,详情请学习 Win 的消息机制。main
函数是给控制台程序看的,WinMain
是Win
上非控制台的普通程序入口,虽然作用和main
一样。当然我也可以通过WinMain
来创建一个控制台(所谓的黑框)。如果你不创建窗体并显示,WinMain
也不会出现窗体。同理main
也可以通过 API 创建窗体并显示,不过黑框隐藏不了。
@才出昆仑便不清: 豆要给的话需要结贴,点击结贴,选中最佳答案,输入数目,最后确认结贴。