精华内容
下载资源
问答
  • c#调用windows虚拟键盘

    万次阅读 2017-11-29 17:51:16
    调用windows自带的tabtip.exe来调用虚拟键盘。我们在textBox获取焦点时候进行调用虚拟键盘 private void textBox_GotFocus(object sender, RoutedEventArgs e) { try { dynamic file = "C:\\Program Files\\...

    调用windows自带的tabtip.exe来调用虚拟键盘。

    我们在textBox获取焦点时候进行调用虚拟键盘

     private void textBox_GotFocus(object sender, RoutedEventArgs e)
    {
    try
    {
        dynamic file = "C:\\Program Files\\Common Files\\microsoft  shared\\ink\\TabTip.exe";
        if (!System.IO.File.Exists(file))
            return;
        Process.Start(file);
    }
    catch (Exception)
    {
    }     
    
    
    }

    失去焦点进行关闭虚拟键盘

    private const Int32 WM_SYSCOMMAND = 274;
    private const UInt32 SC_CLOSE = 61536;
    [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
    private static extern bool PostMessage(IntPtr hWnd, int Msg, uint wParam, uint lParam);
    [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
    private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
    private void textBox_LostFocus(object sender, RoutedEventArgs e)
    {
        IntPtr TouchhWnd = new IntPtr(0);
        TouchhWnd = FindWindow("IPTip_Main_Window", null);
        if (TouchhWnd == IntPtr.Zero)
            return;
        PostMessage(TouchhWnd, WM_SYSCOMMAND, SC_CLOSE, 0);
    }

    本文标题:c#调用windows虚拟键盘
    文章作者:huangruifeng
    发布时间:2017年11月24日 - 15:11
    最后更新:2017年11月24日 - 15:11
    原始链接
    许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

    展开全文
  • VS2008 C# 编写的Windows虚拟键盘的完整项目
  • 如何调用windows系统自带虚拟键盘Tabtip.exe

    启动、控制显隐、监听Tabtip.exe

    windows10系统下测试使用,其他系统没有测试过
    介绍:
    TabTip.exe 触摸键盘和手写面板写面板是Microsoft Windows操作系统的一部分。
    位置是在C:\ ProgramFiles \ PublicDocuments \ microsoftshared \ ink。
    过程被认为是安全的,不会对您的计算机造成任何损害。
    问题困扰
    1,运行tabtip.exe时,当隐藏键盘(如点击键盘界面右上角关闭按钮)后我无法再次调起虚拟键盘界面,此时任务管理器中tabtip.exe是在运行状态下的。
    2,此时我获取虚拟键盘窗口句柄,不管是在show or hide 状态下我获取到窗体可见性WS_VISIBLE都是true,
    3,也就是说我无法通过窗口句柄去控制键盘显隐
    我也无法获取到键盘状态是show or hide
    一丢丢的区别需要注意:
    在非触控设备上启动tabtip.exe程序会打开键盘界面
    在触控设备上仅启动该程序并不会打开键盘界面

    解决方案

    启动关闭程序
    1,当键盘未打开时,启动tabtip.exe程序(完全使用windowsapi启用)

    void TouchKeyboardManager::OpenKeyBoard() {
      TCHAR filePath[MAX_PATH];
      if (!::SHGetSpecialFolderPath(nullptr, filePath, CSIDL_PROGRAM_FILES, false)) {
        log_info << "Failed to open softkeyboard! : incorrect path";
        return;
      }
      QString path = QString::fromUtf16(reinterpret_cast<ushort*>(filePath));
      QString csProcess = path.split("\\").at(0) + "/Program Files/Common Files/Microsoft Shared/ink/tabtip.exe";
      QByteArray ba = csProcess.toUtf8();
      char *data = ba.data();
      int charLen = strlen(data);
      int len = MultiByteToWideChar(CP_ACP, 0, data, charLen, nullptr, 0);
      TCHAR *Cmd = new TCHAR[len + 1];
      MultiByteToWideChar(CP_ACP, 0, data, charLen, Cmd, len);
      Cmd[len] = '\0';
      static PROCESS_INFORMATION Stat;
      static STARTUPINFO SU = { sizeof SU };
      SetEnvironmentVariable(L"__compat_layer", L"RunAsInvoker");
      if (!CreateProcess(0, Cmd, 0, 0, 1, 0, 0, 0, &SU, &Stat)) {
        log_info << "Failed to open softkeyboard! CreateProcess error ";
        return;
      }
      CloseHandle(Stat.hProcess);
      CloseHandle(Stat.hThread);
      log_info <<" softkeyboard open success! ";
    

    2,关闭tabtips

    void TouchKeyboardManager::CloseKeyBoard() {
      HWND window = ::FindWindowEx(nullptr, nullptr, WINDOW_CLASS, nullptr);
      if (::IsWindow(window)) {
        HRESULT hr = ::SendMessage(window, WM_SYSCOMMAND, SC_CLOSE, 0);
        if (hr == S_OK) {
          //log_info << "softkeyboard close success! ";
          return;
        }  } }
    

    3,判断tabtip程序是否启动

    const LPCWSTR WINDOW_CLASS = L"IPTip_Main_Window";
    bool TouchKeyboardManager::IsKeyboardOpen() {
      if (::FindWindowEx(nullptr, nullptr, WINDOW_CLASS, nullptr)) {
        return true;
      }
      return false;
    }
    

    控制键盘显隐
    使用com组件,来控制键盘show and hide
    1,IFrameworkInputPane接口

    参考:https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-iframeworkinputpane

    定义 com接口 ITipInvocation继承IUnknown

    DEFINE_GUID(CLSID_UIHostNoLaunch, 0x4CE576FA, 0x83DC, 0x4f88, 0x95, 0x1C, 0x9D, 0x07, 0x82, 0xB4, 0xE3, 0x76);
    DEFINE_GUID(IID_ITipInvocation, 0x37c994e7, 0x432b, 0x4834, 0xa2, 0xf7, 0xdc, 0xe1, 0xf1, 0x3b, 0x83, 0x4b);
    struct ITipInvocation : IUnknown {
      virtual HRESULT STDMETHODCALLTYPE Toggle(HWND wnd) = 0;
    };
    

    Toggle()用来控制键盘的show和hide

    void TouchKeyboardManager::ShowOrHideKeyBoard() {
     HRESULT hr = ::CoCreateInstance(CLSID_UIHostNoLaunch, 0, CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER,
        IID_ITipInvocation, (&tip_invocation_));
      if (hr == S_OK) {
        tip_invocation_->Toggle(GetDesktopWindow());
        log_info << "keyboard is showing!";
        } }
    

    现在我们虽然可以控制了键盘打开关闭,但无法控制它做出我们想要的动作,也就是说第一次调用Toggle()时打开,第二次调用时关闭,所以我们需要监听键盘的状态来满足我们想要show or hide的动作
    监听
    监听tabtip有两种方法
    方法一:使用windows api IFrameworkInputPaneHandler监听事件
    (这个方法给我造成了一些问题,所以后面弃用了该方法)

    class Handler : public RuntimeClass<RuntimeClassFlags<RuntimeClassType::ClassicCom>,
      IFrameworkInputPaneHandler>{
      STDMETHODIMP Hiding(BOOL fEnsureFocusedElementInView) override {
        SetRectEmpty(&g_rcKeyboard);
        return S_OK; }
      STDMETHODIMP Showing(RECT *prcScreenLocation, BOOL fEnsureFocusedElementInView) override{
         g_rcKeyboard = *prcScreenLocation;
        return S_OK; }
    };
    

    方法二:IFrameworkInputPane :: Location接口通过判断键盘界面大小来确定是否打开(我所采用的方法)

    bool TouchKeyboardManager::JudgeKeyBoardVisivle() {
      RECT rect = { 0 };
      QRect rect_;
      HRESULT get_size = framework_input_pane_->Location(&rect);
      if (get_size = S_OK) {
         if (rect.right() - rect.left() > 5) {return true;} 
         else {return false;  }
      }}
    

    ok,到这里基本功能已经讲完,如发现不完整后续再补充

    参考文档:https://devblogs.microsoft.com/oldnewthing/?p=45431
    代码附件https://download.csdn.net/download/weixin_44899507/16798309

    展开全文
  • air调用windows自带的虚拟键盘

    千次阅读 2014-07-29 10:36:06
    刚开始准备用as3开发一套,结果突然想起来windows有个自带的虚拟键盘(osk.exe),而且air是支持调用本地程序的,所以就写了个程序来调用。刚开始直接调用C:/Windows/System32/osk.exe 发现是行不通的,调用的时候...

    原文:http://bbs.9ria.com/blog-73243-19560.html

    最近在做一个东西,需要用到虚拟键盘。刚开始准备用as3开发一套,结果突然想起来windows有个自带的虚拟键盘(osk.exe),而且air是支持调用本地程序的,所以就写了个程序来调用。刚开始直接调用C:/Windows/System32/osk.exe  发现是行不通的,调用的时候会报错。而后想了下,或许osk.exe这个东西更应该是属于bat类型文件,而NativeProcess是不能直接调用bat文件的,要用的话需要先调用cmd,然后给cmd参数来调用osk。试了下,果然行了。

    先上代码

    package
    {
           importflash.desktop.NativeApplication;
           importflash.desktop.NativeProcess;
           importflash.desktop.NativeProcessStartupInfo;
           import flash.display.Sprite;
           importflash.display.StageDisplayState;
           import flash.events.Event;
           import flash.events.MouseEvent;
           import flash.filesystem.File;
           import flash.text.TextField;
           importflash.text.TextFieldType;
           
           public class VirtualKeyBoard extendsSprite
           {
                  private varfile:File;
                  private varnativeProcessStartupInfo:NativeProcessStartupInfo;
                  private varprocess:NativeProcess;
                 
                  private vartextField:TextField;
                 
                  public functionVirtualKeyBoard()
                  {
                        this.stage.displayState =StageDisplayState.FULL_SCREEN_INTERACTIVE;
                        this.stage.nativeWindow.alwaysInFront = true;
                        
                         process =new NativeProcess();
                        
                         file = newFile();
                        NativeApplication.nativeApplication.autoExit=true;
                        file=file.resolvePath("C:/Windows/System32/cmd.exe");
                        
                         varprocessArg:Vector. = new Vector.();
                        processArg[0] = "/c";// 加上/c,表示是cmd的参数
                        processArg[1] ="C:/Windows/System32/osk.exe";//bat的路径,建议用绝对路径,如果是相对的,可以用File转一下
                        
                        nativeProcessStartupInfo = newNativeProcessStartupInfo();
                        nativeProcessStartupInfo.executable = file;
                        
                        nativeProcessStartupInfo.arguments = processArg;
                        
                         textField= new TextField();
                        textField.width = 300;
                        textField.y = 30;
                        textField.x = 30;
                        addChild(textField);
                        textField.border = true;
                        textField.type = TextFieldType.INPUT;
                        
                        textField.addEventListener(MouseEvent.CLICK,onTextFieldActivateHandler);
                  }
                 
                  private functiononTextFieldActivateHandler(evt:Event):void
                  {
                        if(process.running)return;
                        process.start(nativeProcessStartupInfo);
                  }
           }
    }


    注意下中间 
    processArg[0] = "/c";// 加上/c,表示是cmd的参数
    processArg[1] ="C:/Windows/System32/osk.exe";//bat的路径,建议用绝对路径,如果是相对的,可以用File转一下
    这两行代码就行,是给调用的程序添加参数。
    另外,可以把osk.exe拷贝到任何地方使用。

    展开全文
  • 由于公司的项目软件一直都在Windows的平板电脑上运行,所以当用户点击了输入框之类的控件时,就要在代码中主动让Windows虚拟键盘启动并显示出来。这个功能分了几步的开发过程,现在来总结一下。 项目使用的界面库...

    由于公司的项目软件一直都在Windows的平板电脑上运行,所以当用户点击了输入框之类的控件时,就要在代码中主动让Windows的虚拟键盘启动并显示出来。这个功能分了几步的开发过程,现在来总结一下。

    项目使用的界面库都是SoUI2。

    一、通过在WM_LBUTTONUP中判断是否应该使用shellexecute启动虚拟键盘

    一开始的解决方法是在窗体的WM_LBUTTONUP中处理,就是查看是否是需要输入的控件获取到当前焦点,是的话就用shellexecute启动虚拟键盘,然后再把WM_LBUTTONUP交回给窗体处理。

    这种做法有以下的坏处:

    1. 当需要输入的控件增加或减少时,处理WM_LBUTTONUP的函数相应的需要修改代码中的控件列表。
    2. 关闭虚拟键盘后再点击窗体空白处时,焦点会自动锁定为刚刚的输入控件,即WM_LBUTTONUP中又会判断为打开虚拟键盘,形成死循环,需要点击到窗体上的其它控件才能打破死循环。
    3. shellexecute函数启动虚拟键盘速度慢,会出现程序卡死的情况。

    所以第一种方法不予采用。

    二、派生SoUI2的控件,在控件的WM_LBUTTONUP中使用shellexecute启动虚拟键盘

    这种方法解决了第一种方法的第一个缺点,因为只要在xml中把需要弹出虚拟键盘的控件替换为派生的控件即可。而且由于需要点击到相应的控件才会弹出虚拟键盘,所以第一种方法的第二个缺点也解决了。

    但是在实际使用中发现,由于 shellexecute函数启动虚拟键盘速度慢,有一定的几率导致窗体卡死。而且有时还会出现输入框点击无反应或输入焦点跳转失败的问题的问题。所以急需一种方法来替换掉shellexecute函数启动虚拟键盘。

    三、派生SoUI2的控件,在控件的WM_LBUTTONUP中使用窗口消息点击托盘栏来启动Windows的虚拟键盘

    本方法的代码参考https://stackoverflow.com/questions/38774139/show-touch-keyboard-tabtip-exe-in-windows-10-anniversary-edition。代码如下

    HWND trayWnd = FindWindow(_T("Shell_TrayWnd"), NULL);
    
    if (trayWnd != NULL)
    {
        HWND trayNotifyWnd = FindWindowEx(trayWnd, NULL, _T("TrayNotifyWnd"), NULL);
        if (trayNotifyWnd != NULL)
        {
            HWND tIPBandWnd = FindWindowEx(trayNotifyWnd, NULL, _T("TIPBand"), NULL);
    
            if (tIPBandWnd != NULL)
            {
                PostMessage(tIPBandWnd, WM_LBUTTONDOWN, 1, 65537);
                PostMessage(tIPBandWnd, WM_LBUTTONUP, 1, 65537);
            }
        }
    }
    

    经测试,该代码可以成功地打开虚拟键盘,并完美解决第二种方法引起的问题。但是这种方法存在的第一个问题为,需要设置Windows显示虚拟键盘托盘图标才能使该方法生效。
    而且不止上面这个问题,不过我们先来看看第四种方法。

    四、派生SoUI2的控件,在控件的WM_LBUTTONUP中使用COM启动Windows的虚拟键盘

    本方法的代码参考https://stackoverflow.com/questions/38774139/show-touch-keyboard-tabtip-exe-in-windows-10-anniversary-edition。代码如下

    #include <initguid.h>
    #include <Objbase.h>
    #pragma hdrstop
    
    // 4ce576fa-83dc-4F88-951c-9d0782b4e376
    DEFINE_GUID(CLSID_UIHostNoLaunch,
        0x4CE576FA, 0x83DC, 0x4f88, 0x95, 0x1C, 0x9D, 0x07, 0x82, 0xB4, 0xE3, 0x76);
    
    // 37c994e7_432b_4834_a2f7_dce1f13b834b
    DEFINE_GUID(IID_ITipInvocation,
        0x37c994e7, 0x432b, 0x4834, 0xa2, 0xf7, 0xdc, 0xe1, 0xf1, 0x3b, 0x83, 0x4b);
    
    struct ITipInvocation : IUnknown
    {
        virtual HRESULT STDMETHODCALLTYPE Toggle(HWND wnd) = 0;
    };
    
    int WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
    {
        HRESULT hr;
        hr = CoInitialize(0);
    
        ITipInvocation* tip;
        hr = CoCreateInstance(CLSID_UIHostNoLaunch, 0, CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER, IID_ITipInvocation, (void**)&tip);
        tip->Toggle(GetDesktopWindow());
        tip->Release();
        return 0;
    }
    

    经测试,该代码可以成功地打开虚拟键盘,并完美解决第二种方法引起的问题。但是该方法和第三种方法都引入了一个新问题,就是如果当前虚拟键盘是隐藏的,则弹出虚拟键盘,否则隐藏虚拟键盘。所以就出现在使用时,点击第一个输入框,虚拟键盘弹出了,输入完毕后,点击第二个输入框,虚拟键盘却隐藏了的问题。

    解决上述问题的办法,网上说有以下几种:

    1. 获取虚拟键盘窗口的style,当WS_VISIBLE为真和WS_DISABLED为假时,不需要弹出虚拟键盘,其他情况下代表虚拟键盘已经隐藏,需要重新弹出虚拟键盘。
      但是我在Windows10的1909版本上测试的时候,上述方法没有成功。
    2. 使用COM来获取当前虚拟键盘的长和宽,本方法的代码参考https://stackoverflow.com/questions/47187216/determine-if-windows-10-touch-keyboard-is-visible-or-hidden。代码如下
       	IFrameworkInputPane *pInputPane = NULL;
          RECT prcInputPaneScreenLocation = { 0,0,0,0 };
      
          HRESULT hr = CoCreateInstance(CLSID_FrameworkInputPane, NULL, CLSCTX_INPROC_SERVER, IID_IFrameworkInputPane, (LPVOID*)&pInputPane);
          if (FAILED(hr))
          {
              return -1;
          }
      
          hr = pInputPane->Location(&prcInputPaneScreenLocation);
          if (FAILED(hr))
          {
              return -2;
          }
          pInputPane->Release();
      
          if ((prcInputPaneScreenLocation.right - prcInputPaneScreenLocation.left == 0)
              || (prcInputPaneScreenLocation.bottom - prcInputPaneScreenLocation.top == 0))
          {
      		//弹出虚拟键盘
          }
      
      在Windows10上实测这个方法可行。

    弹出一个虚拟键盘的功能完成还真是不容易啊。

    以上就是本博客的全文,本人限于能力,上文中难免有错误的地方,若读者发现上文的错误,请于评论区中指出,本人看到之后会立即修改的,谢谢。

    展开全文
  • c# 弹出虚拟键盘关闭虚拟键盘(适用win10、win7) using System; using System.Diagnostics; using System.Management; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using ...
  • 电脑现如今已经成为了人们生活中不可缺少的一件电子产品之一,我们的生活中时刻可见电脑的身影,当然键盘作为电脑的专属配件也就经常出现在我们的视线中,但是随着科技的发展,虚拟键盘已经慢慢被人们接受,脱离了...
  • ·触控、虚拟键盘的操作体验谈到操作体验,它与系统UI设计紧密相连,戴尔Streak采用了我们熟悉的Android操作系统,该系统对触控操作有较好的优化,特别是一些细节之处,譬如菜单图标的操作方面,大大避免了用户误点...
  • 虚拟键盘

    2019-04-12 23:09:00
    造冰箱的大熊猫,本文在Microsoft Windows XP和Ubuntu 16.04上验证通过@cnblogs 2019/4/12 文中图片可通过点击鼠标右键查看大图 今天在笔记本上运行某个程序时,发现键盘方向键在该软件中处于“Scroll Lock”...
  • Centos禁止屏幕虚拟键盘弹出

    千次阅读 2020-01-11 19:54:55
    原本触摸屏下虚拟键盘的作用是便于输入,可以在不用外接键盘的情况下,直接用屏幕键盘作为输入,可是当想把屏幕键盘关掉却发现并不是那么简单。 关闭屏幕键盘的主要原因是运行用户程序时,在触屏界面下操作程序界面...
  • 选择键和免费的虚拟键盘发送到一个文字处理器,电子邮件,网页或其他Windows应用程序可能正在使用。键盘可以移动屏幕上的任何地方,可以是任意大小。 免费的虚拟键盘可用于残疾,防止他或她从一个物理电脑键盘打字...
  • WPF 虚拟键盘

    2015-02-10 16:26:00
    原文:WPF 虚拟键盘之前做了一款WPF虚拟键盘,调用Win32的API,可以模拟键盘事件。 现将代码分享如下: 按键布局如下: &lt;Button Name="CmdTlide" Focusable="False" Click="...
  • 当然,键盘经常作为计算机的专用配件出现在我们的视野中,但是随着计算机技术的发展,虚拟键盘已逐渐为人们所接受,并摆脱了物理键盘的束缚。计算机虚拟键盘使人们在计算机上的操作更快。让我们简要看一下计算机虚拟...
  • 电脑在使用的过程中,有时会遇到只有鼠标或实体键盘部分按键失灵,或为了体验系统自带的虚拟键盘等情况。此时就需要开启系统的屏幕键盘。屏幕键盘是一个模拟键盘的系统软件,必要的时候可以代替物理键盘Win10做为...
  • 原文:WPF 禁用TextBox的触摸后自动弹出虚拟键盘前言 &amp; 问题 ... 如何,禁用键盘的自动弹出?...详细调用可参考:c#调用windows虚拟键盘 如何禁用键盘的弹出 TextBox在触摸点击后,会自动弹出虚拟键盘,...
  • 之前使用QT的虚拟键盘觉得挺好用的,后来封装成独立程序给其他程序使用。QT运行环境加上封装dll 七八个文件,给其他程序使用很不方便,于是自己就简单制作了一个通用的组件给WPF程序使用。 界面 文件大小 只有569K...
  • 淘宝arduino虚拟键盘一、arduino虚拟键盘介绍二、开发环境搭建三、硬件虚拟键盘测试 一、arduino虚拟键盘介绍 淘宝上多种硬件虚拟键盘使用的IC为atmega32u4 大部分硬件设计都相同,其他设计多出的内存卡插槽和esp...
  • kvm虚拟机键盘 内容精选换一换鲲鹏oVirt轻量级虚拟化软件,是RedHat商业版本虚拟化软件RHEV的开源版本。oVirt基于KVM,并整合使用了libvirt、gluster、patternfly、ansible等一系列优秀的开源软件,oVirt的定位是...
  • 虚拟键盘焦点问题

    千次阅读 2012-07-24 15:32:22
    1.不调用Windows自带的软键盘; 2.软键盘上点击按钮模拟输入时,软键盘上的按钮及软键盘窗口都不能获得焦点,只有主窗口的输入框保持焦点;即做到和ToolBar上的按钮一样的效果。 如果有朋友能够让ToolBar悬浮的...
  • 触摸屏:屏幕键盘(虚拟键盘)解决方案
  • win10平板上跑的Winform程序,怎么样让用户点击TextBox可以自动弹出虚拟键盘啊。
  • The Windows key made its first appearance in 1994, and it’s still an essential tool for Windows 10 power users. Here are the most important Windows key keyboard shortcuts for Windows 10you should kno...
  • Windows 10 键盘快捷方式速查表

    千次阅读 2020-06-02 17:46:50
    Windows 10 中的键盘快捷方式速查表。键盘快捷方式就是某个按键或按键组合,它们可以用于替代鼠标执行的操作,而且更加快速便捷。
  • 触摸屏实现虚拟键盘输入汉字

    千次阅读 2016-04-26 18:13:00
    前提:设置搜狗输入法或者其他拼音输入法为默认输入法1 添加windows头文件 windows.h2 添加...具体添加方法见下图 5 在文本框获得输入焦点函数中,添加虚拟键盘启动命令WinExec("osk.exe",SW_NORMAL);6 使用虚
  • 今天白白跟大家分享一下cocos2d-x中如何获得虚拟键盘并获取用户输入的方法。 有的时候我们需要用户输入一些信息,比如用户登录,这个时候就需要得到虚拟键盘,并获取输入信息,
  • 环境:raspbian-stretch(2018-06-27)树莓派:3代B型官网安装地址:http://ozzmaker.com/virtual-keyboard-for-the-raspberry-pi/ 回家发现家里的键盘有些按键已经失灵了,没办法,和windows一样,直接安装个虚拟键,...
  • windows 编程中键盘对应的虚拟

    千次阅读 2013-11-08 19:50:15
    1 VK_LBUTTON 鼠标左键 2 VK_RBUTTON 鼠标右键 3 VK_CANCEL Ctrl+Break(通常不需要处理) 4 VK_MBUTTON 鼠标中键 8 VK_BACK Backspace 9 VK_TAB Tab 12 VK_CLEAR Num Lock关闭时的数字键盘5 13 V
  • js虚拟键盘

    千次阅读 2008-11-30 20:41:00
    然后,在你想使用虚拟键盘的input输入框里面加入一个class属性, 例: <input class="keyboardInput" type="text" /> JS和css文件太大了,请下载后调试 http://www.corange.cn//uploadfiles/keyword_65983.rar
  • 平板电脑升级到了最新版Windows10系统后,发现在开机的时候没有弹出虚拟键盘,这样就没办法打字了,此问题对我们来说其实是比较少见的,如果真的出现这样的情况怎么办?今天小编就为大家整理了win10平板电脑不弹出...
  • Windows 编程 键盘

    2019-07-25 03:47:38
    键盘对于大家来说可能再也熟悉不过了,它和鼠标是现在最常用的电脑输入设备。虽然在现在的图形界面操作系统下使用鼠标比使用键盘更方便、更广泛,但是鼠标还是一时半会儿取代不了它的老前辈——键盘的地位,尤其是在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,930
精华内容 11,172
关键字:

关闭windows虚拟键盘