Форум программистов, компьютерный форум, киберфорум
Windows
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.90/48: Рейтинг темы: голосов - 48, средняя оценка - 4.90
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15

Прописать в ярлык, чтоб при запуске раскладка была на латинице

08.02.2021, 23:03. Показов 11355. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть игра - Watch Dogs(2014 года). Сама игра нормально работает при любой раскладке, однако, если запустить игру с текущей кириллицей, то кнопки управления отображаются абра-кадаброй. Поэтому игру рекомендуется запускать при текущей английской раскладке, в таком случае все кнопки отображаются верно(латиницей).
Возможно ли как то задать через ярлык запуска игры, чтоб раскладка всегда менялась на латиницу?

Добавлено через 1 минуту
для Win10
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2021, 23:03
Ответы с готовыми решениями:

pyautogui отказывается выполнять hotkey('ctrl','v'), если при запуске скрипта была выбрана русская раскладка
!!! Не обращайте внимания на цикл while True! Код представлен в таком виде просто для примера работы алгоритма !!! Суть кода: Когда...

Как сделать в Windows 7, чтоб не требовало при запуске Windows 7 нажимать на ярлык учётной записи?
Как сделать в Windows 7, чтоб не требовало при запуске Windows 7 нажимать на ярлык учётной записи?

Раскладка при запуске программы
Здравствуйте, подскажите пожалуйста, есть ли какой нибудь код в c++, что бы при запуске программы раскладка на компьютере менялась на...

48
7002 / 2886 / 1110
Регистрация: 06.06.2017
Сообщений: 9,813
09.02.2021, 20:42
Студворк — интернет-сервис помощи студентам
мама Стифлера, понятно. Пробуем:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
; ———————————————————————————————— AU3 —————————————————————————————————
; Назначение: Запуск программы в заданной клавиатурной раскладке
 
; Параметры:  [путь к программе] [класс окна] [код языка]
; Примеры:    notepad.exe Notepad 00000419
;             D:\Games\Watch_Dogs\bin\Watch_Dogs.exe Watch_Dogs 00000409
;———————————————————————————————————————————————————————————————————————
#NoTrayIcon
If $CmdLine[0] <> 3 Then
  MsgBox(4144, 'Запуск программы c нужной раскладке     ', '     Укажите 3 параметра!')
  Exit
EndIf
$ret = DllCall('user32.dll', 'long', 'LoadKeyboardLayout', 'str', $CmdLine[3], 'int', 0)
DllCall('user32.dll', 'ptr', 'SendMessage', 'hwnd', WinGetHandle(AutoItWinGetTitle()), 'int', '0x50', 'int', 1, 'int', $ret[0])
Run($CmdLine[1], '', 5)
If @error Then Exit
WinWaitActive('[CLASS:' & $CmdLine[2] & "]")
DllCall('user32.dll', 'ptr', 'SendMessage', 'hwnd', WinGetHandle(''), 'int', '0x50', 'int', 1, 'int', $ret[0])
Ярлык: <путь к AutoIt3_x64.exe> <путь к au3-скрипту> <параметры>
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
09.02.2021, 21:02  [ТС]
ярлык сделал
Code
1
C:\Users\AspireM3400\Desktop\install\AutoIt3_x64.exe qqq.au3
вылетает окно: укажите 3 параметра
Чо за параметры, без понятия.

Добавлено через 1 минуту
стоп... прошу прощения, в скрипте же пояснение есть
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
09.02.2021, 21:22  [ТС]
После запуска в Win10, язык переключается на ENG, далее запускается все как надо, но кнопки управления как при русской раскладке:
Кликните здесь для просмотра всего текста

Далее, выхожу из игры и ничего не делая, и не переключая, запускаю ярлык снова, теперь все в порядке:
Кликните здесь для просмотра всего текста
0
7002 / 2886 / 1110
Регистрация: 06.06.2017
Сообщений: 9,813
09.02.2021, 22:37
А что я по скринам должен понять? Где переключается язык? Что значит "как надо, но кнопки управления ..."? А "не как надо" — это как? И что в порядке на втором скрине, чего нет на первом?

Кстати, а прога на локаль не реагирует, случаем? Что если таким vbs запустить?:
Visual Basic
1
2
SetLocale 1033
CreateObject("WScript.Shell").Run "D:\Games\Watch_Dogs\bin\Watch_Dogs.exe"
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
09.02.2021, 22:52  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
И что в порядке на втором скрине, чего не так на первом?
Названия букв кнопок управления отображаются коряво на 1 скрине.
Цитата Сообщение от FlasherX Посмотреть сообщение
Что если таким vbs запустить?
Не понял, что тут надо сделать, как запустить?

Добавлено через 11 минут
Доперло, просто создал текстовый файлик, переименовал в расширение vbs. Игра запустилась, но при кириллице все без изменений(скрин 1).
0
7002 / 2886 / 1110
Регистрация: 06.06.2017
Сообщений: 9,813
09.02.2021, 23:08
Цитата Сообщение от мама Стифлера Посмотреть сообщение
Названия букв кнопок управления отображаются коряво на 1 скрине.
А, вижу. Я сразу о кнопках управления окном подумал. )
Цитата Сообщение от мама Стифлера Посмотреть сообщение
Далее, выхожу из игры и ничего не делая, и не переключая, запускаю ярлык снова, теперь все в порядке:
А в процессах прога уже исчезла перед запуском с ярлыка?


