繁体   English   中英

如何在另一个进程中获取有关Qt列表框内容的信息

[英]How to get information about contents of Qt listbox in another process

我有一个使用Qt编写的应用程序,我想读取Qt列表框中的数据。 它没有响应LB_GETTEXT或其他Windows消息,是否有一种从另一个进程获取数据的好方法?

我没有访问Qt进程,它的外部程序。 我正在寻找一种从C#访问LB内容的方法。

事实证明,Qt的Accessibility插件应该为所需的操作提供支持。 但是,我对QT不感兴趣并且我不清楚应用程序是否必须使用允许的可访问性构建,或者它的功能可以为任何应用程序打开和关闭(或至少是默认构建应用程序,可访问性未被明确禁用)。

我已阅读并说它需要运行导出QT_ACCESSIBILITY = 1,放置qt.conf文件并将可访问文件夹放入主根目录中的Qt应用程序。 我想我完全不明白如何将QT_ACCESSIBILITY = 1,并且应该足以让应用程序变得可访问。 我已经将QT_ACCESSIBILITY = 1添加到我的计算机属性中的环境变量中,如果这样做的话? 或者导出QT_ACCESSIBILITY = 1是不同的。

谢谢

您可能希望将进程间通信用于以下目的: http//doc.qt.io/archives/qt-4.7/ipc.html

你不能轻易做到这一点,因为Qt不使用标准的Windows控件来实现它的小部件,因此你无法使用标准的Windows Api方法(函数/消息/ windows ipc)轻松访问它的内容。 你需要以某种方式破解它的内存(不是真的推荐)或使用支持Qt的一些gui(测试)自动化工具,如Squish

LE:您可能还想通过强制将Qt Accessible Plug-in加载到应用程序中然后尝试使用Visual Studio中包含的Microsoft的Spy ++等常用工具进行检查来检查此hack。 12

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM