• c# winform调用osk系统自带软键盘


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Runtime.InteropServices;
    using System.Diagnostics;
    using System.Windows.Forms;
    using NLog;
    
    
    namespace Utils.common
    {
        class ScreenKeyboard
        {
            private static ILogger logger = NLog.LogManager.GetCurrentClassLogger();
            public static bool isShowNumBoard = false;
    
            [DllImport("kernel32.dll", SetLastError = true)]
            public static extern bool Wow64DisableWow64FsRedirection(ref IntPtr ptr);
    
            [DllImport("kernel32.dll", SetLastError = true)]
            public static extern bool Wow64RevertWow64FsRedirection(IntPtr ptr);
    
            public static IntPtr ptr = new IntPtr();
    
            public static void ShowScreenKeyboard()
            {
                try {
                    //判断软键盘是否进程是否已经存在,如果不存在进行调用
                    Process[] pro = Process.GetProcessesByName("osk");
                    bool isWow64FsRedirectionDisabled = Wow64DisableWow64FsRedirection(ref ptr);
                   
                    //键盘如果已经打开则重新打开,防止最小化无法显示
                    if (pro != null && pro.Length > 0)
                    {
                        Process kbpr = pro[0];
                        kbpr.Kill();
                        if (isWow64FsRedirectionDisabled)
                        {
                            Process.Start(@"C:WINDOWSsystem32osk.exe");
                            Wow64RevertWow64FsRedirection(ptr);
                        }
                        return;
                    }
                    if (isWow64FsRedirectionDisabled)
                    {
                        Process.Start(@"C:WINDOWSsystem32osk.exe");
                        Wow64RevertWow64FsRedirection(ptr);
                    }
                }
                catch (Exception ex)
                {
                    logger.Error(ex.Message);
                }
            }
            
        }
    }
    

      

  • 相关阅读:
    Burpsuite intruder模块 越过token进行爆破,包含靶场搭建
    burpsuiteb windows10 下载与安装
    sqlmap的命令总结
    Vue.js与jQuery混用
    IE低版本cors跨域请求
    window.open打开网址被拦截
    一图一知之python3数据类型
    一图一知-vue强大的slot
    一图一知-强大的js数组
    windows中git输错密码后不能修改问题
  • 原文地址:https://www.cnblogs.com/webttt/p/15470511.html
Copyright © 2020-2023  润新知