Цитата Сообщение от мама Стифлера Посмотреть сообщение
язык переключается на ENG, далее запускается все как надо
Цитата Сообщение от FlasherX Посмотреть сообщение
Где переключается язык? ... А не "как надо" — это как?
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
09.02.2021, 23:21
Цитата Сообщение от FlasherX Посмотреть сообщение
как может запускаться сперва Ubisoft Connect при запуске Watch_Dogs.exe?
отложенный импорт (IMAGE_DELAYLOAD_DESCRIPTOR) на библиотеку клиента.
так у всех магазинов сделано.
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
09.02.2021, 23:39  [ТС]
Pапятую не там поставил, вот так понятней где ENG
Цитата Сообщение от мама Стифлера Посмотреть сообщение
После запуска, в Win10 язык переключается на ENG, далее запускается все как надо, но кнопки управления как при русской раскладке
А запускается "как надо" - имелось ввиду стандартный запуск игры игры без ошибок.
0
7002 / 2886 / 1110
Регистрация: 06.06.2017
Сообщений: 9,813
09.02.2021, 23:58
Цитата Сообщение от мама Стифлера Посмотреть сообщение
Pапятую не там поставил
Первая запятая вообще не нужна. Язык меняется для текущего окна/поля, а не вообще в Win10. Т. е. цель с раскладкой достигнута, но проге хоть бы хны?

Прошу не пропускать вопросы. См. середину #26.
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
10.02.2021, 00:05  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
А в процессах прога уже исчезла перед запуском с ярлыка?
Ну разумеется исчезла, странный вопрос был.

Добавлено через 1 минуту
И вообще я все равно не понимаю, почему язык меняется
Цитата Сообщение от FlasherX Посмотреть сообщение
для текущего окна/поля, а не вообще в Win10
Раскладка меняется в системе ведь. Перед запуском игры, подхватывается текущая раскладка и все.
0
7002 / 2886 / 1110
Регистрация: 06.06.2017
Сообщений: 9,813
10.02.2021, 00:35
Цитата Сообщение от мама Стифлера Посмотреть сообщение
странный вопрос был.
Он был бы странным при иных обстоятельствах.
Цитата Сообщение от FlasherX Посмотреть сообщение
запускаю ярлык снова, теперь все в порядке:
То есть происходит то так, то эдак? А если завешить Ubisoft Connect?
Цитата Сообщение от мама Стифлера Посмотреть сообщение
И вообще я все равно не понимаю, почему язык меняется
Потому что скрипт это делает. )
Цитата Сообщение от мама Стифлера Посмотреть сообщение
Раскладка меняется в системе ведь.
Нет. Системное умолчание остаётся прежним. Меняется только для конкретного окна.
Цитата Сообщение от мама Стифлера Посмотреть сообщение
Перед запуском игры, подхватывается текущая раскладка и все.
Запуском каким образом? И текущая в каком окне?
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
10.02.2021, 00:56  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
То есть происходит то так, то эдак?
Да, потому что первый раз при запуске через ярлык
Code
1
C:\Users\AspireM3400\Desktop\install\AutoIt3_x64.exe qqq.au3 D:\Games\Watch_Dogs\bin\Watch_Dogs.exe Watch_Dogs 00000409
текущий язык в ОС был русский и игра успевает подхватить(фиг знает каким образом) кириллицу. Хотя в процессе запуска происходит переключение на ENG(это видно, так как запуск долгий), но уже поздно и кнопки отображаются не корректно.
Второй запуск происходит уже при текущей английской раскладке в самой ОС, игра подхватывает текущую, английскую раскладку и кнопки отображаются правильно.
Цитата Сообщение от FlasherX Посмотреть сообщение
А если завешить Ubisoft Connect?
Это не на что не влияет, просто он запустится заново, если не был запущен.

Мне кажется, должен работать способ типа
Visual Basic
1
2
SetLocale 1033
CreateObject("WScript.Shell").Run "D:\Games\Watch_Dogs\bin\Watch_Dogs.exe"
только перед запуском игры(строка 2), нужно прописать переключение раскладки в системе на ENG.
0
7002 / 2886 / 1110
Регистрация: 06.06.2017
Сообщений: 9,813
10.02.2021, 01:55
Лучший ответ Сообщение было отмечено мама Стифлера как решение

Решение

