“移动窗口”;osk“;在Qt应用中

“移动窗口”;osk“;在Qt应用中,qt,process,move,Qt,Process,Move,我正在用Qt编写一个触觉应用程序,我使用虚拟键盘“osk”允许用户键入文本。 我用这个代码启动“osk” QProcess process; process.start("osk.exe"); 我的问题是,我的应用程序的大小有限,所以我想移动键盘,使其位于我的应用程序的中心。 我可以随意移动它吗?您可以使用Win32 API: #include "windows.h" HWND hwnd = FindWindow(0, L"On-Screen Keyboard"); RECT rc; Ge

我正在用Qt编写一个触觉应用程序,我使用虚拟键盘“osk”允许用户键入文本。 我用这个代码启动“osk”

QProcess process;
process.start("osk.exe");
我的问题是,我的应用程序的大小有限,所以我想移动键盘,使其位于我的应用程序的中心。
我可以随意移动它吗?

您可以使用Win32 API:

#include "windows.h"


HWND hwnd = FindWindow(0, L"On-Screen Keyboard");
RECT rc;
GetWindowRect(hwnd, &rc);
MoveWindow(hwnd, 100, 100, rc.right-rc.left, rc.bottom-rc.top, true);
这会将窗口移动到(100100)位置