Что нового

Запуск SciTE

winkot

Новичок
Сообщения
169
Репутация
0
Из-за того, что если при запуске SciTE раскладка клавиатуры была не английской, то в SciTE не работают горячие клавиши, я хотел написать небольшой скрипт, который вначале изменит раскладку, а потом запустит SciTE. Сделать это не трудно. Но как сделать так, что бы это было при двойном клике по .au3?
 

SealAlbinos

Продвинутый
Сообщения
154
Репутация
57
Как вариант привязать к расширению .au3 свою программу, которая в свою очередь меняет язык, а потом сама же запускает SciTE.exe
Сообщение автоматически объединено:

Код:
#include <WinAPISys.au3>

Run('"C:\Program Files (x86)\AutoIt3\SciTE\SciTE.exe" "'&$CmdLine[1]&'"')
WinWaitActive('[CLASS:SciTEWindow]')
_WinAPI_SetKeyboardLayout(WinGetHandle('[CLASS:SciTEWindow]'),'00000409')

Что то вроде такого
только путь измени для SciTE.exe, если вдруг отличается
В чем суть, компилируешь этот скрипт как exe и указываешь этот экзешник как приложение по умолчанию для .au3
 
Последнее редактирование:
Автор
W

winkot

Новичок
Сообщения
169
Репутация
0
привязать к расширению .au3 свою программу, которая в свою очередь меняет язык, а потом сама же запускает SciTE.exe
Попробовал. Но выдает ошибку. Не может определить массив $CmdLine[1]. Что это за переменная?
 
Последнее редактирование:
Автор
W

winkot

Новичок
Сообщения
169
Репутация
0
не знаю в чем у вас причина, но у себя проверял и запускается нужный мне файл
Но переменную надо же как то указать? И каккое значение ей присваивается? Иначе как скрипт понимает о чем идет речь
 

SealAlbinos

Продвинутый
Сообщения
154
Репутация
57
Но переменную надо же как то указать? И каккое значение ей присваивается? Иначе как скрипт понимает о чем идет речь
Это параметры запуска и данная переменная является постоянной
чтоб все работало скрипт должен быть скомпилирован, не пытайся просто так запустить через SciTE, так как параметров не будет и скрипт просто крашнет
 
Последнее редактирование:
Автор
W

winkot

Новичок
Сообщения
169
Репутация
0
Спасибо! Все получилось. Но скрипт переписал. Переключать клавиатуру надо до запуска SciTE

Код:
#include <WinAPISys.au3>

_WinAPI_SetKeyboardLayout(WinGetHandle("[ACTIVE]"), 0x0409)
Run('"C:\Program Files (x86)\AutoIt3\SciTE\SciTE.exe" "'&$CmdLine[1]&'"')
 

Oki

Продвинутый
Сообщения
452
Репутация
62
Как по мне, смысл запуска скрипта прямо из редактора имеется только в процессе редактирования скрипта, а готовый скрипт лучше запускать иначе.
 
Автор
W

winkot

Новичок
Сообщения
169
Репутация
0
А. что кроме меня больше ни у кого нет проблемы с горячими клавишами?
Как по мне, смысл запуска скрипта прямо из редактора имеется только в процессе редактирования скрипта, а готовый скрипт лучше запускать иначе.
Ну да. Но пока он станет готовым, его надо редактировать, тестировать.
 

SealAlbinos

Продвинутый
Сообщения
154
Репутация
57
А. что кроме меня больше ни у кого нет проблемы с горячими клавишами?

Ну да. Но пока он станет готовым, его надо редактировать, тестировать.
лично у меня на всех расладках все работает (часто использую чтоб коментить ctrl+q) и не было такого чтоб из за раскладки не работало
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
А. что кроме меня больше ни у кого нет проблемы с горячими клавишами?
Как вариант, не уверен, но попробовать сделать англ. язык первым и твик каждому окну свой язык ввода. Поиграть с этими параметрами.
На Windows10:
Параметры -> Ввод -> Дополнительные параметры клавиатуры -> Выбирать метод ввода для каждого окна приложения.
Параметры -> Язык -> при выборе языка появляется стрелка вверх или вниз.
 
Автор
W

winkot

Новичок
Сообщения
169
Репутация
0
у меня на всех расладках все работает (часто использую чтоб коментить ctrl+q
Сейчас проверил при запуске с русской раскладкой. Странная ситуация - ctrl+q и у меня работает. Но вот Alt+d (debug) не работает. Как же так - и там и там горячие клавиши. Но одни работают, другие - нет.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Но одни работают, другие - нет.
В русской раскладке перестают работать горячие клавиши, которые прописаны в файле au3.properties. Чтобы они заработали нужно переключить раскладку на английскую и вызвать нужную команду через меню Tools. И так каждый раз, если случайно нажали горячую клавишу в русской раскладке.
 
Автор
W

winkot

Новичок
Сообщения
169
Репутация
0
В русской раскладке перестают работать горячие клавиши, которые прописаны в файле au3.properties. Чтобы они заработали нужно переключить раскладку на английскую и вызвать нужную команду через меню Tools. И так каждый раз, если случайно нажали горячую клавишу в русской раскладке.
Надо как раз вызывать не через меню, а с помощью горячих клавиш.
 
Верх