I am trying to bring up the Windows on-screen keyboard for an application developed with QT/C++. I currently have a custom on-screen keyboard, but it does not look very nice at all screen sizes, so I want to use the Windows native one. I want to bring the keyboard up automatically when the input focus is on a text box. I am new to QT, but not to C++. I have checked a few other similar questions, but it seems those solutions have not been much help.
Edit: The below solutions do not bring the keyboard up. They compile with no errors, but they do not actually bring up the osk.
void MainWindow::on_Button_released()
{
ui->Button->setChecked(true);
//Attempt 1
//ShellExecute( NULL, NULL, L"osk.exe", NULL, NULL, SW_SHOW );
//Attempt 2
/* QObject *parent;
QString program = "./osk.exe";
QStringList arguments;
//arguments << "-b" << "-t" << "input.txt";
QProcess *myProcess = new QProcess(parent);
myProcess->start(program);//, arguments);
*/
//Attempt 3
/* QProcess *process = new QProcess(this);
QString file = QDir::homepath + "/tabtip.exe";
process->start(file);
*/
//Attempt 4
/*
QProcess::execute ("start C:\\Windows\\System32\\osk.exe");
*/
//Attempt 5
system ("start C:\\Windows\\System32\\osk.exe");
}
**Attempt 5 specifically gives an error detailing that the file cannot be found, and it suggests checking that the correct path has been specified. I already verified the path, and osk.exe runs just fine -just not from within my application.
osk
- see below. – Paul Sanders