PlaySound
Но споткнулся на первом же примере
HELLOWIN.C -- Displays "Hello, Windows 95!" in client area
(c) Charles Petzold, 1996
------------------------------------------------------------*/
#include <windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static char szAppName[] = "HelloWin" ;
HWND hwnd ;
MSG msg ;
WNDCLASSEX wndclass ;
wndclass.cbSize = sizeof (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 ;
wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION) ;
RegisterClassEx (&wndclass) ;
hwnd = CreateWindow (szAppName, // window class name
"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 iMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;
switch (iMsg)
{
case WM_CREATE :
PlaySound ("hellowin.wav", NULL, SND_FILENAME | SND_ASYNC) ;
return 0 ;
case WM_PAINT :
hdc = BeginPaint (hwnd, &ps) ;
GetClientRect (hwnd, &rect) ;
DrawText (hdc, "Hello, Windows 95!", -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
EndPaint (hwnd, &ps) ;
return 0 ;
case WM_DESTROY :
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}
Компилирую со стандартными настройками и мне выдает ошибку
HELLOWIN.OBJ : error LNK2001: unresolved external symbol __imp__PlaySoundA@12
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/HELLOWIN.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
Трабл в PlaySound, но никак не пойму что не правильно, среда Visual C++ 6.
winmm.lib
Попробуй подключить mmsystem.h, и Добавить в Project->Settings->Link->Object/Library modules:
winmm.lib
я бы на вашем месте не отвечал... совсем народ разучился мозгами шевелить! :x
я бы на вашем месте не отвечал... совсем народ разучился мозгами шевелить! :x
Да ну че жалко что ли, у меня например когда MSDN'a небыло так я облазился искать к какой функции какой заголовочный файл нужен..
Да ну че жалко что ли, у меня например когда MSDN'a небыло так я облазился искать к какой функции какой заголовочный файл нужен..
инетернет есть а MSDN нет??? не смешите меня... есть такая штука
http://msdn.microsoft.com/library/default.asp
инетернет есть а MSDN нет??? не смешите меня... есть такая штука
http://msdn.microsoft.com/library/default.asp
Не повериш,но раньше были времена когда пиво было вкуснее, а девушки красивие, но зато интернет был только у знакомых на работе, а диски с MSDN не найти на простом пиратском рынке :)
Не повериш,но раньше были времена когда пиво было вкуснее, а девушки красивие, но зато интернет был только у знакомых на работе, а диски с MSDN не найти на простом пиратском рынке :)
помню я эти времена... не надо меня сильно "омолаживать" :D только я говорю про сейчас. на форуме все больше вопросов, свидетельствующих о том, что народу лень шевелить серыми клеточками и пользоваться google... если есть форум есть и Online MSDN - логично?
Library: Use Winmm.lib.
.Как видно из кода с заголовком все правильно. А вот библиотеку добавить я не догадался. Просто я новичок в Visual C++ да и язык сам только недавно стал изучать
P.S
А пиво раньше наверное действительно вкуснее было, хотя раньше я его не пил:D
я бы на вашем месте не отвечал... совсем народ разучился мозгами шевелить! :x
Когда я был начинающим программистом на С++,
у меня возник такой же вопрос. МСДН у меня тогда не
было (интернет тоже), поэтому приходилось пользоваться WIN32 SDK, который взодитв поставку БИЛДЕРА. И думал я с неделю как это исправить.
(не худа без добра - зато перелопатил все настройки Visual C++ и узнал чё они означают)
Раз уж пощел такой разговор, так может кто нибудь подскажет как изменять громкость того что проигрывается этим PlaySound'oм, или хотя бы громкость Windows вообще.
Почитай о waveOutSetVolume.
Почитай о waveOutSetVolume.
Я уже читал, непонятно откуда взять этот самый hWo
MMRESULT waveOutSetVolume(
HWAVEOUT hwo,
DWORD dwVolume
);
Parameters
hwo
Handle of an open waveform-audio output device. This parameter can also be a device identifier.
if(waveOutSetVolume((void*)WAVE_MAPPER,AVolume)==MMSYSERR_NOERROR)ShowMessage("Ok!");
Это меняет общий звук в системе.
Это меняет общий звук в системе.
А нельзя ли какнить поменять тока звук моей программы, а то пользователи побьют.