主题:关于第二次编译、构件的问题
以下程序经过编译 构件 执行,成功出现了一个窗口.关闭这个窗口,再次经过编译,到了构件结束时出现了以下错误:
Linking...
LINK : fatal error LNK1168: cannot open Debug/wind.exe for writing
Error executing link.exe.
wind.exe - 1 error(s), 0 warning(s)
并且删除不了Debug文件夹中程序生成的wind.exe文件.这是怎么回事啊?
#include<windows.h>
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
return (DefWindowProc(hwnd,msg,wparam,lparam));
}
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{MSG msg;
WNDCLASSEX wex;
wex.cbSize=sizeof(WNDCLASSEX); //指定以字节为单位的结构大小(始终都是用 sizeof(WNDCLASSEX))
wex.style=CS_HREDRAW|CS_VREDRAW;//窗口风格
wex.lpfnWndProc=WndProc;//指向CALLBACK的指针变量
wex.cbClsExtra=0;//类的额外保留消息(通常为0)
wex.cbWndExtra=0;//同上以个差不多(通常也为0)
wex.hInstance=hInstance;//指向窗口过程实例句柄(句柄是窗口的标识符)
wex.hIcon=LoadIcon(NULL,IDI_WINLOGO);//图标
wex.hCursor=LoadCursor(NULL,IDC_ARROW);//光标
wex.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);//背景色
wex.lpszMenuName=NULL;//菜单名称
wex.lpszClassName="BenClass";//该窗口类的名字
wex.hIconSm=LoadIcon(hInstance,IDI_WINLOGO);//小图标
RegisterClassEx(&wex);//注册该窗口类
/////////////////////////////////////////////////////////
//
//
// 以下是建立窗口
//
//
/////////////////////////////////////////////////////////
HWND hwnd;
if(!(hwnd=CreateWindowEx(NULL,//扩充的窗口风格(不需要),
"BenClass",//窗口类的名字
"Ben's Window",//窗口标题
WS_OVERLAPPEDWINDOW,//窗口风格
CW_USEDEFAULT,0,//设置x,y值(此处是用系统的初始值)
CW_USEDEFAULT,0,//设置w,h值(此处是用系统的初始值)
NULL,//指向父系窗口
NULL,//窗口上的菜单句柄(该窗口无菜单)
hInstance,//winmain()的实例
NULL)))//没什么用的
return (0);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
Linking...
LINK : fatal error LNK1168: cannot open Debug/wind.exe for writing
Error executing link.exe.
wind.exe - 1 error(s), 0 warning(s)
并且删除不了Debug文件夹中程序生成的wind.exe文件.这是怎么回事啊?
#include<windows.h>
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
return (DefWindowProc(hwnd,msg,wparam,lparam));
}
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{MSG msg;
WNDCLASSEX wex;
wex.cbSize=sizeof(WNDCLASSEX); //指定以字节为单位的结构大小(始终都是用 sizeof(WNDCLASSEX))
wex.style=CS_HREDRAW|CS_VREDRAW;//窗口风格
wex.lpfnWndProc=WndProc;//指向CALLBACK的指针变量
wex.cbClsExtra=0;//类的额外保留消息(通常为0)
wex.cbWndExtra=0;//同上以个差不多(通常也为0)
wex.hInstance=hInstance;//指向窗口过程实例句柄(句柄是窗口的标识符)
wex.hIcon=LoadIcon(NULL,IDI_WINLOGO);//图标
wex.hCursor=LoadCursor(NULL,IDC_ARROW);//光标
wex.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);//背景色
wex.lpszMenuName=NULL;//菜单名称
wex.lpszClassName="BenClass";//该窗口类的名字
wex.hIconSm=LoadIcon(hInstance,IDI_WINLOGO);//小图标
RegisterClassEx(&wex);//注册该窗口类
/////////////////////////////////////////////////////////
//
//
// 以下是建立窗口
//
//
/////////////////////////////////////////////////////////
HWND hwnd;
if(!(hwnd=CreateWindowEx(NULL,//扩充的窗口风格(不需要),
"BenClass",//窗口类的名字
"Ben's Window",//窗口标题
WS_OVERLAPPEDWINDOW,//窗口风格
CW_USEDEFAULT,0,//设置x,y值(此处是用系统的初始值)
CW_USEDEFAULT,0,//设置w,h值(此处是用系统的初始值)
NULL,//指向父系窗口
NULL,//窗口上的菜单句柄(该窗口无菜单)
hInstance,//winmain()的实例
NULL)))//没什么用的
return (0);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}