<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Visual Basic FAQ &#187; Клавиатура</title>
	<atom:link href="http://www.vbfaq.ru/category/keyboard/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.vbfaq.ru</link>
	<description>База готовых кодов на Visual Basic - бесплатно, бери и используй. Научимся программировать для себя, ведь писать программы - это просто интересно. Авторы: BiT, МП41А, Chan и Desant</description>
	<lastBuildDate>Sun, 21 Feb 2010 10:44:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Как передать фокус по нажатию Enter?</title>
		<link>http://www.vbfaq.ru/2009/02/kak-peredat-fokus-po-nazhatiyu-enter-2/</link>
		<comments>http://www.vbfaq.ru/2009/02/kak-peredat-fokus-po-nazhatiyu-enter-2/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 04:00:52 +0000</pubDate>
		<dc:creator>Chan</dc:creator>
				<category><![CDATA[Клавиатура]]></category>
		<category><![CDATA[нажатие]]></category>
		<category><![CDATA[передать]]></category>
		<category><![CDATA[фокус]]></category>

		<guid isPermaLink="false">http://www.vbfaq.ru/?p=174</guid>
		<description><![CDATA[Как передать фокус по нажатию Enter?


Option Explicit

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
       SendKeys "{tab}"
       KeyAscii = 0
End If
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
       SendKeys "{tab}"
      [...]]]></description>
		<wfw:commentRss>http://www.vbfaq.ru/2009/02/kak-peredat-fokus-po-nazhatiyu-enter-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Как перехватить нажатие клавиши Escape?</title>
		<link>http://www.vbfaq.ru/2009/02/kak-perexvatit-nazhatie-klavishi-escape/</link>
		<comments>http://www.vbfaq.ru/2009/02/kak-perexvatit-nazhatie-klavishi-escape/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 04:00:19 +0000</pubDate>
		<dc:creator>Chan</dc:creator>
				<category><![CDATA[Клавиатура]]></category>
		<category><![CDATA[кнопка]]></category>
		<category><![CDATA[нажатие]]></category>
		<category><![CDATA[перехватить]]></category>

		<guid isPermaLink="false">http://www.vbfaq.ru/?p=173</guid>
		<description><![CDATA[Как перехватить нажатие клавиши Escape?
Когда фокус имеет текстовое поле.
Таким образом, можно перехватить и другие клавиши…


Option Explicit

'Перехватываем нажатие клавиши Escape в текстовом поле
'И посылаем в поле PRESS
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
'Нажатие клавиши Escape на клавиатуре
'Посылает в поле текст PRESS
If KeyCode = vbKeyEscape Then SendKeys "(Escape)"
End Sub

]]></description>
		<wfw:commentRss>http://www.vbfaq.ru/2009/02/kak-perexvatit-nazhatie-klavishi-escape/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как ловить нажатия клавиш вне окна приложения?</title>
		<link>http://www.vbfaq.ru/2008/12/kak-lovit-nazhatiya-klavish-vne-okna-prilozheniya/</link>
		<comments>http://www.vbfaq.ru/2008/12/kak-lovit-nazhatiya-klavish-vne-okna-prilozheniya/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 13:00:08 +0000</pubDate>
		<dc:creator>Chan</dc:creator>
				<category><![CDATA[Клавиатура]]></category>
		<category><![CDATA[ловаить]]></category>
		<category><![CDATA[нажатие]]></category>
		<category><![CDATA[окно]]></category>
		<category><![CDATA[приложение]]></category>

		<guid isPermaLink="false">http://www.vbfaq.ru/?p=172</guid>
		<description><![CDATA[Как ловить нажатия клавиш вне окна приложения?


Option Explicit

Private Declare Function GetAsyncKeyState _
    Lib "user32" (ByVal vKey As Long) As Integer
Const VK_RETURN = &#038;HD

Private Sub Form_Load()
Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
   If GetAsyncKeyState(VK_RETURN) Then
        MsgBox "Возврат"
   End If
End Sub

]]></description>
		<wfw:commentRss>http://www.vbfaq.ru/2008/12/kak-lovit-nazhatiya-klavish-vne-okna-prilozheniya/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Как переключить раскладку клавиатуры?</title>
		<link>http://www.vbfaq.ru/2008/12/kak-pereklyuchit-raskladku-klaviatury/</link>
		<comments>http://www.vbfaq.ru/2008/12/kak-pereklyuchit-raskladku-klaviatury/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 13:00:04 +0000</pubDate>
		<dc:creator>Chan</dc:creator>
				<category><![CDATA[Клавиатура]]></category>
		<category><![CDATA[клавиатура]]></category>
		<category><![CDATA[переключить]]></category>
		<category><![CDATA[раскладка]]></category>

		<guid isPermaLink="false">http://www.vbfaq.ru/?p=171</guid>
		<description><![CDATA[Как переключить раскладку клавиатуры?


Option Explicit

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 = "Ru"
End Sub

Private Sub Command2_Click()
LoadKeyboardLayout "00000409", KLF_ACTIVATE
Me.Caption = "En"
End Sub

]]></description>
		<wfw:commentRss>http://www.vbfaq.ru/2008/12/kak-pereklyuchit-raskladku-klaviatury/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как переключить раскладку клавиатуры RU-EN?</title>
		<link>http://www.vbfaq.ru/2008/12/kak-pereklyuchit-raskladku-klaviatury-ru-en/</link>
		<comments>http://www.vbfaq.ru/2008/12/kak-pereklyuchit-raskladku-klaviatury-ru-en/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 13:05:45 +0000</pubDate>
		<dc:creator>Chan</dc:creator>
				<category><![CDATA[Клавиатура]]></category>
		<category><![CDATA[переключить]]></category>
		<category><![CDATA[раскладка]]></category>

		<guid isPermaLink="false">http://www.vbfaq.ru/?p=114</guid>
		<description><![CDATA[Как переключить раскладку клавиатуры RU-EN?


Option Explicit

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

Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" _
    (ByVal pwszKLID As String, ByVal Flags As Long) As Long

Const KbdRu = "00000419"
Const KbdEn = "00000409"

Private Sub Command1_Click()
Dim hLayout As Long
hLayout = LoadKeyboardLayout(KbdRu, [...]]]></description>
		<wfw:commentRss>http://www.vbfaq.ru/2008/12/kak-pereklyuchit-raskladku-klaviatury-ru-en/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как мигнуть Num Lock’ом?</title>
		<link>http://www.vbfaq.ru/2008/12/kak-mignut-num-lock%e2%80%99om/</link>
		<comments>http://www.vbfaq.ru/2008/12/kak-mignut-num-lock%e2%80%99om/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 04:02:31 +0000</pubDate>
		<dc:creator>Chan</dc:creator>
				<category><![CDATA[Клавиатура]]></category>
		<category><![CDATA[caps lock]]></category>
		<category><![CDATA[num-lock]]></category>
		<category><![CDATA[scroll-lock]]></category>
		<category><![CDATA[мигнуть]]></category>

		<guid isPermaLink="false">http://www.vbfaq.ru/?p=113</guid>
		<description><![CDATA[Как мигнуть Num Lock’ом?
Многие начинающие программисты, хотят научиться &#8211; это делать.
Чтобы напакостить своим друзьям!
Ну и в чем же проблема?


Option Explicit
Private Declare Sub keybd_event Lib "user32" _
    (ByVal bVk As Byte, ByVal bScan As Byte, _
    ByVal dwFlags As Long, _
    ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = [...]]]></description>
		<wfw:commentRss>http://www.vbfaq.ru/2008/12/kak-mignut-num-lock%e2%80%99om/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как передать фокус по нажатию Enter?</title>
		<link>http://www.vbfaq.ru/2008/11/kak-peredat-fokus-po-nazhatiyu-enter/</link>
		<comments>http://www.vbfaq.ru/2008/11/kak-peredat-fokus-po-nazhatiyu-enter/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 10:21:16 +0000</pubDate>
		<dc:creator>Chan</dc:creator>
				<category><![CDATA[Клавиатура]]></category>
		<category><![CDATA[enter]]></category>
		<category><![CDATA[нажатие]]></category>
		<category><![CDATA[передать]]></category>
		<category><![CDATA[фокус]]></category>

		<guid isPermaLink="false">http://www.vbfaq.ru/?p=87</guid>
		<description><![CDATA[Как передать фокус по нажатию Enter?


Option Explicit

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then Text2.SetFocus
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then Text1.SetFocus
End Sub

]]></description>
		<wfw:commentRss>http://www.vbfaq.ru/2008/11/kak-peredat-fokus-po-nazhatiyu-enter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как получить состояние клавиш Num Lock, Scroll Lock и Caps Lock?</title>
		<link>http://www.vbfaq.ru/2008/11/kak-poluchit-sostoyanie-klavish-num-lock-scroll-lock-i-caps-lock/</link>
		<comments>http://www.vbfaq.ru/2008/11/kak-poluchit-sostoyanie-klavish-num-lock-scroll-lock-i-caps-lock/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 12:30:15 +0000</pubDate>
		<dc:creator>МП41А</dc:creator>
				<category><![CDATA[Клавиатура]]></category>
		<category><![CDATA[caps]]></category>
		<category><![CDATA[num]]></category>
		<category><![CDATA[scroll]]></category>
		<category><![CDATA[получить]]></category>
		<category><![CDATA[состояние]]></category>

		<guid isPermaLink="false">http://www.vbfaq.ru/?p=74</guid>
		<description><![CDATA[Как получить состояние клавиш Num Lock, Scroll Lock и Caps Lock?
На форме должен находиться таймер.

Option Explicit
Private Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long
Dim pbKey(0 To 255) As Byte

Private Sub Form_Load()
    Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
    Call GetKeyboardState(pbKey(0))
    Me.Caption = IIf(pbKey(vbKeyNumlock), "NUM", "")
 [...]]]></description>
		<wfw:commentRss>http://www.vbfaq.ru/2008/11/kak-poluchit-sostoyanie-klavish-num-lock-scroll-lock-i-caps-lock/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Не завершать приложение по ALT+F4.</title>
		<link>http://www.vbfaq.ru/2008/09/ne-zavershat-prilozhenie-po-altf4/</link>
		<comments>http://www.vbfaq.ru/2008/09/ne-zavershat-prilozhenie-po-altf4/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 13:39:38 +0000</pubDate>
		<dc:creator>desant</dc:creator>
				<category><![CDATA[Клавиатура]]></category>
		<category><![CDATA[alt+f4]]></category>
		<category><![CDATA[закрыть]]></category>
		<category><![CDATA[метод]]></category>
		<category><![CDATA[приложение]]></category>

		<guid isPermaLink="false">http://www.vbfaq.ru/?p=25</guid>
		<description><![CDATA[Не завершать приложение по ALT+F4.
Хитрый метод, не позволять закрыть приложение, можно использовать для различных целей.


Option Explicit

Private Sub Form_QueryUnload _
    (Cancel As Integer, _
     UnloadMode As Integer)
   If UnloadMode = vbFormControlMenu Then
    Cancel = True
   End If
End Sub

]]></description>
		<wfw:commentRss>http://www.vbfaq.ru/2008/09/ne-zavershat-prilozhenie-po-altf4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Узнать раскладку клавиатуры</title>
		<link>http://www.vbfaq.ru/2008/09/uznat-raskladku-klaviatury/</link>
		<comments>http://www.vbfaq.ru/2008/09/uznat-raskladku-klaviatury/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 13:42:38 +0000</pubDate>
		<dc:creator>desant</dc:creator>
				<category><![CDATA[Клавиатура]]></category>
		<category><![CDATA[раскладка]]></category>
		<category><![CDATA[таймер]]></category>

		<guid isPermaLink="false">http://www.vbfaq.ru/?p=26</guid>
		<description><![CDATA[Узнать раскладку клавиатуры.
Нам понадобится таймер.


Option Explicit
Private Declare Function GetKeyboardLayoutName _
    Lib "user32" Alias "GetKeyboardLayoutNameA" _
            (ByVal pwszKLID As String) As Long

Private Sub Form_Load()
Timer1.Interval = 1
End Sub

Private Sub Timer1_Timer()
Dim KeybLayoutName As String
KeybLayoutName = String(9, 0)
GetKeyboardLayoutName KeybLayoutName
If CStr(CLng(Left$(KeybLayoutName, _
    InStr(1, [...]]]></description>
		<wfw:commentRss>http://www.vbfaq.ru/2008/09/uznat-raskladku-klaviatury/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
