回 帖 发 新 帖 刷新版面

主题:[讨论]关于Windows应用程序的问题--请高手指教


我在Win32 Application下创建了一个.cpp文件:



//包含应用程序中所需的数据类型和数据结构的定义

#include<windows.h>



//窗口函数说明

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
//---------------------以下初始化窗口类---------------------

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
    HWND hwnd;
    MSG Msg;
    WNDCLASS wc;
    char szApplicationName[]="Exam3_1Window";  //窗口标题名
    //定义窗口类
    wc.style=CS_HREDRAW|CS_VREDRAW;           //定义窗口类型为当窗口大小变化时窗口重画
    wc.lpfnWndProc=WndProc;                   //定义窗口处理函数
    wc.cbClsExtra=0;                          //窗口类无扩展
    wc.cbWndExtra=0;                          //窗口实例无扩展
    wc.hInstance=hInstance;                   //当前实例句柄
    wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);  //窗口的最小化图标为默认图标
    wc.hCursor=LoadCursor(NULL,IDC_ARROW);    //窗口采用箭头光标
    wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);  //窗口背景为白色
    wc.lpszMenuName=NULL;                     //窗口中无菜单
    wc.lpszClassName=szApplicationName;       //定义窗口类名称

    //------------------------注册窗口类-------------------------
    RegisterClass( &wc);
    (
        szApplicationName,              //窗口类名
        szApplicationName,              //窗口的标题名
        WS_OVERLAPPEDWINDOW,            //窗口风格
        CW_USEDEFAULT,   
        CW_USEDEFAULT,                   //窗口左上角设为默认值
        CW_USEDEFAULT,
        CW_USEDEFAULT,                    //窗口的高度和宽设为默认值
        NULL,                            //此窗口无父窗口
        NULL,                            //此窗口无主菜单
        hInstance,                        //创建此窗口的应用程序的当前句柄
        NULL
    );
    //------------------显示窗口-----------------------------------
    ShowWindow( hwnd, nCmdShow);
    //----------------------绘制用户区---------------------------
    UpdateWindow(hwnd);
    //----------------------消息循环------------------------------
    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_DESTROY:
      PostQuitMessage(0); //调用PostQuitMessage()函数向应用程序发出WM_QUIT消息
    default:              //默认情况下调用系统消息默认处理函数
        return DefWindowProc(hwnd,message,wParam,lParam);
    }
    return 0;
}





调试没有错可是总是执行不了:

-Configuration: Exam3_2 - Win32 Debug--------------------
Linking...
LINK : fatal error LNK1168: cannot open Debug/Exam3_2.exe for writing
执行 link.exe 时出错.

Exam3_2.exe - 1 error(s), 0 warning(s)


请问一下是什么原因?

回复列表 (共6个回复)

沙发

你看看是不是以前打开了一个应用程序没有关掉他。

实在不行,把DEBUG删除,重新编译看看

板凳

那请问怎么把 DEBUG 删除啊,

3 楼

把工程所在文件夹里的DEBUG文件夹删除重新编译

4 楼


[color=FF0000]hwnd=CreateWindow[/color]
    (
        szApplicationName,              //窗口类名
        szApplicationName,              //窗口的标题名
        WS_OVERLAPPEDWINDOW,            //窗口风格
        CW_USEDEFAULT,   
        CW_USEDEFAULT,                   //窗口左上角设为默认值
        CW_USEDEFAULT,
        CW_USEDEFAULT,                    //窗口的高度和宽设为默认值
        NULL,                            //此窗口无父窗口
        NULL,                            //此窗口无主菜单
        hInstance,                        //创建此窗口的应用程序的当前句柄
        NULL
    );

5 楼

谢谢两位高手

是我写错了,应该是楼主4说的那样

谢谢

6 楼

lz你好,我做的是一个电路信号时序演示程序,用MFC做的,单文档的,其它的都差不多了,只是想在执行过程中实现点击单文档区域暂停,再点一下再开始的功能,但我那程序一点就死了,然后学着网上说的多线程的方法,也没能成功,一点程序还是死掉。请教lz有什么方法。谢谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册