代码-关于无法创建w32窗口的问题

问题描述

关于无法创建w32窗口的问题

#include
#include

LRESULT _stdcall WndProc (HWND, UINT, WPARAM, LPARAM);

int _stdcall _tWinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, PTSTR szCmdLine, int iCmdShow)
{
WNDCLASSEX wndClassEx;
wndClassEx.cbSize = sizeof(WNDCLASSEX);
wndClassEx.style = CS_HREDRAW | CS_VREDRAW;
wndClassEx.lpfnWndProc = WndProc;
wndClassEx.cbClsExtra = 0;
wndClassEx.cbWndExtra = 0;
wndClassEx.hInstance = hInstance;
wndClassEx.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wndClassEx.hCursor = LoadCursor (NULL,IDC_ARROW);
wndClassEx.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
wndClassEx.lpszMenuName = NULL;
wndClassEx.lpszClassName = L"SimWinClass";
wndClassEx.hIconSm = NULL;

if(!RegisterClassEx(&wndClassEx))
{
    MessageBox(NULL,L"注册窗口类失败!",L"SimpleWinApp",0);
    return 0;
}

HWND hwnd = NULL;
hwnd = CreateWindowEx( NULL,
    L"SimWinApp",
    L"SimpleWinApp",
    WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    NULL,
    NULL,
    hInstance,
    NULL
    );

if(hwnd == NULL)
{
    MessageBox(NULL, L"创建窗口失败", L"SimpleWinApp",0);
    return 0;
}

ShowWindow( hwnd, iCmdShow );
UpdateWindow( hwnd );

MSG msg;
while( GetMessage( &msg, NULL, 0, 0))
{
    TranslateMessage( &msg );
    DispatchMessage( &msg );
}
return msg.wParam ;

}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wparam, LPARAM lParam)
{
switch (message)
{
case WM_CREATE:
break;

case WM_KEYDOWN:
    if( wparam == VK_ESCAPE)
        PostQuitMessage (0);
    break;

case WM_DESTROY:
    PostQuitMessage (0);
    break;
}
return DefWindowProc(hwnd, message, wparam, lParam);

}


代码如上,基础窗口创建显示创建失败,句柄无法获取,求解答

解决方案

用WINAPI,别用_stdcall,64位的WINAPI是_fastcall

另外关于win32创建窗口:
http://blog.csdn.net/zuishikonghuan/article/details/46378475

解决方案二:

CreatWindowEx()里的窗口类名写错了。

时间: 2024-10-30 02:11:45

代码-关于无法创建w32窗口的问题的相关文章

创建分层窗口,实现图像渐变

本文配套源码 有没有方法创建一个半透明的窗口,并将该窗口上发生的所有鼠标事件都传递到桌面或另一个应用窗口处理? 当然可以,并且相当容易.你只要创建一个"分层窗口"即可.我写了一个 小程序叫 lwtest 来示范如何做.你可以下载源代码.为了创建分层窗口,你需要扩展式样 WS_EX_LAYERED,此外,为了能在透明窗口上进行鼠标点击,你还需要 WS_EX_TRANSPARENT 扩展式样. 在窗口创建之后,你可以同时设置两个式样,MFC代码如下: int CMainFrame::OnC

对象-我用编码方式在qt创建一个窗口,为什么除了窗口的标题显示正常外,其余地方窗口都没有显示?

问题描述 我用编码方式在qt创建一个窗口,为什么除了窗口的标题显示正常外,其余地方窗口都没有显示? 我用编码方式在qt创建一个窗口,为什么除了窗口的标题显示正常外,其余地方窗口都没有显示?求指教! 代码:#ifndef CALENDER_H #define CALENDER_H #include #include #include #include #include #include #include #include #include #include #include #include #i

悬浮窗-Android 通过WindowManager.addVidw创建的窗口系统是否会自动销毁?

问题描述 Android 通过WindowManager.addVidw创建的窗口系统是否会自动销毁? 如题,我做了一个类似悬浮窗的小辅助工具,设计初衷是要求在任何界面都能一直保持显示,并设计了一个开关来决定是否一直显示和隐藏.但是在运行测试的过程中发现,这个悬浮窗会在某些时候自动消失掉,但是我跟进过并log过removeView的地方,都没看到是我的误操作导致的销毁. 因此怀疑是否是系统在某些特定的环境或者情况下会自动回收这些Window的View,顺便贴下我的部分代码 WindowManag

一种打开子窗口的方法[父页内创建子窗口]

创建|子窗口 <html> <head> <title>Test</title><script>function openSubWin()   {   subWindow=window.open("", "newwin", "height=250, width=250,toolbar=no ,scrollbars="+scroll+",menubar=no");   

python在windows下创建隐藏窗口子进程的方法

  本文实例讲述了python在windows下创建隐藏窗口子进程的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 import subprocess IS_WIN32 = 'win32' in str(sys.platform).lower() def subprocess_call(*args, **kwargs): #also works for Popen. #It creates a new *hidden* window

窗口置顶 覆盖任务栏-如何将自己创建的窗口永久的置顶在任务栏之上?

问题描述 如何将自己创建的窗口永久的置顶在任务栏之上? 我想用自己的窗口挡住一半的桌面,但我置顶了窗口之后单击任务栏时任务栏跑到了 我的窗口的上面,如何能让我的窗口一直处在任务栏的上面呢?有没有大神能帮我解决? 解决方案 设置topmost属性.同时设置窗口父窗口为桌面. 解决方案二: C#用this.TopMost = true Delphi类似 VB.C++用API SetWindowPos,传递SWP_TOPMOST

pb9aaaaaaa-如何在pb9中创建window窗口的标题前面加图片

问题描述 如何在pb9中创建window窗口的标题前面加图片 如何在pb9中创建window窗口的标题前面加图片aaaaaaaaaaaaaaaaaaaaaaaaaaa

动态创建的窗口类的句柄怎么获得

问题描述 动态创建的窗口类的句柄怎么获得 如题 动态创建的窗口类的句柄怎么获得 请名位大侠帮帮忙 谢谢 解决方案 先使用SPY++找找规律,比如嵌套层次.窗口名.样式等等,然后用getwindow enumchildwindow等api实现. 解决方案二: 你不管怎么创建,也会有那个实例,实例中就有,不知道你的动态是什么样的动态 解决方案三: 动态创建的窗口类,你给窗体定义的窗体名或者类名是什么,可以通过它们 + FindWindows 来获取到窗口的句柄.

github-将GitHub上代码仓库可以创建一个链接分享给别人么?

问题描述 将GitHub上代码仓库可以创建一个链接分享给别人么? 想GitHub上代码仓库可以创建一个链接分享出来,这样别人点击链接后就可以直接看到仓库里代码.求大神指教方法!!