winapi相关内容

如何查询正在运行的进程的参数列表?(Windows、C++)

对于给定的Windows进程,我想知道它是用什么命令行参数启动的。Windows任务管理器能够显示这一点。 推荐答案 假设您知道进程ID,使用OpenProcess获取它的句柄(这需要提升权限,如文档中所述)。然后使用NtQueryInformationProcess获取详细的流程信息。使用ProcessBasicInformation选项获取进程的PEB-它包含另一个结构指针,您可以 ..
发布时间:2022-04-05 18:07:35 C/C++开发

从子COM对象获取父COM对象

ID3D12GraphicsCommandList接口继承自ID3D12CommandList。那么,如果我有一个ID3D12GraphicsCommandList对象,我如何获取相应的ID3D12CommandList对象? 类型转换是否有效? ID3D12GraphicsCommandList *gcl = ...; ID3D12CommandList *cl = ..
发布时间:2022-03-24 15:58:27 其他开发

VBA中的Windows键盘钩子API在PowerPoint中导致无限循环

我构建了一个简单的VBA模块来设置键盘钩子,并构建了一个相应的过程来检测预定义的组合键(ctrl+3)。它工作得很好,只是当用户尝试在托管应用程序(PowerPoint)的窗口中键入内容时,代码会进入无限循环,导致应用程序挂起/崩溃。以下是带有再现说明的完整模块: ' ============================================================== ..
发布时间:2022-03-11 16:12:57 其他开发

Python错误抑制信号18至Win32

我创建了一个简单的test.py,包含以下内容: import sys res = sys.stdin.read() print(res) 但是当我尝试运行 python test.py 然后我输入 hello 并通过Ctrl+z结束输入,我收到以下消息: 4 [sig] bash 11516! sigpacket::process: Suppressing s ..
发布时间:2022-03-07 19:57:02 Python

如何从带通配符的字符串中获取Appx全名?

在Powershell中,此命令Get-AppxPackage *name*可以显示软件包的全部详细信息。是否可以使用任何Windows API来获得等效结果? 我已经看到这个question和所有Package Query APIs的详细信息。但它们都需要完整的包名或正在运行的包进程句柄。这些不适用于通配符字符串。 例如,如果我安装了此软件包Microsoft.WindowsCalcul ..
发布时间:2022-03-04 16:06:41 其他开发

在FLEX中调用Win32 API以设置窗口显示亲和性

