屏幕键盘 虚拟键盘功能是如何实现的(创建没有焦点的窗口)?
开始-> 程序-〉附件-〉辅助工具-〉屏幕键盘
这个程序始终不会得到焦点这样才能真正实现键盘的功能
最好能给各例子easonet@163.com
[解决办法]
一个简单例子:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
//
FormStyle = fsStayOnTop;
//
SetWindowLong(Handle, GWL_EXSTYLE,
WS_EX_TOPMOST | // 窗口置顶(停留在所有非最高层窗口的上面)
WS_EX_WINDOWEDGE | // 带凸起边缘的边框
WS_EX_APPWINDOW | // 当窗口可见时将一个顶层窗口放置在任务栏上
WS_EX_NOACTIVATE // 处于顶层但不激活
);
}
//---------------------------------------
// 模拟输入a(小写)
void __fastcall TForm1::Button1Click(TObject *Sender)
{
keybd_event( 'A ', 0, 0, 0);
Sleep(50);
keybd_event( 'A ', 0, KEYEVENTF_KEYUP, 0);
}
//---------------------------------------
// 模拟输入A(大写)
void __fastcall TForm1::Button2Click(TObject *Sender)
{
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event( 'A ', 0, 0, 0);
Sleep(50);
keybd_event( 'A ', 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
}