详细内容
C#开发软键盘需注意的几点
发布日期:2012-04-06     点击:3627     字体:[ ]

C#开发软键盘需注意以下几点:

1.设置浮动窗口

将以下代码加入winform代码类里,窗口就被设置成浮动窗口,这样就不会让其他窗体失去焦点

        //浮动窗口,不影响其他窗口焦点
        private const int WS_EX_TOOLWINDOW = 0x00000080;
        private const int WS_EX_NOACTIVATE = 0x08000000;
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= (WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW);
                cp.Parent = IntPtr.Zero; // Keep this line only if you used UserControl
                return cp;
                //return base.CreateParams;
            }
        }

2. SendKeys.Send

该方法可以发送信息到焦点窗口,例如点击字符A,可以直接写SendKeys.Send("A"),当然特殊键需要把字符括在大括号里,例如发送回车可以写

SendKeys.Send("{ENTER}")或者SendKeys.Send("{~}"), 当然,普通字符也可以括在大括号里,而且有的字符必须放在大括号里,例如"(",一些特殊字符如下:

代码

Backspace

{BACKSPACE}、{BS} 或 {BKSP}

Break

{BREAK}

Caps Lock

{CAPSLOCK}

Del 或 Delete

{DELETE} 或 {DEL}

向下键

{DOWN}

End

{END}

Enter

{ENTER} 或 ~

Esc

{ESC}

Help

{HELP}

Home

{HOME}

Ins 或 Insert

{INSERT} 或 {INS}

向左键

{LEFT}

Num Lock

{NUMLOCK}

Page Down

{PGDN}

Page Up

{PGUP}

Print Screen

{PRTSC}(保留供将来使用)

向右键

{RIGHT}

Scroll Lock

{SCROLLLOCK}

Tab

{TAB}

向上键

{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可以写SendKeys.Send("{+^}")。

3.这样看起来没什么大问题了,但还不能发送中文信息,要想发送中文,这里会用到Hook,后面会把相关代码加上,加进工程中,引用即可。

SoftKeyBoard.rar

用户评论
昵称 
内容  *
验证码   
   
Copyright © 2010 zdbase.com All Rights Reserved. 苏ICP备15039389号 可人软件设计