realbasic-nug.de
[Top] [All Lists]

Re: Win: SendKey an anderes Fenster

To: REALbasic NUG German <realbasic-nug dot de at lists dot realsoftware dot com>
Subject: Re: Win: SendKey an anderes Fenster
From: Sascha Schneppmueller <schneppmueller at gmail dot com>
Date: Tue, 14 Jun 2005 13:27:11 +0200
Delivered-to: realbasic-nug dot de at lists dot realsoftware dot com
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=NAYFHZryfT4qROHVAlLZ0Rxe6eyMtHy9zZ/LX1ynJD/nptjYs2T1GIu/E70W7db5KRbCykU+SaIFtKrQ0CQDp7ATjeF4YpjmMhCBsUL8vINwkeSfLMBoxUerk0Iy++0HlcXpJr8LKCXBr9vFJZTTJSPyPQ4mrhpB8fqAYCWM2F4=
References: <2fb132ac0506140359162d6aed at mail dot gmail dot com> <E1Di99N-0005AC-1X at neckar dot trilos dot net>
SendKey hab ich nun fertig:

Sub SendKey(VKey As Integer, PressDown As Boolean)
Dim ret As Integer

Declare Function keybd_event Lib "user32.dll" Alias "keybd_event"(bVk
As Integer, bScan As Integer, dwFlags As Integer, dwExtraInfo As
Integer) As Integer

If PressDown Then
 ret = keybd_event(VKey, 0,0,0) ''Press Button Down
Else
 ret = keybd_event(VKey,0,KEYEVENTF_KEYUP ,0) ''Release Button
End If
End Sub

Um z.B. CTRL+SHIF+i zu senden macht man folgendes:
     SendKey VK_CONTROL,True 'CTRL druecken
     SendKey VK_LSHIFT,True 'Links Shift Druecken
     SendKey VK_I,True ' i druecken
     SendKey VK_I,False ' i loslassen
     SendKey VK_LSHIFT,False ' Links Shift loslassen
     SendKey VK_CONTROL,False ' CTRL loslassen

Jetzt brauche ich nur noch eine Funktion um einen Button in einem
anderen Programm zu fokussieren.
Ideal waere es wenn das andere Programm/Fenster mit dem WindowHandle
angesprochen werden wuerde.

Ich freue miche ueber jede Hilfe :o)

