OnMyDSeeAtAll
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору oshizelly 20:45 04-11-2012 Подробнее... Цитата: ...заголовок окна Total Commander начинается с названия программы. | Поняна, это я просто забыл, что Total Commander у меня из под администратора запущен, и у него перед заголовком логин-юзверь прописан. Цитата: А нельзя ли попросить хотя бы один пример с использованием шаблона ExcludeTitle? |
Код: ; у меня UI в Win7 стоит английская, так, что в русском юзер интерфэйсе ОС ; названия у окон блокнота по умолчанию выглядят иначе, думаю не трудно будет ; Untitled на Безымянный изменить и т.д.) ; разкомментируйте строку SetTitleMatchMode в группе, и один из вариантов ; SetTitleMatchMode, RegEx ; #If, WinActive("Notepad", Notepad, "ExcludeTitle") ; #If, WinActive("Notepad", Untitled, "ExcludeTitle") ; #If, WinActive("Untitled", Untitled, "ExcludeTitle") ; #If, WinActive("ahk_class Notepad", Untitled, "ExcludeTitle") ; #If, WinActive("ahk_class Notepad", Notepad, "ExcludeTitle") ; SetTitleMatchMode, 1 ; #If, WinActive("Untitled", Untitled, "ExcludeTitle") ; #If, WinActive("ahk_class Notepad", Untitled, "ExcludeTitle") ; SetTitleMatchMode, 2 ; #If, WinActive("Untitled", Notepad, "ExcludeTitle") ; #If, WinActive("Notepad", Notepad, "ExcludeTitle") ; #If, WinActive("Notepad", Untitled, "ExcludeTitle") ; #If, WinActive("ahk_class Notepad", Untitled, "ExcludeTitle") ; SetTitleMatchMode, 3 ; #If, WinActive("Untitled - Notepad", Untitled - Notepad, "ExcludeTitle - Notepad") ; #If, WinActive("Untitled - Notepad", Untitled, "ExcludeTitle - Notepad") ; #If, WinActive("Untitled - Notepad", Untitled - Notepad, "ExcludeTitle") ; #If, WinActive("ahk_class Notepad", Untitled - Notepad, "ExcludeTitle - Notepad") ; даст совпадеие по началу строки без использования SetTitleMatchMode, т.к. по умолчанию стоит 1 ; #If, WinActive("ahk_class Notepad", Note, "Exclude") #If, WinActive("Unt", Untit, "Exc") +F6::SoundBeep #If ;#IfWinActive ;или +F6::MsgBox, 262160 , % A_Space , % "You pressed Shift+F6 NOT in Untitled - Notepad" , % 0.5 |
Цитата: ...я уже убедился экспериментально, что можно сделать, например, Alt+Ctrl+CapsLok. А вот Alt+Ctrl+CapsLok+W не работает. |
Код: !^CapsLock:: ; alt+ctrl+capslock KeyWait, vk57, D T.25 ; ждём нажатия W/Ц 250 миллисекунд If ErrorLevel ; ErrorLevel=1, если время вышло, а W/Ц не была нажата MsgBox, 262160 ; делаем первое действие , % "Alt+Ctrl+CapsLock+W" , % "key combination DON'T pressed" , % 0.5 Else ; или второе MsgBox, 262208 , % "Alt+Ctrl+CapsLock+W" , % "key combination pressed" , % 0.5 Return | или так: Код: !^CapsLock:: KeyWait, vk57, D T.25 CheckUp(ErrorLevel) Return CheckUp(Param) { ; "!" - логическое нет ; соответственно, если параметр фунции (Param) ; по переданному аргументу (ErrorLevel) содержит ноль ; делаем первое действие, или делаем второе MsgBox, % 262 . (!Param ? 208:160) ; логическое выражение ? выражение1:выражение2 , % "Alt+Ctrl+CapsLock+W" , % "key combination "(!Param ? "":"DON'T ")"pressed" , % 0.5 } | oshizelly 22:38 04-11-2012 Подробнее... Цитата: Где можно почитать про эту директиву? Или хотя бы парочку примеров | Создаём в корневой папке программы папку с названием Lib, сохраняем там файл с названием test.ahk c таким содержанием: Код: test_func(ByRef mText) { mText:="caller:`n"A_ScriptFullPath mCaption:="Hello world!" Return, mCaption } | В данном случае очень важно, чтобы название файла и префикс были одинаковые, а между префиксом и названием функции был символ нижнего подчёркивания ( _ ). Создаём и сохраняем второй файл с названием test2.ahk уже в той же директории, где и сам запускающий файл с таким кодом: Код: func(Param1, Param2, ByRef Param3) { Param3:=Param1+Param2 } | Вызываем функции из созданных в разных местах файлов запускным: Код: ; т.к. это спецефическая папка .\AutoHotkey\Lib ; #Include, test.ahk писать не нужно, он будет найден по префиксу #Include, test2.ahk ; а вот тут нужно явным образом указать ; вызываем из .\AutoHotkey\Lib\test.ahk функцию MsgBox, 262144, % test_func(msgText), % msgText ; вызываем функцию из test2.ahk (та же папка где и сам запускной) func(2, 2, sum) MsgBox, 262144, % "2+2", % "result: "sum ExitApp | Добавлено: @oshizelly Судя по количеству сообщений, Вы тут человек бывалый, объясните мне плиз, как убрать Подробнее...? Я видимо, чего-то не так сделал, когда первый раз игрался с тэгом [more]... |