ERRO COM MUDAN?A DE ENTER PARA TAB

MITO 02/12/2014 09:03:08
#442911
Pessoal coloquei o VB em um novo PC com Windows 7, poerm meus programas agora em execução no projeto dao erro 70 na seguinte fase:

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0
SendKeys [Ô]{tab}[Ô]
End If
End Sub

[Ô] Da erro numero 70[Ô]

Me ajudem por favor !

Sds,

Mito
MITO 03/12/2014 16:42:33
#442967
TABEM NAO RECONHECE MAIS [Ô] ON ERROR RESUME NEXT[Ô]
MARCELO.TREZE 03/12/2014 16:48:59
#442969
instalou tudo direitinho, o vb6 + o sp6, desativou o UAC, executa o mesmo em forma de conpatibilidade
MITO 04/12/2014 14:39:49
#442981
Marcelo o vb eu instalei sim mas o SP6 nao sei o que é, e o UAC tbem não, voc^poderia me dar as dicas de como dsativar esse bixo ?
Ficarei muito grato

Sds,

Mito
MARCELO.TREZE 04/12/2014 21:41:35
#442992
bom o uac é fácil basta ir em iniciar digite em pesquisa UAC, vai abrir uma tela com um botão deslizante coloque ele todo pra baixo, pronto uac desativado.

sp6 é só ir no link abaixo, fazer o download e executar.

http://www.microsoft.com/en-us/download/details.aspx?id=5721

e é isso

SINCLAIR 04/12/2014 22:49:36
#442993
Colega,

Você deve estar com o velho problema SendKeys com Windows 7.

Meu problema só se resolveu quando usei a SendKeysA (API).

Caso queira, segue abaixo

Em um módulo coloque

  Public Const KEYEVENTF_KEYUP = &H2
Public Const INPUT_KEYBOARD = 1

Public Type KEYBDINPUT
wVk As Integer
wScan As Integer
dwFlags As Long
time As Long
dwExtraInfo As Long
End Type

Public Type GENERALINPUT
dwType As Long
xi(0 To 23) As Byte
End Type

Public Declare Function SendInput Lib [Ô]user32.dll[Ô] (ByVal nInputs As Long, pInputs As GENERALINPUT, ByVal cbSize As Long) As Long
Public 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


Para usar a função enviando F4 por exemplo, use:

  SendKeysA vbKeyF4, True 


O uso (syntax) quase igual do SendKeys usado anteriormente., As constantes das teclas (exemplo vbKeyReturn, vbKeyF4, etc) são todas iguais.

Tomara que resolva seu problema.

Tudo de bom.
Tópico encerrado , respostas não são mais permitidas