草庐IT

Qt编程

全部标签

c++ - 如何从 QT 中检索 Windows 中的文件属性元数据?

我找不到好的答案。查看可执行文件元数据(如描述和公司)的代码是什么,或者执行此类操作的API引用指南是什么?我已经看过QFileInfo,但代码只能读取并输出名称、路径、时间等基本的跨平台信息。 最佳答案 我不认为有Qt'ish的方式来做到这一点,因为这样的信息不是真正的跨平台。正如评论中提到的,为此使用WindowsAPI的最佳方式。当我不得不在跨平台项目中处理所有这些信息时,我曾经遇到过类似的问题。因此,目标是通过跨平台构建保持所有元数据可用,并在Windows文件属性对话框中正确显示它。我能想出的最快速的解决方案是通过#def

c# - 使用 C# 或 C++ 确定(以编程方式)谁在 PC 上控制鼠标

有没有办法以编程方式确定谁在控制PC上的鼠标(以及哪个鼠标)?我最近安装了LogMeIn(logmein.com)并想知道是否可以(1)在程序中判断直接用户或远程用户是否正在单击/移动鼠标,(2)编写一个独立的仅显示鼠标事件(在任何应用程序上)以及鼠标事件是由本地用户还是远程用户生成的程序。我对Win32hooks有点熟悉,但不认为他们可以提供这种信息。关于(1),这似乎是一个普遍的要求。IE。“只允许用户完成与密码更改相关的按钮按下,如果他是本地的......”或类似的东西。次要的(实际上只是学术兴趣)是判断本地用户是使用鼠标还是触控板的问题。 最佳答案

windows - 如何在 QT4 for Windows 中创建通用文件选择对话框

一段时间以来,我一直在寻找关于这个问题的线索,但没有结果。所以,这里...我有一个应用程序,我想要一个简单的按钮来打开文件对话框窗口。主窗口上还有其他按钮可以读取或创建/写入文件(在对所选功能进行适当检查之后)。我曾经毫无问题地使用QFileDialog::getSaveFileName()函数,但在Windows7中,如果文件存在并且是只读的,这将失败。我切换到getOpenFileName()来解决这个问题,但现在如果用户尝试选择一个不存在的文件(与保存操作无关),文件对话框将失败。有没有办法在文件对话框中添加“创建新文件”图标,或者将其添加到文件对话框窗口中的右键单击菜单中?我真

windows - QT:外部拖放后的通知

在从我的应用程序中的QListView到外部目标(如资源管理器)的(成功)拖放操作后,我试图从qt获取任何类型的通知。到目前为止我尝试过的事情:QDropEvent:似乎只从内部小部件触发。mouseReleaseEvent:当我使用QDrop时停止工作我试图用pyhook设置一个鼠标钩子(Hook)来捕捉拖动后的鼠标弹起。这适用于成功的下降但挂起拒绝滴任何指示都会有所帮助。编辑忘了密码#-*-coding:utf-8-*-importsysimportpyHookfromPySideimportQtGuifromPySideimportQtCoreapp=QtGui.QApplica

windows - 以编程方式添加打印机 Windows 8

我正在使用虚拟打印机,但在安装打印机时卡住了。安装由InnoSetup完成[run]Filename:rundll32.exe;Parameters:"printui.dll,PrintUIEntry/if/f""{app}\ghostscript\ghostpdf.inf""/r""TitusVirtualPrinter:""/m""GhostscriptPDF""/b""VirtualPrinter""/u/Y";StatusMsg:InstallingPSPrinterforGhostscript;Description:GhostscriptPSPrinter;Flags:wa

c++ - 如何以编程方式检测 PC 是否具有 USB3 功能?

这看起来应该是一个简单的问题,但我不确定如何最好地解决它。我看过一些关于如何检测连接的设备是USB2还是3的帖子,但我需要知道USB3端口是否可用,即使没有连接任何设备。一种解决方案是遍历注册表中的“SYSTEM\CurrentControlSet\Services”键并与已知USB3服务的预设列表进行比较。我希望有更准确的东西,比如IOCTL调用。我可以实现C++(首选)或C#。在此先感谢您的帮助。 最佳答案 我是这样实现的。不是我正在寻找的解决方案。这基本上会告诉我系统上是否存在USB3.0驱动程序。它不会检测系统上的硬件是否包

windows - 在 Windows 7 上使用 Qt 5.1 和 jom 进行多核编译失败

我已经通过Qt在线安装程序安装了带有MinGW4.8和QtCreator的Qt5.1.1。我启动了QtCreator并使用基于QMainWindow(默认)的MainWindow类创建了新项目(Qt应用程序桌面)。它工作正常,编译后弹出一个主窗口。但是,当我使用C:\Qt\Qt5.1.1\Tools\QtCreator\bin\jom.exe而不是C:\Qt\Qt5.1.1\Tools\mingw48_32\bin\mingw32-make.exe时,我得到如下所示的一些输出。jom1.0.13-empoweryourcoresC:\Qt\Qt5.1.1\Tools\QtCreator

windows - 如何在 Windows 中以编程方式切换用户

我想知道是否有任何API可用于在Windows中以编程方式切换用户。我的应用程序在提供用户凭据(帐户名和密码)时将尝试注销任何其他已登录的用户并尝试登录当前用户.如有任何帮助,我们将不胜感激。 最佳答案 您可能正在寻找的功能是LogonUser但是,您最好还是使用userimpersonation在大多数情况下。就我个人而言,我怀疑您最好不要使用这两种方法,而只是使用正在运行的用户的安全上下文,通过专门为您的应用程序编写的Windows服务提供特权功能 关于windows-如何在Wind

c++ - 强制无线网卡只扫描一个 channel (以编程方式)

我在Windows(VisualStudio)中使用Wlanapi.dll,默认的WlanScan函数始终扫描所有channel中的wifi网络。是否有将无线网卡固定到一个wifi信道的命令?原因是为了加快扫描速度并更加准确。过滤结果无效。 最佳答案 拥有多个channel的原因是,如果某个特定的channel充满噪音(来自其他2.4Ghz来源:微波炉、无绳电话、蓝牙设备、无线摄像机、室外微波链路、无线游戏Controller),WiFi将改变channel、Zigbee设备、荧光灯、WiMAX等)。即使您可以将WiFi卡限制为1个

windows - 如何以编程方式将 COM+ 组件 -> 事务设置为不支持?

我正在寻找一种解决方案,以编程方式将Com+组件属性->事务支持修改为“不支持”手动步骤如下:打开组件服务对话框(comexp.msc)展开组件服务->计算机->我的电脑查找并展开COM+QCDeadLetterQueueListener在打开的组件中展开文件夹Components找到组件QC.DLQListener并打开该组件的上下文菜单并选择属性在“属性”屏幕上,选择“交易”选项卡并将交易支持设置为不支持点击“确定”保存更改 最佳答案 在我花了几个小时解决这个问题之后,我终于在C#上找到了解决方案。我从以下文章中获得了深刻的见解