| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 627 人关注过本帖, 1 人收藏
标题:Windows程序有问题
只看楼主 加入收藏
sjbird331
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2005-8-5
收藏(1)
 问题点数:0 回复次数:1 
Windows程序有问题
#include "windows.h"
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLIne,int iCmdShow)
{
   static TCHAR szAppName[]=TEXT("HelloWin");
   HWND hwnd;
   MSG msg;
   WNDCLASS wndclass;
   
   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=NULL;
   wndclass.lpszClassName=szAppName;
   
   if(!RegisterClass(&wndclass))
   {
             MessageBox(NULL,TEXT("This program requires Windows NT!"),szAppName,MB_ICONERROR);
             return 0;
   }
   hwnd=CreateWindow(szAppName,                      //window calss name
                     TEXT("The Hello Program"),      //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,iCmdShow);
    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)
{
    HDC hdc;
    PAINTSTRUCT ps;
    RECT rect;
    
    switch(message)
    {
      case WM_CREATE:
          PlaySound(TEXT("hellowin.wav"),NULL,SND_FILENAME|SND_ASYNC);
          return 0;
      case WM_PAINT:
          hdc=BeginPaint(hwnd,&ps);
          GetClientRect(hwnd,&rect);
          DrawText(hdc,TEXT("Hello Windows XP!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
          EndPaint(hwnd,&ps);
          return 0;
      case WM_DESTROY:
          PostQuitMessage(0);
          return 0;    
    }
    return DefWindowProc(hwnd,message,wParam,lParam);
}
由于使用了PlaySound()函数,在 Object/Library Modules 文字方块添加winmm.lib ,但是程序仍然运行不起来,请问这是怎么回事
搜索更多相关主题的帖子: wndclass windows Windows hInstance 
2008-02-14 22:21
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
在Link中加入winmm.lib
或在代码中加入
#pragma comment(lib,"winmm.lib")

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-02-17 11:35
快速回复:Windows程序有问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015434 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved