Hej ! Funkar kanske att använda textboxen.Setfocus(VB6) eller textboxen.Focus(.Net) istället för Sendkeys? Hej !Sendkeys i vista
VARFÖR får jag run-time error '70'
Hoppar med enter till nästa textbox.
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{TAB}", True
End If
End Sub
Funkar i WinXp men har nu bytt till Vista kan det bero på att Vista inte fattar att man vill flytta till nästa textbox eller?
Formens egenskap är satt KeyPreview = True
/TobbeSv: Sendkeys i vista
Sv:Sendkeys i vista
Det funkar med Textbox.setfocus i VB6.
Har nu Läst att i vista och IE7 funkar inte SendKeys av någon anledning.
http://www.vbforums.com/showthread.php?t=412021
Skall testa ett ex, som jag hittade där se om det funkar!
VBCode:
Option Explicit
Private Const KEYEVENTF_KEYUP = &H2
Private Const INPUT_KEYBOARD = 1
Private Type KEYBDINPUT
wVk As Integer
wScan As Integer
dwFlags As Long
time As Long
dwExtraInfo As Long
End Type
Private Type GENERALINPUT
dwType As Long
xi(0 To 23) As Byte
End Type
Private Declare Function SendInput Lib "user32.dll" (ByVal nInputs As Long, pInputs As GENERALINPUT, ByVal cbSize As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
Public Function SendKeysA(ByVal vKey As Integer, Optional booDown As Boolean = False)
Dim GInput(0) As GENERALINPUT
Dim KInput As KEYBDINPUT
KInput.wVk = vKey
If Not booDown Then
KInput.dwFlags = KEYEVENTF_KEYUP
End If
GInput(0).dwType = INPUT_KEYBOARD
CopyMemory GInput(0).xi(0), KInput, Len(KInput)
Call SendInput(1, GInput(0), Len(GInput(0)))
End Function
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
SendKeysA vbKeyTab, True
KeyAscii = 0
End If
End Sub
Funkar
Tobbe :-)