-
Sendkeys Problem
Hiho
mal wieder ein Problem.
Ich hab schon viele Dinge probiert aber nichts geht :(
Ich versuche entweder einen Mausklick oder einen bestimmten Buchstaben an eine C# Applikation weiter zu geben.
Wenn ich selber X bzw Y drücke oder eine der beiden Maustasten drücke, reagiert das Programm wunderbar.
Auf simulierte Mausklicks und Sendkeys jedoch nicht.
Gibt es denn eine spezielle Funktion um Tasten direkt an ein Programm weiter zu leiten?
Derzeit benutze ich:
Code:
Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, ByVal bScan As Byte, _
ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function VkKeyScan Lib "user32" Alias "VkKeyScanA" ( _
ByVal cChar As Byte) As Integer
Private Declare Function VkKeyScanW Lib "user32" ( _
ByVal cChar As Integer) As Integer
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)
Public Sub KeyDown(ByVal vKey As KeyCodeConstants)
keybd_event vKey, 0, KEYEVENTF_EXTENDEDKEY, 0
End Sub
Public Sub KeyUp(ByVal vKey As KeyCodeConstants)
keybd_event vKey, 0, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End Sub
Public Function KeyCode(ByVal sChar As String) As KeyCodeConstants
Dim bNt As Boolean
Dim iKeyCode As Integer
Dim b() As Byte
Dim iKey As Integer
Dim vKey As KeyCodeConstants
Dim iShift As ShiftConstants
bNt = ((GetVersion() And &H80000000) = 0)
If (bNt) Then
b = sChar
CopyMemory iKey, b(0), 2
iKeyCode = VkKeyScanW(iKey)
Else
b = StrConv(sChar, vbFromUnicode)
iKeyCode = VkKeyScan(b(0))
End If
KeyCode = (iKeyCode And &HFF&)
End Function
was jedoch nicht funktioniert
mfg
nom
-
AW: Sendkeys Problem
-
AW: Sendkeys Problem
Beides probiert und kein Erfolg :/
liegt wohl an dem Programm an das ich senden will.
Nachm aufstehen schau ich mir das nochmal genauer an
-
AW: Sendkeys Problem
Das Programm bekommt auch nichts anderes als diese "Window Messages", die dann verarbeitet werden. Wie sollte das prüfen können, wer die generiert?
-
AW: Sendkeys Problem
Dann liegt es an VB6. Ich weiß es nicht aufjedenfall kriege ich keine Taste gesendet. Ich probiere bei Zeiten nochmal etwas rum. Danke trotzdem
-
AW: Sendkeys Problem
kenne mich jetzt nicht ernsthaft mit vb6 aus. aber muss man ,wenn man was an ein programm senden will das schon gestartet ist, es erst aktivieren, also in vordergrund bringen?
AppActivate
falls ich totalen müll erzähle, sorry. ist mir jetzt halt so spontan eingefallen.
gruß
mike
-
AW: Sendkeys Problem
Ist kein müll, jedoch ist das Programm schon im Vordergrund und auch im Fokus.