Qt 项目中自动弹出系统自带软键盘

QT:在QT项目中自动弹出系统自带软键盘

打开程序,进入项目,自动弹出软键盘!
网上有一些文章说得是直接将Windows系统里面osk.exe添加到进程里面,
例如如下代码:
QProcess::startDetached(“osk”);
或者
QString strFile=tr(“osk.exe”);

QProcess* pProcess=new QProcess(this);

pProcess->startDetached(strFile);

但是这只是针对带有相对应的库文件的条件下

以下如何简单的在项目中加入系统自带软键盘

在这里插入图片描述

1、首先需要在头文件中添加如下代码:

//The code from david!!!
#include <Windows.h>
#pragma comment(lib, "user32.lib")

2、在main.cpp中添加如下代码
打开软键盘具体实现如下:

//The code from david!!!
PVOID OldValue;
BOOL bRet = Wow64DisableWow64FsRedirection (&OldValue);
QString csProcess="C:\\Windows\\System32\\osk.exe";
QString params="";
ShellExecute(NULL, L"open", (LPCWSTR)csProcess.utf16(), (LPCWSTR)params.utf16(), NULL, SW_SHOWNORMAL);
if ( bRet )
{
    Wow64RevertWow64FsRedirection(OldValue);
}

3、点击运行,就会自动弹出软键盘,大功告成,最简单的方法之一

祝大家生活愉快,前方未知之路还需继续前行,请珍惜
2018-12-19 ❥(^_-)

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页