мама Стифлера, сомнительно, что поможет, но пропробуй так без параметров:
PureBasic
1
2
3
4
5
AutoItWinSetTitle('RunProgWithKeybL')
$ret = DllCall('user32.dll', 'long', 'LoadKeyboardLayout', 'str', '00000409', 'int', 0)
DllCall('user32.dll', 'ptr', 'SendMessage', 'hwnd', WinGetHandle(''), 'int', '0x50', 'int', 1, 'int', $ret[0])
DllCall('user32.dll', 'ptr', 'SendMessage', 'hwnd', WinGetHandle(AutoItWinGetTitle()), 'int', '0x50', 'int', 1, 'int', $ret[0])
Run('D:\Games\Watch_Dogs\bin\Watch_Dogs.exe', '', 5)
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
10.02.2021, 02:20  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
но пропробуй так без параметров
Все отлично работает Опять же видно в процессе запуска, как в ОС переключился язык на ENG, но в этот раз переключение было до запуска файла и подхватывается английская раскладка. Все кнопки управления отображаются корректно.

Единственное что мне не нравится, так это лишняя папка с AutiIt. Может можно сделать как то сделать с помощью, vbs-скрипта, или батник в худой конец?
0
7002 / 2886 / 1110
Регистрация: 06.06.2017
Сообщений: 9,813
10.02.2021, 02:42
Лучший ответ Сообщение было отмечено мама Стифлера как решение

Решение

Так опять же потребуется лишняя прога или регистрация dll.
Проще открыть \install\Aut2Exe\Aut2exe.exe и сделать exe-ник. Сверху только #NoTrayIcon ещё добавь в код.
Вообще там из всей папки нужен-то только интерпретатор. Его хоть куда закинуть можно. На Рабочем столе такие вещи вообще не держат.
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
10.02.2021, 14:30  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Вообще там из всей папки нужен-то только интерпретатор. Его хоть куда закинуть можно. На Рабочем столе такие вещи вообще не держат.
То есть все равно нужно 3 объекта:
1. Интерпретатор
2. файл со скриптом
3. Ярлык запуска

Сделал exe-шник, остальное все удалил к едрени-фени ))
0
7002 / 2886 / 1110
Регистрация: 06.06.2017
Сообщений: 9,813
10.02.2021, 15:36
мама Стифлера, так вся соль в том, что при изобилии скриптов, как, например, у меня, скомпиленные версии будут весить на порядки больше, чем один интерпретатор и скрипты. А что касается ярлыка, то тут такое дело, у меня, опять же, они есть только в TLB и программах Пуска. На раб. столе ничего не держу. 95% кнопок без всяких ярлыков — в ФМ. В общем, это дело техники.
Что касается vbs, то ради теста можно проверить такой вариант (но он не на каждой системе сработает):
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Option Explicit: Dim oDic, oWSH, c, K, Lang, Num
Set oDic = CreateObject("Scripting.Dictionary")
Set oWSH = CreateObject("WScript.Shell")
On Error Resume Next
For c = 1 to 10
   K = oWSH.RegRead("HKCU\Keyboard Layout\Preload\" & c)
   If Err.Number = 0 Then oDic.Add K, c Else Exit For
Next
On Error GoTo 0
Select Case oWSH.RegRead("HKCU\Keyboard Layout\Toggle\Hotkey")
  Case 1 K = "%+": Case 2 K = "^+": Case 4 K = "`"
End Select
Lang = oDic("00000409")
If Lang = 1 Then Num = 0 Else Num = Lang - 1
If Num Then For n = 1 To Num: oWSH.SendKeys K: Next
oWSH.Run "D:\Games\Watch_Dogs\bin\Watch_Dogs.exe"
Set oDic = Nothing: Set oWSH = Nothing
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
10.02.2021, 17:40  [ТС]
FlasherX, спасибо за отзыв, но vbs не работает - сразу ошибки запуска.
Главное, что я решил проблему, спасибо тебе добрый FlasherX
0
7002 / 2886 / 1110
Регистрация: 06.06.2017
Сообщений: 9,813
10.02.2021, 20:41
мама Стифлера, пожалс'та, конечно. Но я проверял перед выкладкой. Ничего не было. Что за ошибка? Код в норм. кодировке сохранён?
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
10.02.2021, 20:47  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Что за ошибка? Код в норм. кодировке сохранён?
вот
Кликните здесь для просмотра всего текста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.02.2021, 20:47

При запуске приложения меняется раскладка клавиатуры
здравствуйте. при запуске программы раскладка клавы автоматически меняется на English, если стоял русский. Как сделать чтобы при запуске...

Как сделать так, чтобы при запуске excel раскладка клавиатуры автоматически менялась на английскую?
При открытии Excel всегда раскладка клавиатуры русская, а как сделать так чтобы всегда открывалась с английской раскладкой? Еще лучше...

Некорректная работа программы при запуске через ярлык
Помогите мне пожалуйста, уважаемые форумчане! У меня есть некая программа, которая хранит свои настройки в текстовом файле. Открываю я...

Вывод сообщений об ошибках при запуске софта ч/з ярлык
Всем привет! Debian 7. Установил программу PyCharm 3.4.1. Создал символическую ссылку: sudo ln -s...

Пользовательские настройки не сохраняются при запуске PowerShell через ярлык
После настройки цветовой палитры заметил такой косяк. Если запускать powershell через ярлык то все настройки палитры сбрасываются, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru