newCstudy 2019-03-09 16:57 采纳率: 0%
浏览 2236
已采纳

Windows程序编译成功,在后台运行了,但没有显示窗口

新学MFC,按照书上程序敲的,vs2010编译成功,exe文件在后台运行,但不显示窗口
程序名称是TEXT

#include<windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE preInstance,
                   LPSTR ipCmdShow,
                   int nCmdShow)
{
HWND hwnd1;
HWND hwnd2;
HWND hwnd3;
MSG msg;
/*窗口1*/
char lpszClassName1[]="窗口1";//窗口类名
//char lpszTitle[]="My_Windows"
//窗口标题
WNDCLASS wc1;
wc1.style=0;//窗口类型为缺省类型
wc1.lpfnWndProc=WndProc;//定义窗口处理函数
wc1.cbClsExtra=0;//窗口类无扩展
wc1.cbWndExtra=0;//窗口实例无扩展
wc1.hInstance=hInstance;//当前实例句柄
wc1.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口的最小化图标为缺省图标
wc1.hCursor=LoadCursor(NULL,IDC_ARROW);//窗口采用箭头光标
wc1.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景为白色
wc1.lpszMenuName=NULL;//窗口无菜单
wc1.lpszClassName=lpszClassName1;//窗口类名为窗口

RegisterClass(&wc1);

/*窗口2*/
char lpszClassName2[]="窗口2";//窗口类名
//char lpszTitle[]="My_Windows"
//窗口标题
WNDCLASS wc2;
wc2.style=0;//窗口类型为缺省类型
wc2.lpfnWndProc=WndProc;//定义窗口处理函数
wc2.cbClsExtra=0;//窗口类无扩展
wc2.cbWndExtra=0;//窗口实例无扩展
wc2.hInstance=hInstance;//当前实例句柄
wc2.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口的最小化图标为缺省图标
wc2.hCursor=LoadCursor(NULL,IDC_ARROW);//窗口采用箭头光标
wc2.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH);//窗口背景为白色
wc2.lpszMenuName=NULL;//窗口无菜单
wc2.lpszClassName=lpszClassName2;//窗口类名为窗口

RegisterClass(&wc2);

hwnd1=CreateWindow(lpszClassName1,
                  "Windows1",
                  WS_OVERLAPPEDWINDOW,
                  120,50,700,500,
                  NULL,
                  NULL,
                  hInstance,
                  NULL);

hwnd2=CreateWindow(lpszClassName2,
                  "Windows2",
                  WS_OVERLAPPEDWINDOW,
                  150,80,800,600,
                  NULL,
                  NULL,
                  hInstance,
                  NULL);

hwnd3=CreateWindow(lpszClassName1,
                  "Windows3",
                  WS_OVERLAPPEDWINDOW,
                  200,130,500,300,
                  NULL,
                  NULL,
                  hInstance,
                  NULL);

ShowWindow(hwnd1,nCmdShow);//显示窗口
UpdateWindow(hwnd1);//绘制用户区

ShowWindow(hwnd2,nCmdShow);//显示窗口
UpdateWindow(hwnd2);//绘制用户区

ShowWindow(hwnd3,nCmdShow);//显示窗口
UpdateWindow(hwnd3);//绘制用户区

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_LBUTTONDOWN:{MessageBeep(0);}break;
case WM_DESTROY:PostQuitMessage(0);break;
default:DefWindowProc(hwnd,message,wParam,lParam);//缺省时采用系统消息缺省处理函数

}
return 0;
}
  • 写回答

1条回答 默认 最新

  • qdv1100 2019-03-09 20:35
    关注

    窗口过程处理函数里面
    default:DefWindowProc(hwnd,message,wParam,lParam);//缺省时采用系统消息缺省处理函数
    这一行删掉
    返回值改成return DefWindowProc(hwnd, message, wParam, lParam);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化