Bueno la verdad es que tengo un portatil e machines con teclado ingles europeo, y resulta que no tiene la tecla <>, y de verdad que es necesaria, asi que decidi realizar una aplicacion para tomar otra tecla que tiene instalada pero no tiene acciones alguna. he hize esto:
Código
Const SW_NORMAL As Short = 1 Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Integer, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Integer) As Integer Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Hide() End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim Key As String = Nothing Dim i As Integer For i = 0 To 255 'Consultamos el valor de la tecla mediante el Api. 'Si se presionó devuelve -32767 y mostramos el valor de i If GetAsyncKeyState(i) = -32767 Then Key = Chr(i) End If Next Try If asc(Key) = 255 Then My.Computer.Keyboard.SendKeys("<") ElseIf asc(Key) = 255 And My.Computer.Keyboard.ShiftKeyDown Then My.Computer.Keyboard.SendKeys(">") ElseIf asc(Key) = 255 And My.Computer.Keyboard.CtrlKeyDown Then My.Computer.Keyboard.SendKeys("<>") ElseIf asc(Key) = 255 And My.Computer.Keyboard.CtrlKeyDown And My.Computer.Keyboard.ShiftKeyDown Then My.Computer.Keyboard.SendKeys("</>") End If Catch ex As Exception End Try End Sub
Bueno resutlta que SI entra a los if , pero No envia a la ventana activa el caracter.
Pregunto que hice mal??? o que me falta....
Esta hecho en .net 3.5
De ante mano muchas gracias