bi de böyle dene
public void ghook_KeyDown(object sender, KeyEventArgs e)
{
char? a = karkter(e);
textBox1.Text += a + " - ";
}
private static char? karkter(KeyEventArgs e)
{
bool firstChance = false; ;
byte[] keyStates = new byte[256];
InputLanguage inputLanguage = InputLanguage.CurrentInputLanguage;
const byte keyPressed = 0x80;
keyStates[(int)((Keys)e.KeyCode & Keys.KeyCode)] = keyPressed;
keyStates[(int)Keys.ShiftKey] = (((Keys)e.KeyCode & Keys.Shift) == Keys.Shift) ? keyPressed : (byte)0;
keyStates[(int)Keys.ControlKey] = (((Keys)e.KeyCode & Keys.Control) == Keys.Control) ? keyPressed : (byte)0;
keyStates[(int)Keys.Menu] = (((Keys)e.KeyCode & Keys.Alt) == Keys.Alt) ? keyPressed : (byte)0;
StringBuilder sb = new StringBuilder(10);
int ret = ToUnicodeEx((Keys)e.KeyCode, 0, keyStates, sb, sb.Capacity, 0, inputLanguage.Handle);
if (ret == 1)
return sb[0];
if (ret == -1)
{
if (firstChance)
{
}
return null;
} return null;
}
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
private static extern int ToUnicodeEx(Keys wVirtKey, uint wScanCode, byte[] lpKeyState, StringBuilder pwszBuff, int cchBuff, uint wFlags, IntPtr dwhkl);