Red de conocimiento informático - Problemas con los teléfonos móviles - vb convierte la señal del puerto serie en una señal clave, que consiste en recibir datos del puerto serie, luego simular el teclado y enviarlos al cuadro de entrada de la ventana actualmente activa.

vb convierte la señal del puerto serie en una señal clave, que consiste en recibir datos del puerto serie, luego simular el teclado y enviarlos al cuadro de entrada de la ventana actualmente activa.

Si tiene acceso a un puerto serie, podrá ver cómo lo hace el escáner.

Si escribe su propio programa, puede consultar el código para asignar los datos recibidos al teclado

Opción explícita

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte , ByVal bScan As Byte.H8 'Tecla de retroceso

Const privada VK_CAPITAL As Long = &H14 'Tecla Bloq Mayús (tecla de conversión de mayúsculas y minúsculas)

Const privada VK_CANCEL As Long = &H3 'Ctrl + Programa de pausa

Const privada VK_CONTROL mientras = &H11

Const privada VK_ DECIMAL mientras = &H6E 'Clave numérica decimal

Const privada VK_DELETE mientras = &H2E

Const privada VK_DIVIDE mientras = &H6F 'Clave de división

Const privada VK_DOWN mientras = &H28

Const privada VK_END mientras = &H23

Const privada VK_ESCAPE mientras = &H1B

Const privada VK_F1 mientras = &H70

Const privada VK_F10 mientras = &H79

Const privada VK_F11 Mientras = &H7A

Const privada VK_F12 Mientras = &H7B

Const privada VK_F2 Mientras = &H71

Const privada VK_F3 Mientras = &H72

Const privada VK_F4 mientras = &H73

Const privada VK_F5 mientras = &H74

Const privada VK_F6 mientras = &H75

Privada Const VK_F7 Mientras = &H76

Const Privada VK_F8 Mientras = &H77

Const Privada VK_F9 Mientras = &H78

Const Privada VK_HOME Mientras = &

Const privada VK_LWIN mientras = &H5B

Const privada VK_MENU mientras = &H12 'Tecla Alt

Const privada VK_MULTIPLY mientras = &H6A 'Tecla de multiplicación

Const privada VK_NEXT mientras = &.H62

Const privada VK_NUMPAD3 mientras = &H63

Contras privadas

t VK_NUMPAD4 Mientras = &H64

Const privada VK_NUMPAD5 Mientras = &H65

Const privada VK_NUMPAD6 Mientras = &H66

Const privada VK_NUMPAD7 Mientras = &H67

Const privada VK_NUMPAD8 mientras = &H68

Const privada VK_NUMPAD9 mientras = &H69

Const privada VK_PAUSE mientras = &H13

Const privada VK_PRINT mientras = &H2A

Const privada VK_PRIOR mientras = &H21 'Tecla de avance de página'

Const privada VK_RCONTROL mientras = &HA3

Const privada VK_RETURN As Long = &HD 'Tecla Enter

Const Privada VK_RIGHT As Long = &H27

Const Privada VK_RMENU As Long = &HA5 'Tecla Alt derecha

Privada Const VK_RSHIFT Mientras = &HA1

Const Privada VK_RWIN Mientras = &H5C

Const Privada VK_SCROLL Mientras = &H91 'Tecla de bloqueo de desplazamiento

Const Privada VK_SEPARATOR Mientras = &H6C 'Tecla Intro en el teclado numérico

Const privada VK_ SHIFT As Long = &H10

Const privada VK_SLEEP As Long = &H5F 'Tecla de suspensión

Const privada VK_SNAPSHOT As Long = &H2C 'Imprimir clave de pantalla

Const privada VK_SPACE As Long = &H20

Const privada VK_SUBTRACT As Long = &H6D 'Tecla menos

Privada Const VK_TAB Mientras = &H9

Privado Const VK_UP Mientras = &H26

