Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Эмулировать нажатие клавиш


Автор: programm93MAIL 7.3.2014, 18:49
Здравствуйте!

Как в Visual Basic 6 эмулировать нажатие клавиш Win+U которое вызывает диалог выбора пользователей.

Вот эта команда вызывает ALT+F4: SendKeys "%{F4}", True    

А как-же вызвать Win+U

Автор: programm93MAIL 10.3.2014, 11:33
В общем, код я нашел. В другом форуме подсказали.

Всем кому интересно -  решение:
Код


Private Declare Function OpenEvent Lib "kernel32.dll" Alias "OpenEventA" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal lpName As String) As Long
Private Declare Function SetEvent Lib "kernel32.dll" (ByVal hEvent As Long) As Long
Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
Private Const EVENT_MODIFY_STATE As Long = &H2
 
 
 
Private Declare Function WTSDisconnectSession Lib "Wtsapi32" (ByVal hServer As Long, ByVal SessionId As Long, ByVal bWait As Boolean) As Boolean
Private Const WTS_CURRENT_SERVER_HANDLE As Long = 0
Private Const WTS_CURRENT_SESSION As Long = -1


И действие само вызывается так:

Код

Select Case OSVersion
    Case Is >= Vista
 
        WTSDisconnectSession WTS_CURRENT_SERVER_HANDLE, WTS_CURRENT_SESSION, True
 
    Case Else
        H = OpenEvent(EVENT_MODIFY_STATE, True, "msgina: ReturnToWelcome")
        If H <> 0 Then
            SetEvent H
            CloseHandle H
        End If
End Select

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)