problemas con GlobalKeyHooker

Iniciado por Yatch, 2 Mayo 2010, 02:21 AM

0 Miembros y 1 Visitante están viendo este tema.

Yatch

holas, estoy programando un hooker keyboard y quiero resolver algunos problemas:

1- cuando el programa esta corriendo no puedo usar las teclas que eh agregado al HOOk.
2- como el color al string  (no al texto completo).
3- y como pongo el programa siempre vissible ya puse true el TopMost y no funciona.
4- y porque se ven las letras mayusculas aunque no este escriviendo en mayuscula (caractercasing = normal)


estoy usando visual express 2008 c#

el codigo base lo encontre aqui
http://www.codeproject.com/KB/cs/CSLLKeyboardHook.aspx


El codigo de mi formulario principal

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Utilities;

namespace Hooker {
public partial class formMain : Form {

       globalKeyboardHook gkh = new globalKeyboardHook();
       String stringText;
       String outText;

public formMain() {
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e) {
           gkh.HookedKeys.Add(Keys.A);
   gkh.HookedKeys.Add(Keys.B);
           gkh.HookedKeys.Add(Keys.C);
           gkh.HookedKeys.Add(Keys.D);
           gkh.HookedKeys.Add(Keys.E);
           gkh.HookedKeys.Add(Keys.F);
           gkh.HookedKeys.Add(Keys.G);
           gkh.HookedKeys.Add(Keys.H);
           gkh.HookedKeys.Add(Keys.I);
           gkh.HookedKeys.Add(Keys.J);
           gkh.HookedKeys.Add(Keys.K);
           gkh.HookedKeys.Add(Keys.L);
           gkh.HookedKeys.Add(Keys.M);
           gkh.HookedKeys.Add(Keys.N);
           gkh.HookedKeys.Add(Keys.O);
           gkh.HookedKeys.Add(Keys.P);
           gkh.HookedKeys.Add(Keys.Q);
           gkh.HookedKeys.Add(Keys.R);
           gkh.HookedKeys.Add(Keys.S);
           gkh.HookedKeys.Add(Keys.T);
           gkh.HookedKeys.Add(Keys.U);
           gkh.HookedKeys.Add(Keys.V);
           gkh.HookedKeys.Add(Keys.W);
           gkh.HookedKeys.Add(Keys.X);
           gkh.HookedKeys.Add(Keys.Y);
           gkh.HookedKeys.Add(Keys.Z);

           gkh.HookedKeys.Add(Keys.NumPad0);
           gkh.HookedKeys.Add(Keys.NumPad1);
           gkh.HookedKeys.Add(Keys.NumPad2);
           gkh.HookedKeys.Add(Keys.NumPad3);
           gkh.HookedKeys.Add(Keys.NumPad4);
           gkh.HookedKeys.Add(Keys.NumPad5);
           gkh.HookedKeys.Add(Keys.NumPad6);
           gkh.HookedKeys.Add(Keys.NumPad7);
           gkh.HookedKeys.Add(Keys.NumPad8);
           gkh.HookedKeys.Add(Keys.NumPad9);


           gkh.HookedKeys.Add(Keys.Space);
           gkh.HookedKeys.Add(Keys.Tab);
           gkh.HookedKeys.Add(Keys.Enter);
           gkh.HookedKeys.Add(Keys.Back);

       
         

           gkh.KeyDown += new KeyEventHandler(addText);
}

void addText(object sender, KeyEventArgs e)
       {
           stringText = e.KeyCode.ToString();

           switch (stringText)
           {
               case "Return":
                   outText = "\r\n<E>";
               break;

               case "Space":
                   outText = " ";
               break;

               case "Tab":
                   outText = "<TAB>";
               break;

               case "Back":
                   outText = "<BS>";
               break;
               
               default:
                   outText = stringText;
               break;
           }


           logBox.Text += outText;
e.Handled = true;
}
}
}