Privado Const VK_OEM_1 Mientras = &HBA 'Windows 2000: Para un teclado estándar de EE. UU., es ";: " tecla

Private Const VK_OEM_2 As Long = &HBF 'Windows 2000: Para un teclado estándar de EE. UU., es la tecla "/? "

Private Const VK_OEM_2 As Long = &HBF 'Windows 2000 : Para el teclado estándar de EE. UU., es la tecla "/?"

Private Const VK_OEM_3 As L

ong = &HC0 'Windows 2000: para el teclado estándar de EE. UU., es la tecla "`~"

Private Const VK_OEM_4 As Long = &HDB 'Windows 2000: para el teclado estándar de EE. UU., es la tecla "/ amp;HDB 'Windows 2000: para el teclado estándar de EE. UU., es la tecla "[{"

Private Const VK_OEM_5 As Long = &HDC 'Windows 2000: para el teclado estándar de EE. UU., es "? Tecla \|"

Const privada VK_OEM_6 mientras = &HDD 'Windows 2000: para un teclado estándar de EE. UU., es la tecla "]}"

Const privada VK_OEM_7 mientras = &HDE 'Windows 2000: para un teclado estándar de EE. UU., es la tecla "comillas simples/dobles"

Private Const VK_OEM_COMMA As Long = &HBC 'Windows 2000: para el teclado estándar de EE. UU., es la tecla "comillas simples/dobles" /comilla doble"

Const privada VK_OEM_COMMA siempre = &HBC amp;HBC 'Windows 2000: para cualquier país, es la clave ", "

Const privada VK_OEM_MINUS mientras = &HBD 'Windows 2000: para cualquier país, es la clave "-"

Private Const VK_OEM_PERIOD As Long = &HBE 'Windows 2000: para cualquier país, es la clave "." >Private Const VK_OEM_PLUS As Long = &HBB 'Windows 2000: Para cualquier país, la tecla "+"

Private Const KEYEVENTF_ KEYUP = &H2

Programa de muestra:

Opción explícita

'Simular función de teclado

Privado Declarar Sub keybd_event Lib "user32" _

(ByVal bVk como byte, ByVal Scan como byte, ByVal Scan As Byte) ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

'Realice diferentes códigos de escaneo y conversiones de caracteres según el tipo de asignación especificado, 0 - wCode es el código de clave virtual.

La función devuelve el código de escaneo correspondiente

Función de declaración privada MapVirtualKey Lib "user32" _

Alias ​​​​"MapVirtualKeyA" _

(ByVal wCode As Long, _

p>

ByVal wMapType Mientras) _

Mientras

Const privada VK_CONTROL = &H11

Const privada KEYEVENTF_KEYUP = &H2

Const privada VK_RETURN = &HD

Subcomando privado1_Click()

Descargarme

Fin Sub

Private Sub Form_click()

Si Portapapeles .GetFormat(vbCFText) Entonces

keybd_event VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0 'Iniciar Ctrl

keybd_event Asc("V "), MapVirtualKey(Asc("V"), 0), 0, 0 'Simula presionar la tecla "V", aquí está el código ascll

keybd_event Asc("V") 、MapVirtualKey(Asc( "V"), 0), KEYEVENTF_KEYUP, 0 'Deshacer la tecla V presionada

keybd_event Asc("V"), MapVirtualKey(Asc("V"), 0), KEYEVENTF_KEYUP , 0 'Deshacer tecla V presionada

keybd_event VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0 'Deshacer ctrl

'Las siguientes dos oraciones son principalmente para que los saltos de línea se vean claramente y se puede eliminar

keybd_event VK_ RETURN, MapVirtualKey(VK_RETURN, 0), 0, 0 'Simular retorno de carro

keybd_event VK_RETURN, MapVirtualKey(VK_RETURN, 0), KEYEVENTF_KEYUP, 0 ' Deshacer retorno de carro

Else

MsgBox "El contenido del portapapeles no está en formato de texto"

End If