草庐IT

c++ - QML无框窗支持aero snap

我使用无框窗口制作了一个QML应用程序,并自己实现了拖动和调整大小等操作。但是这种方式应用程序不支持本地窗口管理器功能,如windowsaerosnap或Gnome窗口管理器功能。所以我搜索并找到了this有人找到了一种使用win32API在无框架窗口中支持它们的方法。但是有没有一种方法可以将其与QML应用程序一起使用或以其他方式使用native窗口管理器功能?我使用以下代码从C++初始化窗口:QQmlApplicationEngineengine(QUrl("qrc:/qml/main.qml"));QObject*topLevel=engine.rootObjects().valu

c++ - 确定窗口捕捉距离

我正在开发一个为其窗口提供捕捉功能的应用程序;将一个窗口或另一个窗口拖动到足够靠近屏幕边缘的位置,它就会卡入到位。Windows7offersabuilt-insnapfeature,为了保持一致性,我希望尽可能从操作系统获取“这个窗口需要关闭多长时间”的指标。GetSystemMetrics然而,似乎没有任何特别有用的东西,DWMdocs同样没有帮助。有什么方法可以通过编程方式获取此指标吗? 最佳答案 实际上并没有这样的指标,因为您要查找的“捕捉距离”实际上始终为0。当您在Windows7(可能还有Windows8,对此不确定)上

c++ - 使用 windowsAPI 防止其他窗口使用 "overriding"热键

我正在尝试通过制作一个程序来学习WindowsAPI的基础知识,当按下PRINTSCREEN按钮时,该程序将保存一个.jpeg并立即将其上传到imgur。目前,当我玩大多数游戏或只是浏览桌面时,此程序运行良好。但是,某些游戏似乎阻止了我使用此热键的能力。(黑暗之魂2专门这样做。)我目前使用RegisterHotKey(NULL,1,0,VK_SNAPSHOT)将按钮分配给我的程序。但是,在某些游戏运行时,按键按下时,上面的RegisterHotKey和下面的GetAsyncKeyState都不工作。GetAsyncKeyState(VK_SNAPSHOT)(我不想使用GetAsyncK

c++ - 如何使用 C++ 检查窗口句柄是否在 Win32 中以管理模式运行?

这个问题在这里已经有了答案:Howtocheckifaprocesshastheadministrativerights(2个答案)关闭8年前。我有应用程序的窗口句柄。如何确定应用程序是否在管理员模式下运行?

windows - 缺少注册表 HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7

在将我的机器单独放置几周后,我回来做一些使用Qt-using-VC10的工作。麻烦的第一个迹象是QtCreator关于“cl”未被识别的错误,这让我发现C:\Windows\System32不知何故已从PATH中删除。无法识别“reg”命令导致vcvarsall.bat无法设置VS100COMNTOOLS,如所述here.上述线程将我引导至this,建议简单地将C:\Windows\System32添加回PATH。然而,我的麻烦还没有结束。一旦C:\ProgramFiles(x86)\MicrosoftVisualStudio10.0\VC\vcvars32.bat(由vcvarsal

c++ - TBS.lib 调用 Tbsip_Submit_Command()

这个问题在这里已经有了答案:SealingDatausingTPMInWindows[closed](2个答案)关闭8年前。在WindowsSDK(Vista及更高版本)中,存在与TPM基础服务交互的tbs.h/dll/lib。我想执行一些TPM命令,请参阅以下MSDN引用http://msdn.microsoft.com/en-us/library/windows/desktop/aa446799(v=vs.85).aspx我不确定如何构建我的“命令缓冲区”并传递任何特定命令。我在任何地方都找不到这方面的任何具体示例。我想使用TPM_Seal,但对如何设置命令一无所知。我设置了一个基

c++ - 串口通讯初始化

当时我们正在尝试创建一个串行通信接口(interface),以便能够与微处理器进行通信。实际上-一切正常。几乎!为了能够与我们的Controller通信,我们需要与其同步。为此,我们编写了一个字符串:"?0{SY}13!",然后Controller应回复"!0{SY}F5?"到接受同步请求。为此,我们使用了一个writeData函数(它起作用了——我们知道通过使用echo),然后我们使用一个readData来阅读答案。问题是,出于某种原因,它不会读取任何内容。虽然它返回1表示成功,但它读取的字符始终是""(无)。现在奇怪的部分来了-如果我们使用外部终端程序初始化端口(如putty),然

java - 采用另一个进程的子窗口

我正在编写一种网络小程序模拟器。我看了一个网页,找到小程序参数,下载小程序运行。小程序在其自己的进程中运行(即不是模拟器进程)非常重要。但是,它应该在模拟器进程窗口中呈现。Java插件是如何做到的?当separate_jvm设置标志后,插件会在单独的JVM进程中加载​​小程序,但小程序仍会出现在同一浏览器面板中。我通过创建一个加载器类取得了一些进展,该加载器类在另一个JVM上将目标Applet添加到一个未修饰的、不可见的框架中,并将该框架的窗口句柄发送给模拟器​​JVM。后者将其绑定(bind)到Canvas带有user32.SetParent的实例通过JNA,显示效果很好。但是,只发

windows - 从 Windows 8 中的 Windows 服务( session 0)向登录屏幕发送输入或类似内容

据我所知,当我们启动windows时,它会启动session0,它不连接到任何GUI等,并运行所有windows服务。所以我的任务是,在Windows启动后,模拟Windows输入以选择用户并登录到session。我知道要从服务发送输入,我应该运行桌面应用程序并通过它发送输入、显示GUI等等,但是在任何用户session开始之前我该怎么做呢?(例如我看到TeamViewer可以做到) 最佳答案 WTSGetActiveConsoleSessionId()将告诉您哪个session附加到物理控制台。然后您可以使用DuplicateTo

windows - 如何将键盘和鼠标输入发送到 Windows 登录屏幕?

我正在开发一项需要在Windows登录屏幕上模拟输入的Windows服务。基本上移动鼠标并转发击键。该服务将以完全权限运行,因此这不是问题。我查看了SendInput,但它只适用于当前session。我知道有多种类型的工具可以实现此类功能,例如远程协助工具就是一个示例,它允许IT支持人员查看登录屏幕并提供输入,因此它绝对可行,但如何实现? 最佳答案 系统内部PSExec具有-x命令行开关以在登录屏幕上运行程序。有一个名为PAExec的开源版本.我想您会在其中找到一些有用的API调用。对我来说,代码似乎应该在InteractiveSe