编译通过,可是执行时不显示:
Compiling resources...
Compiling...
liu.cpp
Linking...
LINK : fatal error LNK1104: cannot open file "Debug/liu.exe"
Error executing link.exe.文件如下:
*******************resource.h************
#define IDM_NEW 10
#define IDM_OPEN 11
#define IDM_CLOSE 12
#define IDM_SAVE 13
#define IDM_SAVEAS 14
#define IDM_ADDPRINTMENU 15
#define IDM_DELPRINTMENU 16
#define IDM_EXIT 17
#define IDM_CUT 18
#define IDM_COPY 19
#define IDM_PASTE 20
#define IDM_DELETE 21
#define IDM_HELP 22
#define IDM_LINE 23
#define IDM_RECT 24
#define IDM_RRECT 25******************andy.rc**************
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS
#undef APSTUDIO_READONLY_SYMBOLS
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)
#endif //_WIN32
MAINMENU MENU DISCARDABLE
BEGIN
POPUP "文件(&F)"
BEGIN
MENUITEM "新建(&N)\t Ctrl+N", IDM_NEW
MENUITEM "打开(&0)\t Ctrl+0", IDM_OPEN
MENUITEM "关闭(&C)", IDM_CLOSE
MENUITEM SEPARATOR
MENUITEM "保存(&S)\t Ctrl+S", IDM_SAVE
MENUITEM "另存为(&A)", IDM_SAVEAS
MENUITEM SEPARATOR
MENUITEM "创建统计计算菜单(&P)\t Ctrl+P", IDM_ADDPRINTMENU
MENUITEM "删除统计计算菜单(&D)\t Ctrl+D", IDM_DELPRINTMENU,GRAYED
MENUITEM SEPARATOR
MENUITEM "退出(&X)\t Ctrl+X", IDM_EXIT
END
POPUP "编辑(&E)"
BEGIN
MENUITEM "剪切(&T)\t Ctrl+X", IDM_CUT
MENUITEM "复制(&C)\t Ctrl+C", IDM_COPY
MENUITEM "粘贴(&P)\t Ctrl+V", IDM_PASTE
MENUITEM "删除(&D)\t Del", IDM_DELETE
END
MENUITEM "帮助(&H)", IDM_HELP
END
MENU ACCELERATORS MOVEABLE PURE
BEGIN
"^N", IDM_NEW, ASCII
"^O", IDM_OPEN, ASCII
"^S", IDM_SAVE, ASCII
"^P", IDM_ADDPRINTMENU, ASCII
"^D", IDM_DELPRINTMENU, ASCII
"^X", IDM_CUT, ASCII
"^C", IDM_COPY, ASCII
"^V", IDM_PASTE, ASCII
VK_DELETE, IDM_DELETE, VIRTKEY
END
#endif*******************liu.cpp**************
#include <windows.h>#include "resource.h"
HMENU hmenu,hprintmenu;
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int nCmdShow){ HWND hwnd ; MSG msg ;
HACCEL hAccel; WNDCLASS wndclass ;
char lpszMenuName[]="Menu";
char lpszClassName[]="菜单";
char lpszTitle[]="My_Menu_Examle"; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = lpszMenuName ;//在窗口类中定义菜单的字符串名 wndclass.lpszClassName = lpszClassName ;
if (!RegisterClass (&wndclass)) { MessageBeep(0);
return FALSE ; } hwnd = CreateWindow (lpszMenuName, // window class name lpszTitle, // window caption WS_OVERLAPPEDWINDOW, // window style CW_USEDEFAULT, // initial x position CW_USEDEFAULT, // initial y position CW_USEDEFAULT, // initial x size CW_USEDEFAULT, // initial y size NULL, // parent window handle NULL, // window menu handle hInstance, // program instance handle NULL) ; // creation parameters ShowWindow (hwnd, nCmdShow) ; UpdateWindow (hwnd) ; hAccel=LoadAccelerators(hInstance,lpszMenuName); 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_COMMAND:
switch(LOWORD(wParam))
{
case IDM_NEW:
break;
case IDM_OPEN:
break;
case IDM_SAVE:
break;
case IDM_SAVEAS:
break;
case IDM_CLOSE:
break;
case IDM_ADDPRINTMENU:
hmenu=GetMenu(hwnd);
hprintmenu=CreateMenu();
AppendMenu(hprintmenu,MF_ENABLED,IDM_LINE,"求和");
AppendMenu(hprintmenu,MF_ENABLED,IDM_RECT,"方差");
AppendMenu(hprintmenu,MF_ENABLED,IDM_RRECT,"平均值");
InsertMenu(hmenu,2,MF_POPUP|MF_BYPOSITION,(UINT)hprintmenu,"统计计算(&C)");
EnableMenuItem(hmenu,IDM_ADDPRINTMENU,MF_GRAYED);
EnableMenuItem(hmenu,IDM_DELPRINTMENU,MF_ENABLED);
DrawMenuBar(hwnd);
break; case IDM_DELPRINTMENU:
DeleteMenu(hmenu,2,MF_BYPOSITION);
EnableMenuItem(hmenu,IDM_ADDPRINTMENU,MF_GRAYED);
EnableMenuItem(hmenu,IDM_DELPRINTMENU,MF_ENABLED);
DrawMenuBar(hwnd);
break;
case IDM_EXIT:
SendMessage(hwnd,WM_DESTROY,0,0);
break;
case IDM_CUT:
break;
case IDM_COPY:
break;
case IDM_PASTE:
break;
case IDM_DELETE:
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}
Compiling resources...
Compiling...
liu.cpp
Linking...
LINK : fatal error LNK1104: cannot open file "Debug/liu.exe"
Error executing link.exe.文件如下:
*******************resource.h************
#define IDM_NEW 10
#define IDM_OPEN 11
#define IDM_CLOSE 12
#define IDM_SAVE 13
#define IDM_SAVEAS 14
#define IDM_ADDPRINTMENU 15
#define IDM_DELPRINTMENU 16
#define IDM_EXIT 17
#define IDM_CUT 18
#define IDM_COPY 19
#define IDM_PASTE 20
#define IDM_DELETE 21
#define IDM_HELP 22
#define IDM_LINE 23
#define IDM_RECT 24
#define IDM_RRECT 25******************andy.rc**************
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS
#undef APSTUDIO_READONLY_SYMBOLS
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)
#endif //_WIN32
MAINMENU MENU DISCARDABLE
BEGIN
POPUP "文件(&F)"
BEGIN
MENUITEM "新建(&N)\t Ctrl+N", IDM_NEW
MENUITEM "打开(&0)\t Ctrl+0", IDM_OPEN
MENUITEM "关闭(&C)", IDM_CLOSE
MENUITEM SEPARATOR
MENUITEM "保存(&S)\t Ctrl+S", IDM_SAVE
MENUITEM "另存为(&A)", IDM_SAVEAS
MENUITEM SEPARATOR
MENUITEM "创建统计计算菜单(&P)\t Ctrl+P", IDM_ADDPRINTMENU
MENUITEM "删除统计计算菜单(&D)\t Ctrl+D", IDM_DELPRINTMENU,GRAYED
MENUITEM SEPARATOR
MENUITEM "退出(&X)\t Ctrl+X", IDM_EXIT
END
POPUP "编辑(&E)"
BEGIN
MENUITEM "剪切(&T)\t Ctrl+X", IDM_CUT
MENUITEM "复制(&C)\t Ctrl+C", IDM_COPY
MENUITEM "粘贴(&P)\t Ctrl+V", IDM_PASTE
MENUITEM "删除(&D)\t Del", IDM_DELETE
END
MENUITEM "帮助(&H)", IDM_HELP
END
MENU ACCELERATORS MOVEABLE PURE
BEGIN
"^N", IDM_NEW, ASCII
"^O", IDM_OPEN, ASCII
"^S", IDM_SAVE, ASCII
"^P", IDM_ADDPRINTMENU, ASCII
"^D", IDM_DELPRINTMENU, ASCII
"^X", IDM_CUT, ASCII
"^C", IDM_COPY, ASCII
"^V", IDM_PASTE, ASCII
VK_DELETE, IDM_DELETE, VIRTKEY
END
#endif*******************liu.cpp**************
#include <windows.h>#include "resource.h"
HMENU hmenu,hprintmenu;
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int nCmdShow){ HWND hwnd ; MSG msg ;
HACCEL hAccel; WNDCLASS wndclass ;
char lpszMenuName[]="Menu";
char lpszClassName[]="菜单";
char lpszTitle[]="My_Menu_Examle"; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = lpszMenuName ;//在窗口类中定义菜单的字符串名 wndclass.lpszClassName = lpszClassName ;
if (!RegisterClass (&wndclass)) { MessageBeep(0);
return FALSE ; } hwnd = CreateWindow (lpszMenuName, // window class name lpszTitle, // window caption WS_OVERLAPPEDWINDOW, // window style CW_USEDEFAULT, // initial x position CW_USEDEFAULT, // initial y position CW_USEDEFAULT, // initial x size CW_USEDEFAULT, // initial y size NULL, // parent window handle NULL, // window menu handle hInstance, // program instance handle NULL) ; // creation parameters ShowWindow (hwnd, nCmdShow) ; UpdateWindow (hwnd) ; hAccel=LoadAccelerators(hInstance,lpszMenuName); 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_COMMAND:
switch(LOWORD(wParam))
{
case IDM_NEW:
break;
case IDM_OPEN:
break;
case IDM_SAVE:
break;
case IDM_SAVEAS:
break;
case IDM_CLOSE:
break;
case IDM_ADDPRINTMENU:
hmenu=GetMenu(hwnd);
hprintmenu=CreateMenu();
AppendMenu(hprintmenu,MF_ENABLED,IDM_LINE,"求和");
AppendMenu(hprintmenu,MF_ENABLED,IDM_RECT,"方差");
AppendMenu(hprintmenu,MF_ENABLED,IDM_RRECT,"平均值");
InsertMenu(hmenu,2,MF_POPUP|MF_BYPOSITION,(UINT)hprintmenu,"统计计算(&C)");
EnableMenuItem(hmenu,IDM_ADDPRINTMENU,MF_GRAYED);
EnableMenuItem(hmenu,IDM_DELPRINTMENU,MF_ENABLED);
DrawMenuBar(hwnd);
break; case IDM_DELPRINTMENU:
DeleteMenu(hmenu,2,MF_BYPOSITION);
EnableMenuItem(hmenu,IDM_ADDPRINTMENU,MF_GRAYED);
EnableMenuItem(hmenu,IDM_DELPRINTMENU,MF_ENABLED);
DrawMenuBar(hwnd);
break;
case IDM_EXIT:
SendMessage(hwnd,WM_DESTROY,0,0);
break;
case IDM_CUT:
break;
case IDM_COPY:
break;
case IDM_PASTE:
break;
case IDM_DELETE:
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}
解决方案 »
- 关于winpcap的问题!~
- 在程序中如何关闭显示器? 按了我指定的某个键之后再打开.
- 有关局域网编程的问题
- 服务器程序处理较多TCP长连接中存在一个无法知道原因的问题,请大家帮我分析分析,答者均有分,不够再加!
- 请问哪里可以查寻函数的用法?
- 紧急求助,MFC写的组件函数找不到,在线等待,马上给分
- 那位大虾能告诉我那里可以下载到<<Windows95 API开发人员指南>> 30分认购呀
- XtremeToolkit1922 怎样编译中文?
- 关于画橡皮线的问题??
- 足球俱乐部管理系统
- 100分关于用API生成RichEdit控件的光标问题
- 怎样使我的程序可以自动访问一个URL,比如www.sohu.com?
hwnd = CreateWindow (lpszMenuName, // window class name lpszTitle, // window caption WS_OVERLAPPEDWINDOW | WS_VISIBLE, // window style,我在这里加了这个属性 CW_USEDEFAULT, // initial x position CW_USEDEFAULT, // initial y position CW_USEDEFAULT, // initial x size CW_USEDEFAULT, // initial y size NULL, // parent window handle NULL, // window menu handle hInstance, // program instance handle NULL) ; // creation parametersShowWindow一句可不要
hwnd = CreateWindow (lpszMenuName,
lpszTitle, // window caption
WS_OVERLAPPEDWINDOW |WS_VISIBLE
.....其实你的程序已经运行了,那个连接错误已经说明了!
只是窗体没显示出来而已
hwnd = CreateWindow (lpszMenuName,
把lpszMenuName 改成 pszClassName看样子你的程序已经运行起来了,不会结束,就重新启动一次吧
然后再按我上面说的改
请帮帮我
谢谢!真是你说的那样
同样谢谢大家