winapi相关内容
我正在尝试使用WM_COPYDATA IPC方法发送HWND。 到目前为止,当发送字符串LPCTSTR时,它可以工作。 LPCTSTR str = L"Test"; COPYDATASTRUCT cds; cds.dwData = 20; cds.cbData = sizeof(TCHAR) * wcslen(str); cds.lpData = (PVOID)str; LRESULT l
..
对于给定的Windows进程,我想知道它是用什么命令行参数启动的。Windows任务管理器能够显示这一点。 推荐答案 假设您知道进程ID,使用OpenProcess获取它的句柄(这需要提升权限,如文档中所述)。然后使用NtQueryInformationProcess获取详细的流程信息。使用ProcessBasicInformation选项获取进程的PEB-它包含另一个结构指针,您可以
..
ID3D12GraphicsCommandList接口继承自ID3D12CommandList。那么,如果我有一个ID3D12GraphicsCommandList对象,我如何获取相应的ID3D12CommandList对象? 类型转换是否有效? ID3D12GraphicsCommandList *gcl = ...; ID3D12CommandList *cl =
..
我构建了一个简单的VBA模块来设置键盘钩子,并构建了一个相应的过程来检测预定义的组合键(ctrl+3)。它工作得很好,只是当用户尝试在托管应用程序(PowerPoint)的窗口中键入内容时,代码会进入无限循环,导致应用程序挂起/崩溃。以下是带有再现说明的完整模块: ' ==============================================================
..
我创建了一个简单的test.py,包含以下内容: import sys res = sys.stdin.read() print(res) 但是当我尝试运行 python test.py 然后我输入 hello 并通过Ctrl+z结束输入,我收到以下消息: 4 [sig] bash 11516! sigpacket::process: Suppressing s
..
在Powershell中,此命令Get-AppxPackage *name*可以显示软件包的全部详细信息。是否可以使用任何Windows API来获得等效结果? 我已经看到这个question和所有Package Query APIs的详细信息。但它们都需要完整的包名或正在运行的包进程句柄。这些不适用于通配符字符串。 例如,如果我安装了此软件包Microsoft.WindowsCalcul
..
这就是我使用GDI+绘制矩形的方式。 Graphics g(hdc); SolidBrush blueColor((Color(255, 74, 134, 232))); g.FillRectangle(&blueColor, x, y, width, height); DeleteObject(&blueColor); 现在我想添加一些bord
..
我已经使用Adobe Air创建了一个Flex桌面应用程序。 我需要保护应用程序不被捕获。通过更改应用程序的窗口显示亲和性,可以保护应用程序不被捕获。 如何在FLEX中使用Win API? 是否有其他方法可以保护窗口不被捕获? 推荐答案 首先必须确保主窗口没有WS_EX_LAYERED窗口样式。该样式使SetWindowDisplayAffinity失败,代码为8(ERROR_NOT_
..
是否可以在Windows XP中超时执行ReadFile? 如果没有,是否有方法从其他线程中断管道? 推荐答案 假设您谈论的是命名管道,通常的方法是执行重叠读取,并在调用WaitForSingleObject(或WaitForMultipleObjects)时指定超时。当/如果超时到期,等待将返回WAIT_TIMEOUT而不是WAIT_OBJECT_0。
..
..
在 VS .NET 中,当您为项目选择文件夹时,会显示一个看起来像 OpenFileDialog 或 SaveFileDialog 的对话框,但设置为仅接受文件夹.自从我看到这个,我就想知道它是如何完成的.我知道 FolderBrowserDialog,但我从来没有真正喜欢过那个对话框.它开始时太小,无法让我利用能够键入路径的优势. 我几乎可以肯定,目前还没有办法从 .NET 中执行此操作,
..
我正在开发一个可以在全屏游戏中使用的双向私人聊天. 这是让用户在屏幕顶部的半透明文本框中输入内容所必需的,即使它没有焦点. 使用以下代码,我可以检测到所有物理键,但使用虚拟键很难. SHIFT 被检测到. 2 被检测到. 但是 Shift + 2 被检测为两个单独的键(即使 [SHIFT+2] 在我的键盘上给出了 @ ).IE:程序输出 SHIFT 和 2,但不输出它
..
希望重返开发领域;主要是使用 Java 调用一些原生的 win32 函数(我不想在 .NET 中构建).... 谁能指出我可以使用 Java (JNI/JNA/SWIG) 从不同的运行窗口中读取标题的地方.假设您知道您尝试挂接的应用程序在内存空间的哪个位置. 解决方案 在 JNA 中: 公共接口 User32 扩展 StdCallLibrary {User32 实例 = (User
..
我需要 Delphi 中的一个函数来验证外部 EXE 或 DLL 的数字签名.在我的特定应用程序中,我偶尔会调用其他进程,但出于安全考虑,我想确保这些可执行文件是由我们的组织在运行之前创建的. 我看过 微软在 C 中的示例,但是,我不想要如果其他人已经有的话,浪费时间将其翻译成 Delphi. 与第三方库相比,我更喜欢片段或代码示例.谢谢. 解决方案 给你: //IsCode
..
我目前正在处理一个涉及使用 SWT 的 Eclipse RCP 的 Java 项目,并试图通过在保存时向 Windows 环境中的用户提供有意义的消息来处理正常关闭.我应该使用 ShutdownBlockReasonCreate 和 ShutdownBLockReasonDestroy API 来实现这一点,但经过一些研究后,我不得不在我非常陌生的 C++ 本机代码中实现它们.因为它们在 JNA
..
我有以下代码.我想使用此信息创建一个 .bmp 文件,该文件显示内存中的数据,这是从帧抓取器复制到主内存中的图像,有人可以让我吗?谢谢 LPSTR CreateBMP(HWND hAppWnd, int nImageType) { 无效* pWinGBits = NULL;诠释我;Z_BITMAPINFO zWinGHeader;//用于创建 DIB 的位图信息 //为位图创建 DC.hD
..
注意:这是一个question-with-answer,以便记录其他人可能认为有用的技术,以便了解其他人"更好的解决方案.请随意添加批评或问题作为评论.也请随意添加其他答案.:) Visual C++ 一直有一个语言扩展 __uuidof(classname) 可以检索 UUID,一个 128 位的通用唯一标识符,前提是 UUID 已通过 __declspec 与类关联,这也是 Visual
..
我使用 Windows 中的 Interlocked 函数制作了一个非常简单的自旋锁,并在双核 CPU(两个线程递增一个变量)上对其进行了测试; 该程序似乎工作正常(每次都给出相同的结果,在不使用同步时情况并非如此),但 Intel Parallel Inspector 说在 value += j(见下面的代码).使用关键部分而不是我的 SpinLock 时,警告会消失. 我的 Spi
..
我在调试一个多线程应用,发现CRITICAL_SECTION的内部结构.我发现 CRITICAL_SECTION 的数据成员 LockSemaphore 很有趣. 看起来 LockSemaphore 是一个自动重置事件(不是顾名思义的信号量),当线程第一次等待 Critcal Section 被其他线程锁定. 现在,我想知道关键部分总是更快吗?Event 是一个内核对象,每个关键部分对
..
可以使用 CRITICAL_SECTION 变量来实现互斥. 我的问题是:CRITICAL_SECTION 是否支持复制?如果我按值将一个传递给另一个线程,我可以确定互斥会起作用吗? 如果答案是“你不能那样做",我不会感到惊讶,但最好能得到某种官方确认.无论哪种方式,我都无法在文档中找到声明. 解决方案 没有.CRITICAL_SECTION 无法复制.MSDN 明确声明:
..