c++尝试使用hwnd

我没有学习过HWND 在使用vs2019时,尝试使用hwnd来弹出一个窗口,但是为什么会出现以下错误内容??

img

img

HWND应该是unsigned int类型,头文件是 windows.h定义的,mfc封装了一个 CWnd 的类,你看看你是不是用错了。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7632713
  • 以下回答来自chatgpt:

    对于如何使用hwnd来实现窗口弹出,需要先明确具体的需求。如果是需要指定窗口的句柄来进行弹出,可以使用ShowWindow函数来实现。具体步骤如下:

    1. 获取指定窗口的句柄,可以使用FindWindow或FindWindowEx等函数来获取;
    2. 根据需要进行ShowWindow操作,可以选择SW_SHOWNORMAL、SW_HIDE、SW_MAXIMIZE等等操作;
    3. 如果需要对弹出的窗口进行样式等设置,可以使用SetWindowLong函数进行设置;
    4. 如果需要定制窗口,可以参考WinAPI文档中的相关函数进行编写。

    示例代码如下:

    #include <Windows.h>
    
    // 获取指定窗口的句柄
    HWND hwnd = FindWindow(nullptr, L"窗口标题");
    
    // 窗口弹出,SW_NORMAL表示以最近打开的状态显示窗口
    ShowWindow(hwnd, SW_SHOWNORMAL);
    
    // 设置窗口位置
    SetWindowPos(hwnd, HWND_TOP, 0, 0, 640, 480, SWP_FRAMECHANGED);
    

    如果在使用hwnd时出现错误提示,需要具体看错误信息进行解决。常见的hwnd错误可能是类型不匹配或未初始化等问题,需要根据具体情况进行排查。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^