QT 嵌入exe应用程序 并获取鼠标事件 mouse keyboard event
来源:互联网 发布:济南淘宝纸盒 编辑:程序博客网 时间:2024/05/29 08:28
QT 嵌入第三方程序方法:
QProcess *Process = new QProcess(this); //Process必须为指针,不然对象销毁时第三方exe会被关闭
Process->start(“Everything\\Everything.exe"); //启动exe
if (Process->waitForStarted())
{
Sleep(2000);
WId wid = (WId)FindWindow(L"EVERYTHING", L"Everything"); 获取exe wid
if (wid)
{
QWindow *mapWindow = QWindow::fromWinId(wid); //转换为QWindow
QWidget *Widget = QWidget::createWindowContainer(mapWindow, this);//包含到QWidget
//可以对Widget进行布局操作
attachWindowThreadInput(wid); //获取鼠标键盘事件给第三方exe
}
}
//把当前程序的事件通过WId传递给第三方exe
void attachWindowThreadInput(WId remoteWindowId)
{
DWORD currentThreadId = GetCurrentThreadId();
DWORD remoteThreadId = GetWindowThreadProcessId((HWND)remoteWindowId, NULL);
qDebug() << __FUNCTION__ << "win" << remoteWindowId << "thr" << remoteThreadId;
if (currentThreadId != remoteThreadId) {
if (!AttachThreadInput(remoteThreadId, currentThreadId, true))
qErrnoWarning("AttachThreadInput");
}
}
转载请注明出处
- QT 嵌入exe应用程序 并获取鼠标事件 mouse keyboard event
- HID - Keyboard键盘和Mouse鼠标实例
- Qt鼠标双击事件mouseDoubleClickEvent(QMouseEvent* event)
- /dev/input/event* linux keyboard mouse event simulation
- Qt编程获取鼠标移动事件
- javascript的event事件与获取鼠标光标
- javascript的event事件与获取鼠标光标
- javascript的event事件与获取鼠标光标- -
- QT通过QAxWidget嵌入IE浏览器并获取页面源码
- Qt eventFilter无法过滤mouse事件
- QT Event事件收集
- QT event事件过滤器
- Phaser游戏框架 鼠标mouse事件以及触摸touch事件
- Phaser游戏框架 鼠标mouse事件以及触摸touch事件
- 鼠标拖动div(pc/移动)/touch事件/mouse事件
- JavaScript-4.6鼠标事件监听,获取鼠标坐标window.event---ShinePans
- windows 的鼠标事件(Event)
- windows 的鼠标事件(Event)
- n皇后问题
- IOC控制反转(依赖注入)
- ExoPlayer里里外外之:核心类和数据流
- css3--flex
- C++友元函数和友元类
- QT 嵌入exe应用程序 并获取鼠标事件 mouse keyboard event
- Axure RP 8最新激活码
- js中基本类型操作-----数组基本操作、字符串操作、json操作
- 数据库_1
- oracle的rownum和rowid区别
- 压力测试工具JMeter入门教程
- QSettings读写注册表、配置文件
- HTTP第一篇【HTTP基础概念、与HTTP相关的协议】
- 第三周项目一(1)