Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Русский_Проект: Изучение Visual Basic


Информационный Канал Subscribe.Ru

Русский_Проект: Рассылка Вступление
Функции API
Юмор

Вступление

Здравствуйте!
С Наступающим Новым годом! По всей вероятности это последний выпуск рассылки в уходящем году. Время подводить итоги. Итак, число подписчиков приближается к 6 000 человек. Приятно, что число любителей бейсика растет. В следующем году Майкрософт предпримет еще более агрессивную политику - цель, которой, заставить всех программистов перейти на платформу NET. Пока мировое сообщество программеров успешно отбрыкивается. Думаю, так будет до тех пор, пока мы не пощупаем Windows.Net. И не поддавайтесь на устрашающие заклинания, что нужно учить новый язык уже сегодня, а то завтра будет поздно. Уверяю, подобные речи велись и после Visual Basic for DOS (после QuickBasic) и после VB for Windows (16 bit) и после всех следующих версий. Если вы начинали изучать бейсик с 5 или 6 версии, разве вы куда-то опоздали? Ну, а если вам интересно все новое, что ж, в добрый путь.

Функции API

Сегодня мы научимся узнавать раскладку в другом приложении при помощи GetKeyboardLayout.
Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long

GetKeyboardLayout позволяет получить активный локальный идентификатор (раскладку клавиатуры) для заданной нити. Если параметр dwLayout равен 0, то возвращается идентификатор для текущей нити

Параметры

dwLayout
Идентификатор заданной нити или 0 для текущей нити
Пример
' Определим используемую раскладку в Блокноте
' Перед проверкой примера запустите Блокнот и меняйте в нем
' раскладку клавиатуры и проверяйте код
Dim hAppWnd As Long
Dim ThreadID As Long
Dim ThreadLayout As Long
Dim Res As Long

' Ищем окно Блокнота
hAppWnd = FindWindow(vbNullString, "Безымянный - Блокнот")
If hAppWnd = 0 Then
     MsgBox "Окно не найдено!"
Else
     ThreadID = GetWindowThreadProcessId(hAppWnd, ByVal 0&)
     Res = AttachThreadInput(GetCurrentThreadId, ThreadID, 1)
     ThreadLayout = GetKeyboardLayout(ThreadID)
     Res = AttachThreadInput(GetCurrentThreadId, ThreadID, 0)

     MsgBox "Текущая раскладка " & Hex(ThreadLayout)
End If
Описание данной функции войдет в Cправочник по функциям Windows API, доступный только зарегистрированным пользователям. Данный справочник содержит около 400 популярных функций и сообщений!

Юмор

- У моего компа появился вирус.
- И что ты сделал?
- Укол.
- Куда?
- Под мышку.

Вот и все на сегодня!

Присылайте ваши предложения по адресу rusproject@mail.ru
Посетите сайт Русский_Проект, где вы найдете другую интересную информацию
Давайте делать рассылку вместе! Счастливого вам программирования!



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное