Привет, коллеги !
Незадача, чъёрт побъеры !
Есть код для выключения звука:
// где-то в h-Файле
#include <Mmsystem.h>
HWAVEOUT hwo;
WAVEFORMATEX tw;
DWORD Volume;
// собственно сpp-реализация
// открыть звуковое устройство и получить дескриптор
MMRESULT f0 = waveOutOpen(&hwo,WAVE_MAPPER,&tw,NULL,NULL,WAVE_FORMAT_DIRECT );
if(f0 != MMSYSERR_NOERROR ) // WAVE_ALLOWSYNC, WAVE_FORMAT_DIRECT - работает 0-не полностью
{
MessageBox("Ошибка открытия устройства звука");
CString dd;
dd.Format("%d",(int)f0);
MessageBox(dd);
}
// отключить звук
waveOutGetVolume(hwo, &Volume);
waveOutSetVolume(hwo, 0);
// включить обратно
waveOutSetVolume(hwo, Volume);
Нстройка проекта Release: Linker --> Input --> Additional dependencies = WINMM.LIB (на VC++6 чуть в другом месте)
Так вот в чем прикол !
Компилю на своей любимой старенькой Visual Studio 6 на Win XP+SP3 - работает как часики !
Этот же код откомпилированный - переношу в виде EXE на Win 7 (Corporate edition)
Не работает. Звук НЕ отключает !
Ставлю на Win-7 VS2008. Компилирую. В своей же среде
НЕ работает. При открытии код открытия 32 - ошибка.
Соответственно звук
НЕ отключается, а иногда прога даже аварийно завершается. Ошибок при компиляции нет !
Помогите плизз ! В чём дело ? Почему не открывается звуковое устройство ?!!! Или может быть у кого-то есть наработки по такому простому вопросу, как ОТКЛЮЧЕНИЕ звука ?! Благодарность моя не будет знать границ !