|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Узнать язык раскладки клавиатуры |
|
CMD/BAT - [решено] Узнать язык раскладки клавиатуры
|
Старожил Сообщения: 148 |
Профиль | Сайт | Отправить PM | Цитировать Необходимо получить информацию о текущем языке ввода данных с клавиатуры. Можно это как-нибудь организовать?
|
|
Отправлено: 23:38, 26-07-2011 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата m0nkrus:
- AFAIK CMD (без сторонних инструментов на API32/.NET) не имеет доступа к такой инфе P.S. язык ввода Windows по умолчанию (нового окна) можно взять с реестра (HKCU\Keyboard Layout\Preload\1) |
|
Отправлено: 09:17, 27-07-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 148
|
Профиль | Сайт | Отправить PM | Цитировать amel27, тогда уточню: язык ввода для активного окна.
|
Отправлено: 09:25, 27-07-2011 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата m0nkrus:
@if not exist "%~n0.exe" ( for /f "delims=" %%a in ('dir/s/a-d/b/od "%windir%\Microsoft.NET\Framework\vbc.exe"') do @set "vbc=%%a" (echo Imports System.Runtime.InteropServices echo Module Test echo ^<DllImport^("user32.dll",SetLastError:=True^)^> Public Function GetForegroundWindow^(^) As IntPtr echo End Function echo ^<DllImport^("user32.dll",SetLastError:=True^)^> Public Function GetWindowThreadProcessId^(ByVal hwnd As IntPtr,ByRef lpdwProcessId As Integer^) As Integer echo End Function echo Public Declare Function GetKeyboardLayout Lib "user32" ^(ByVal idThread As UInteger^) As IntPtr echo Sub Main^(^) echo Console.WriteLine^(GetKeyboardLayout^(GetWindowThreadProcessId^(GetForegroundWindow^(^),0^)^).ToString^("X"^)^) echo End Sub echo End Module)>"%~n0.tmp" call "%%vbc%%" "%~n0.tmp" /out:"%~n0.exe">nul del "%~n0.tmp") |
|
Отправлено: 12:11, 27-07-2011 | #4 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать а что этот exe должен делать?
выдает всегда 4190419 W7U |
|
Отправлено: 12:51, 27-07-2011 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата ferget:
|
|
Отправлено: 12:55, 27-07-2011 | #6 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать а выловить alt+shift не выйдет?
|
Отправлено: 13:01, 27-07-2011 | #7 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата ferget:
- может быть ctrl+shift; - AFAIK для установки хука (на чужое окно) потребуются админские права + отключение UAC |
|
Отправлено: 16:16, 27-07-2011 | #8 |
Старожил Сообщения: 148
|
Профиль | Сайт | Отправить PM | Цитировать amel27, слишком сложно на мой взгляд. Ну да ладно...
Ставлю отметку о решении проблемы. |
Отправлено: 16:17, 27-07-2011 | #9 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата m0nkrus:
вероятно, проще написать... но это уже в другую ветку (программирование), либо AutoIT/AHK |
|
Отправлено: 16:22, 27-07-2011 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Debian/Ubuntu - [решено] Отображение раскладки клавиатуры | Simpler | Общий по Linux | 0 | 18-11-2010 11:09 | |
Разное - Проблема с переключением раскладки клавиатуры | JJKey | Microsoft Windows 2000/XP | 27 | 08-12-2008 21:02 | |
[решено] переключение раскладки клавиатуры | Sergey Ugryumov | Microsoft Windows NT/2000/2003 | 5 | 16-10-2007 12:25 | |
Редактирование раскладки клавиатуры | ARB | Общий по Linux | 8 | 23-10-2004 12:55 | |
[решено] Язык раскладки клавиатуры (при входе в систему и в сеансе) | Bozo | Microsoft Windows NT/2000/2003 | 16 | 07-10-2004 01:36 |
|