Anbei eine Liste der VK_ KeyConstanten:
 Const VK_0 = &H30
 Const VK_1 = &H31
 Const VK_2 = &H32
 Const VK_3 = &H33
 Const VK_4 = &H34
 Const VK_5 = &H35
 Const VK_6 = &H36
 Const VK_7 = &H37
 Const VK_8 = &H38
 Const VK_9 = &H39
 Const VK_A = &H41
 Const VK_B = &H42
 Const VK_C = &H43
 Const VK_D = &H44
 Const VK_E = &H45
 Const VK_F = &H46
 Const VK_G = &H47
 Const VK_H = &H48
 'Const VK_I = &H49
 Const VK_J = &H4A
 Const VK_K = &H4B
 Const VK_L = &H4C
 Const VK_M = &H4D
 Const VK_N = &H4E
 Const VK_O = &H4F
 Const VK_P = &H50
 Const VK_Q = &H51
 Const VK_R = &H52
 Const VK_S = &H53
 Const VK_T = &H54
 Const VK_U = &H55
 Const VK_V = &H56
 Const VK_W = &H57
 Const VK_X = &H58
 Const VK_Y = &H59
 Const VK_Z = &H5A
 Const VK_ADD = &H6B
 Const VK_ATTN = &HF6
 Const VK_BACK = &H8
 Const VK_CANCEL = &H3
 Const VK_CAPITAL = &H14
 Const VK_CLEAR = &HC
 'Const VK_CONTROL = &H11
 Const VK_CRSEL = &HF7
 Const VK_DECIMAL = &H6E
 Const VK_DELETE = &H2E
 Const VK_DIVIDE = &H6F
 Const VK_DOWN = &H28
 Const VK_END = &H23
 Const VK_EREOF = &HF9
 Const VK_ESCAPE = &H1B
 Const VK_EXECUTE = &H2B
 Const VK_EXSEL = &HF8
 Const VK_F1 = &H70
 Const VK_F10 = &H79
 Const VK_F11 = &H7A
 Const VK_F12 = &H7B
 Const VK_F13 = &H7C
 Const VK_F14 = &H7D
 Const VK_F15 = &H7E
 Const VK_F16 = &H7F
 Const VK_F17 = &H80
 Const VK_F18 = &H81
 Const VK_F19 = &H82
 Const VK_F2 = &H71
 Const VK_F20 = &H83
 Const VK_F21 = &H84
 Const VK_F22 = &H85
 Const VK_F23 = &H86
 Const VK_F24 = &H87
 Const VK_F3 = &H72
 Const VK_F4 = &H73
 Const VK_F5 = &H74
 Const VK_F6 = &H75
 Const VK_F7 = &H76
 Const VK_F8 = &H77
 Const VK_F9 = &H78
 Const VK_HELP = &H2F
 Const VK_HOME = &H24
 Const VK_INSERT = &H2D
 Const VK_LBUTTON = &H1
 Const VK_LCONTROL = &HA2
 Const VK_LEFT = &H25
 Const VK_LMENU = &HA4
 'Const VK_LSHIFT = &HA0
 Const VK_MBUTTON = &H4
 Const VK_MENU = &H12
 Const VK_MULTIPLY = &H6A
 Const VK_NEXT = &H22
 Const VK_NONAME = &HFC
 Const VK_NUMLOCK = &H90
 Const VK_NUMPAD0 = &H60
 Const VK_NUMPAD1 = &H61
 Const VK_NUMPAD2 = &H62
 Const VK_NUMPAD3 = &H63
 Const VK_NUMPAD4 = &H64
 Const VK_NUMPAD5 = &H65
 Const VK_NUMPAD6 = &H66
 Const VK_NUMPAD7 = &H67
 Const VK_NUMPAD8 = &H68
 Const VK_NUMPAD9 = &H69
 Const VK_OEM_CLEAR = &HFE
 Const VK_PA1 = &HFD
 Const VK_PAUSE = &H13
 Const VK_PLAY = &HFA
 Const VK_PRINT = &H2A
 Const VK_PRIOR = &H21
 Const VK_PROCESSKEY = &HE5
 Const VK_RBUTTON = &H2
 Const VK_RCONTROL = &HA3
 Const VK_RETURN = &HD
 Const VK_RIGHT = &H27
 Const VK_RMENU = &HA5
 Const VK_RSHIFT = &HA1
 Const VK_SCROLL = &H91
 Const VK_SELECT = &H29
 Const VK_SEPARATOR = &H6C
 Const VK_SHIFT = &H10
 Const VK_SNAPSHOT = &H2C
 Const VK_SPACE = &H20
 Const VK_SUBTRACT = &H6D
 'Const VK_TAB = &H9
 Const VK_UP = &H26
 Const VK_ZOOM = &HFB
 Const KEYEVENTF_EXTENDEDKEY = &H1
 Const KEYEVENTF_KEYUP = &H2
 Const SW_HIDE = 0
 Const SW_SHOWNORMAL = 1
 Const SW_SHOWMINIMIZED = 2
 Const SW_MAXIMIZE = 3
 Const SW_SHOWNOACTIVATE = 4
 Const SW_SHOW = 5
 Const SW_MINIMIZE = 6
 Const SW_SHOWMINNOACTIVE = 7
 Const SW_SHOWNA = 8
 Const SW_RESTORE = 9


Sry fuer evtl. Doppelpost...

<Prev in Thread] Current Thread [Next in Thread>