请问如何模拟键盘按键?例如按按钮1,就在TextBox中输入"1",按退格按钮,则把刚才输的字符"1"删除

解决方案 »

  1.   

    System.Windows.Forms.SendKeys.Send("l")
    System.Windows.Forms.SendKeys.Send("{BKSP}");
      

  2.   

    SendKeys 类
    提供将键击发送到应用程序的方法。每个键都由一个或多个字符表示。若要指定单个键盘字符,请使用该字符本身。例如,若要表示字母 A,请将字符串“A”传递给方法。若要表示多个字符,请将各个附加字符追加到它之前的字符的后面。若要表示字母 A、B 和 C,请将参数指定为“ABC”。加号 (+)、插入符号 (^)、百分号 (%)、波浪号 (~) 以及圆括号 () 对 SendKeys 具有特殊含义。若要指定这些字符中的某个字符,请将其放在大括号 ({}) 内。例如,若要指定加号,请使用“{+}”。若要指定大括号字符,请使用“{{}”和“{}}”。中括号 ([ ]) 对 SendKeys 没有特殊含义,但必须将它们放在大括号内。在其他应用程序中,中括号具有特殊含义,此含义可能会在发生动态数据交换 (DDE) 时起重要作用。若要指定在按键(如 ENTER 或 TAB)时不显示的字符,以及表示操作而不表示字符的键,请使用下表中的代码:键 代码 
    BACKSPACE {BACKSPACE}、{BS} 或 {BKSP} 
    BREAK {BREAK} 
    CAPS LOCK {CAPSLOCK} 
    DEL 或 DELETE {DELETE} 或 {DEL} 
    DOWN ARROW(下箭头键) {DOWN} 
    END {END} 
    ENTER {ENTER} 或 ~ 
    ESC {ESC} 
    HELP {HELP} 
    HOME {HOME} 
    INS 或 INSERT {INSERT} 或 {INS} 
    LEFT ARROW(左箭头键) {LEFT} 
    NUM LOCK {NUMLOCK} 
    PAGE DOWN {PGDN} 
    PAGE UP {PGUP} 
    PRINT SCREEN {PRTSC}(保留供将来使用) 
    RIGHT ARROW(右箭头键) {RIGHT} 
    SCROLL LOCK {SCROLLLOCK} 
    TAB {TAB} 
    UP ARROW(上箭头键) {UP} 
    F1 {F1} 
    F2 {F2} 
    F3 {F3} 
    F4 {F4} 
    F5 {F5} 
    F6 {F6} 
    F7 {F7} 
    F8 {F8} 
    F9 {F9} 
    F10 {F10} 
    F11 {F11} 
    F12 {F12} 
    F13 {F13} 
    F14 {F14} 
    F15 {F15} 
    F16 {F16} 
    数字键盘加号 {ADD} 
    数字键盘减号 {SUBTRACT} 
    数字键盘乘号 {MULTIPLY} 
    数字键盘除号 {DIVIDE} 若要指定与 SHIFT、CTRL 和 ALT 键的任意组合一起使用的键,请在这些键代码之前加上以下一段或多段代码。键 代码 
    SHIFT + 
    CTRL ^ 
    ALT % 若要指定在按一些键时应同时按住 SHIFT、CTRL 和 ALT 键的任意组合,请将这些键的代码放在括号内。例如,若要指定按 E 和 C 时同时按住 SHIFT 键,请使用“+(EC)”。若要指定按 E 时应按住 SHIFT,之后按 C 时不按住 SHIFT,请使用“+EC”。要指定重复的键,请使用 {键数字} 的形式。键和数字之间必须放一空格。例如,{LEFT 42} 表示按左箭头键 42 次;{h 10} 表示按 H 10 次。
      

  3.   

    songhtao(三十年孤独)
    说的好全啊
      

  4.   

    如果你想进行另一个应用程序的模拟键盘按键,那么注意以下情况: 
    因为没有可用来激活另一个应用程序的托管方法,所以可以在当前应用程序中使用SendKey类,
    可以使用本机 Windows 方法(如 FindWindow 和 SetForegroundWindow)来强制聚焦到其他应用程序上。
      

  5.   

    System.Windows.Forms.SendKeys.Send("l")
      

  6.   

    如何提供对Power键的支持呢?
    如何设置 Ctrl+Alt+Delete的按键呢?
      

  7.   

    System.Windows.Forms.SendKeys.Send("l")如果是
    Ctrl+Alt+Delete就调API吧
      

  8.   

    [DllImport("user32.dll", EntryPoint="keybd_event")]
    public static extern void keybd_event (
    byte bVk,
    byte bScan,
    int dwFlags,
    int dwExtraInfo
    );

    private const int KEYEVENTF_EXTENDEDKEY = 0x1;
    private const int KEYEVENTF_KEYUP = 0x2;
    private const int KEYEVENTF_KEYDOWN = 0x00; private const int KEY_A = 0x41;
    private const int KEY_S = 0x53;
    private const int KEY_D = 0x44;
    private const int KEY_W = 0x57; private const int KEY_J = 0x4A;
    private const int KEY_K = 0x4B;
    private const int KEY_L = 0x4C; private const int KEY_U = 0x55;
    private const int KEY_I = 0x49;
    private const int KEY_O = 0x4F;
    ...................// You can get these predefine parameteres from MSDNkeybd_event(KEY_U, 0, KEYEVENTF_KEYUP, 0);
    keybd_event(KEY_U, 0, KEYEVENTF_KEYDOWN, 0);