J'essaye de changer la clé entrée par le clavier.Comment puis-je changer la touche entrée par le clavier en dehors de mon application en C#?
J'ai réussi à restreindre la touche entrée par le clavier.
code en C#:
using System.Runtime.InteropServices;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
SetWindowsHookEx(WH_KEYBOARD_LL, hookProc, LoadLibrary("User32"), 0);
HookedKeys.Add(Keys.A);
HookedKeys.Add(Keys.B);
}
[DllImport("user32.dll")]
static extern IntPtr SetWindowsHookEx(int idHook, keyboardHookProc callback, IntPtr hInstance, uint threadId);
[DllImport("kernel32.dll")]
static extern IntPtr LoadLibrary(string lpFileName);
const int WH_KEYBOARD_LL = 13;
const int WM_KEYDOWN = 0x100;
public List<Keys> HookedKeys = new List<Keys>();
public delegate int keyboardHookProc(int code, int wParam, ref keyboardHookStruct lParam);
public struct keyboardHookStruct
{
public int vkCode;
}
public int hookProc(int code, int wParam, ref keyboardHookStruct lParam)
{
Keys key = (Keys)lParam.vkCode;
if (HookedKeys.Contains(key))
return 1;
else
return 0;
}
}
Après le débogage contrôle sur Bloc-notes ou nulle part ailleurs dans la fenêtre .... A et B clé ne fonctionnera pas
Comment puis-je modifier les clés , à la place de «A» une autre clé?
s'il vous plaît élaborer davantage ce que vous essayez d'accomplir – yonan2236
Peut-être que vous pouvez fournir le code que vous avez essayé et laissez-nous savoir quel problème vous affrontez avec – InSane