Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: как изменить раскладку клавиатуры по умолчанию? Добавлено: 29.02.08 12:36  

Автор вопроса:  Diesel
Подскажите пожалуйста, мне надо что бы с формы писался текст на английском языке в блокнот в реальном времени.... Воспользовался функцией SendKeys, но оттуда посылаются символы только на русском, т.к. раскладка у меня русская по умолчанию стоит. Если изменить на английскую самому то все путём, но мне надо програмно.
Пользовался также keybd_event она у меня вообще не сработала :(
Заранее спасибо.

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #1
Добавлено: 29.02.08 18:17
Гугл рулит. Я писал ответ на подобный вопрос уже пару раз на этом форуме =) Честное слово, надоело.

Ответить

Номер ответа: 2
Автор ответа:
 Яр



Вопросов: 18
Ответов: 24
 Профиль | | #2 Добавлено: 29.02.08 22:14
Если я правильно тебя понял, то попробуй вот это.

1 способ:

Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long

  ActivateKeyboardLayout 68748313, 0 ' Переключаем на русский
  ActivateKeyboardLayout 67699721, 0 ' Переключаем на английский

2 способ:

Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long

Private Sub Command1_Click()
  ActivateKeyboardLayout 0, 0
End Sub

3 способ:

Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
Private Const KLF_ACTIVATE = 1
  
Private Sub Command1_Click()
  LoadKeyboardLayout "00000419", KLF_ACTIVATE
  Me.Caption = "Rus"
End Sub
  
Private Sub Command2_Click()
  LoadKeyboardLayout "00000409", KLF_ACTIVATE
  Me.Caption = "Eng"
End Sub

Ответить

Номер ответа: 3
Автор ответа:
 Stas



Вопросов: 8
Ответов: 14
 Профиль | | #3 Добавлено: 01.03.08 10:17
ты меня почти правильно понял, но.....
я открываю приложение в которое нужно послать сообщение с помощью SendKeys, то язык сново ставиться русский, и сообщение идет на русском :(

Ответить

Номер ответа: 4
Автор ответа:
 Яр



Вопросов: 18
Ответов: 24
 Профиль | | #4 Добавлено: 01.03.08 13:23
Ну тогда не знаю.

Ответить

Номер ответа: 5
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #5
Добавлено: 01.03.08 13:42
а ты не можешь поменять раскладку после открытия приложения "в которое нужно послать сообщение с помощью SendKeys"?

Ответить

Номер ответа: 6
Автор ответа:
 Stas



Вопросов: 8
Ответов: 14
 Профиль | | #6 Добавлено: 01.03.08 18:34
Да пришла мне идея,
Да молвит она слова мудрые
говорит она мне
зайди в реестр!

:)
 я уже нашёл как ее менять через реестр :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам