回 帖 发 新 帖 刷新版面

主题:[讨论]帮忙调一下吧,我是找不出错了。

#include <windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
int WINAPI WinMain (HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR 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 class 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 98!"), -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) ;
}

回复列表 (共5个回复)

沙发

//这是错误提示
--------------------Configuration: 111 - Win32 Debug--------------------
Linking...
HolleMsg.obj : error LNK2001: unresolved external symbol __imp__PlaySoundA@12
Debug/111.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

111.exe - 2 error(s), 0 warning(s)

板凳

PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ;
这里需要设置:
从Procject菜单选择Setting,然后选择Link选项卡,从Category列表框中选择General
,然后在Object/Library Modules文本框中添加WINMM.LIB,就可以了

3 楼

Cannot open precompiled header file: 'Debug/exam.pch': No such file or directory
Error executing cl.exe.

好象还是出错啊~

4 楼

在开始加上
#include<mmsystem.h>
#pragma comment( lib, "winmm.lib" )

5 楼

set all the files' attributes to Normal,
and rebuild your solution.

我来回复

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