Фигурные скобки в команде Autohotkey "отправить" конфликтуют с фигурные скобки

это довольно трудно объяснить, не показывая код первым, так что здесь идет:

этот код:

#l::
{
SoundGet, mutestate, , MUTE
if mutestate = Off
    Send {Volume_Mute}
Sleep 200
DllCall("LockWorkStation")
Sleep 200
SendMessage,0x112,0xF170,2,,Program Manager
Return
}

и это вывод журнала:

002: {
003: SoundGet,mutestate,,MUTE
004: if mutestate = Off
005: Sleep,200 (0.20)
006: DllCall("LockWorkStation")  
007: Sleep,200 (0.20)
008: SendMessage,0x112,0xF170,2,,Program Manager
009: Return (16.63)

теперь к фактической "проблеме".

существует одна часть фактического кода, который не отображается в журнале (но все еще выполняется), который является Send {Volume_Mute}. Я проверил, что он все еще работает, установив громкость до максимума, а затем вызвав горячую клавишу. Он блокирует компьютер, затем отключает звук, который именно то, что он должен делать.

мне просто интересно, почему он не появляется в журнале вообще. Моя единственная догадка заключалась бы в том, что фигурные скобки, вероятно, вызывают "проблему".

#l::
{                                              << This brace
SoundGet, mutestate, , MUTE
if mutestate = Off
    Send {Volume_Mute}                         << The 2 braces here
Sleep 200
DllCall("LockWorkStation")
Sleep 200
SendMessage,0x112,0xF170,2,,Program Manager
Return
}                                              << And this brace

Я не совсем уверен, что это то, что вызывает проблему, но я действительно хотел бы знать, что именно является причиной.

8
задан fixer1234
02.12.2022 13:39 Количество просмотров материала 2761
Распечатать страницу

1 ответ

после Windows XP,SoundGet - это не лучший способ получить бесшумное состояние. Я рекомендую проверить Vista Audio Library который я считаю, в настоящее время лучший метод.

просто сохраните файл в директорию вашего скрипта и включите его с помощью #Include такой:

#Include VA.ahk

и вот эквивалент ваших первых 3 строк кода:

if ! VA_GetMasterMute() 
    VA_SetMasterMute(true)
0
отвечен Elliot DeNolf 2022-12-03 21:27

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх