Что нового

Как подавить вывод стандартного звука при выводе окна?

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
gora [?]
Можно ли как-то узнать состояние звука (вкл\откл) в системе?
Шутите? А если внимательно прочитать сообщение номер 3 или 4?
 
Автор
G

gora

Знающий
Сообщения
315
Репутация
19
`p r o x y [?]
Шутите? А если внимательно прочитать сообщение номер 3 или 4?
И не думал шутить. А что я не увидел в этих сообщениях? В сообщении 5 я написал причины, по которым мне не подошли эти варианты.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Вот универсальный метод для всех ОС. Все UDF в аттаче.

Код:
#Include <SoundQuery.au3>

Global $Dll = -1, $Unmute = 0

Switch @OSVersion
	Case 'WIN_2000', 'WIN_2003', 'WIN_XP', 'WIN_XPe'
		If Not _SoundGetMasterMute() Then
			_SoundSetMasterMute(1)
			$Unmute = 1
		EndIf
	Case Else
		$Dll = _PluginOpen(@ScriptDir & '\Vista_Vol.dll')
		If $Dll <> -1 Then
			If Not _IsMute_Vista() Then
				_SetMute_Vista(1)
				$Unmute = 1
			EndIf
		EndIf
EndSwitch

Sleep(5000)

Switch @OSVersion
	Case 'WIN_2000', 'WIN_2003', 'WIN_XP', 'WIN_XPe'
		If $Unmute Then
			_SoundSetMasterMute(0)
		EndIf
	Case Else
		If $Dll <> -1 Then
			If $Unmute Then
				_SetMute_Vista(0)
			EndIf
			PluginClose($Dll)
		EndIf
EndSwitch

Func _PluginOpen($sPath)

	Local $Ret, $Dll = PluginOpen($sPath)

	If Not $Dll Then
		$Ret = DllCall('kernel32.dll', 'ptr', 'GetModuleHandleW', 'wstr', $sPath)
		If (@error) Or ($Ret[0] = 0) Then
			Return SetError(1, 0, -1)
		EndIf
	EndIf
	Return $Dll
EndFunc   ;==>_PluginOpen
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Автор
G

gora

Знающий
Сообщения
315
Репутация
19
CreatoR [?]
Функцию для определения текущего состояния звука.
CreatoR, может я что-то не понял!? В Вашем варианте управление идет уровнем звука и этот вариант не работает на win 7. Я же в посте 19 спрашиваю не об уровне звука, а
gora [?]
Можно ли как-то узнать состояние звука (вкл\откл)
Т.е. после использования пользователем режима MUTE. Если я правильно понимаю, то это два разных параметра. При использовании MUTE уровень звука в системе не меняется, звук просто выключается или включается, но уровень при этом не регулируется.
Или я ошибаюсь?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
CreatoR сказал(а):
Выдаёт ошибки, не определены константы, не найдены функций.

Ну и что. Ты запускал пример?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Yashied [?]
Ну это неправильно.
Кстати, для PluginOpen нужно добавлять в начало:
Код:
#AutoIt3Wrapper_Plugin_Funcs=_IsMute_Vista,_SetMute_Vista


Ты запускал пример?
Запускал, эти ошибки мне выдал AutoItWrapper.

P.S
Я не сказал что пример не рабочий, я просто указал на ошибки при проверке синтаксиса, их игнорировать нельзя.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Ну, это не я писал библиотеку...

:smile:
 
Верх