我已经使用Adobe Air创建了一个Flex桌面应用程序。 我需要保护应用程序不被捕获。通过更改应用程序的窗口显示亲和性,可以保护应用程序不被捕获。 如何在FLEX中使用Win API? 是否有其他方法可以保护窗口不被捕获? 推荐答案 首先必须确保主窗口没有WS_EX_LAYERED窗口样式。该样式使SetWindowDisplayAffinity失败,代码为8(ERROR_NOT_ ..
发布时间:2022-02-25 15:32:24 其他开发

Windows XP中的C++管道ReadFile函数设置超时

是否可以在Windows XP中超时执行ReadFile? 如果没有,是否有方法从其他线程中断管道? 推荐答案 假设您谈论的是命名管道,通常的方法是执行重叠读取,并在调用WaitForSingleObject(或WaitForMultipleObjects)时指定超时。当/如果超时到期,等待将返回WAIT_TIMEOUT而不是WAIT_OBJECT_0。 ..
发布时间:2022-02-25 14:53:44 其他开发

如何配置 OpenFileDialog 来选择文件夹?

在 VS .NET 中,当您为项目选择文件夹时,会显示一个看起来像 OpenFileDialog 或 SaveFileDialog 的对话框,但设置为仅接受文件夹.自从我看到这个,我就想知道它是如何完成的.我知道 FolderBrowserDialog,但我从来没有真正喜欢过那个对话框.它开始时太小,无法让我利用能够键入路径的优势. 我几乎可以肯定,目前还没有办法从 .NET 中执行此操作, ..
发布时间:2022-01-31 16:31:48 C#/.NET

使用 JNA (JAVA) 的 GetAsyncKeyState 和 VirtualKeys/特殊字符

我正在开发一个可以在全屏游戏中使用的双向私人聊天. 这是让用户在屏幕顶部的半透明文本框中输入内容所必需的,即使它没有焦点. 使用以下代码,我可以检测到所有物理键,但使用虚拟键很难. SHIFT 被检测到. 2 被检测到. 但是 Shift + 2 被检测为两个单独的键(即使 [SHIFT+2] 在我的键盘上给出了 @ ).IE:程序输出 SHIFT 和 2,但不输出它 ..
发布时间:2022-01-25 21:25:16 Java开发

如何使用 JNI 或 JNA 读取窗口标题?

希望重返开发领域;主要是使用 Java 调用一些原生的 win32 函数(我不想在 .NET 中构建).... 谁能指出我可以使用 Java (JNI/JNA/SWIG) 从不同的运行窗口中读取标题的地方.假设您知道您尝试挂接的应用程序在内存空间的哪个位置. 解决方案 在 JNA 中: 公共接口 User32 扩展 StdCallLibrary {User32 实例 = (User ..
发布时间:2022-01-25 21:04:27 Java开发

从 Delphi 以编程方式检查数字签名

我需要 Delphi 中的一个函数来验证外部 EXE 或 DLL 的数字签名.在我的特定应用程序中,我偶尔会调用其他进程,但出于安全考虑,我想确保这些可执行文件是由我们的组织在运行之前创建的. 我看过 微软在 C 中的示例,但是,我不想要如果其他人已经有的话,浪费时间将其翻译成 Delphi. 与第三方库相比,我更喜欢片段或代码示例.谢谢. 解决方案 给你: //IsCode ..

Winapi - SetWindowLongPtr in ShutdownBlockReasonCreate/Destroy implementation of JNI native code

我目前正在处理一个涉及使用 SWT 的 Eclipse RCP 的 Java 项目,并试图通过在保存时向 Windows 环境中的用户提供有意义的消息来处理正常关闭.我应该使用 ShutdownBlockReasonCreate 和 ShutdownBLockReasonDestroy API 来实现这一点,但经过一些研究后,我不得不在我非常陌生的 C++ 本机代码中实现它们.因为它们在 JNA ..
发布时间:2022-01-24 18:50:06 C/C++开发

在 C Win32 中使用 hBitmap = CreateDIBSection() 保存 .bmp 文件

我有以下代码.我想使用此信息创建一个 .bmp 文件,该文件显示内存中的数据,这是从帧抓取器复制到主内存中的图像,有人可以让我吗?谢谢 LPSTR CreateBMP(HWND hAppWnd, int nImageType) { 无效* pWinGBits = NULL;诠释我;Z_BITMAPINFO zWinGHeader;//用于创建 DIB 的位图信息 //为位图创建 DC.hD ..
发布时间:2022-01-24 18:28:45 其他开发

如何以与 g++ 和 Visual C++ 相同的方式为类定义 UUID 并使用 __uuidof?

注意:这是一个question-with-answer,以便记录其他人可能认为有用的技术,以便了解其他人"更好的解决方案.请随意添加批评或问题作为评论.也请随意添加其他答案.:) Visual C++ 一直有一个语言扩展 __uuidof(classname) 可以检索 UUID,一个 128 位的通用唯一标识符,前提是 UUID 已通过 __declspec 与类关联,这也是 Visual ..
发布时间:2022-01-23 20:55:59 C/C++开发

Intel Inspector 在我的自旋锁实现中报告了数据竞争

我使用 Windows 中的 Interlocked 函数制作了一个非常简单的自旋锁,并在双核 CPU(两个线程递增一个变量)上对其进行了测试; 该程序似乎工作正常(每次都给出相同的结果,在不使用同步时情况并非如此),但 Intel Parallel Inspector 说在 value += j(见下面的代码).使用关键部分而不是我的 SpinLock 时,警告会消失. 我的 Spi ..
发布时间:2022-01-22 20:25:40 C/C++开发

关键部分总是更快吗?

我在调试一个多线程应用,发现CRITICAL_SECTION的内部结构.我发现 CRITICAL_SECTION 的数据成员 LockSemaphore 很有趣. 看起来 LockSemaphore 是一个自动重置事件(不是顾名思义的信号量),当线程第一次等待 Critcal Section 被其他线程锁定. 现在,我想知道关键部分总是更快吗?Event 是一个内核对象,每个关键部分对 ..
发布时间:2022-01-22 20:18:27 C/C++开发

可以复制 CRITICAL_SECTION 吗?

可以使用 CRITICAL_SECTION 变量来实现互斥. 我的问题是:CRITICAL_SECTION 是否支持复制?如果我按值将一个传递给另一个线程,我可以确定互斥会起作用吗? 如果答案是“你不能那样做",我不会感到惊讶,但最好能得到某种官方确认.无论哪种方式,我都无法在文档中找到声明. 解决方案 没有.CRITICAL_SECTION 无法复制.MSDN 明确声明: ..
发布时间:2022-01-22 20:15:03 其他开发