Windows API(以前称为Win32 API)是可用于Microsoft Windows操作系统的核心应用程序编程接口集。此标记用于使用Windows API开发本机Windows应用程序的问题。
我正在使用: ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, "图片文件", 0) 想要更换壁纸。 但我想知道是否有...
Eventlog:EventWrite 未将数据写入 EventLog
我正在尝试使用“EventWrite”将EventData(类似C 结构)写入应用程序事件日志。 我没有看到任何日志写入EventLog(应用程序) 我正在使用下面的 sprovider.mc 文件
如何在 Windows 中将麦克风输入的音频数据与自定义 PCM 数据混合?
如何在 Windows 中使用 WASAPI 或类似 API 将来自 Windows 中麦克风的音频数据混合到输入流中,无需虚拟设备或自定义驱动程序?
我目前正在开发一个为 USB 键盘配置 RGB 照明的应用程序。键盘遵循 HID(人机接口设备)规范,允许通过 HID 进行定制...
我有很多编译过的可执行文件(很久以前),其中许多我现在没有源代码。但是当我编译它们时,我没有为它们放置任何图标,所以它们看起来都一样...
DirectX 直方图效果不会产生输出图像,局部边界矩形为 { 0, 0, 0, 0 }
我想演示直方图效果,但输出为空我尝试过软件类型和硬件类型渲染目标,但结果是相同的。我也尝试过确保效果...
我正在delphi中使用icmp ping的实现。现在,我尝试获取人类可读的错误消息,以防设备无法访问,以便我可以将其打印在错误日志中。 你能请...
使用Win32 API渲染事件,使用API打印的时间与事件查看器不同
ullTimeStamp = pRenderedValues[EvtSystemTimeCreated].FileTimeVal; ft.dwHighDateTime = (DWORD)((ullTimeStamp >> 32) & 0xFFFFFFFF); ft.dwLowDateTime = (DWORD)(ullTimeStamp & 0xFFFFFFFF);
我尝试使用 Win32 API 将图标添加到 Windows 应用程序中的菜单项,但该图标未显示。我已按照 Win32 API 文档中的说明进行操作,但它是...
Windows 上的 OpenGL ICD 如何加载 OpenGL 1.0 和 1.1 函数?
最近我一直在研究OpenGL图形驱动程序(ICD)如何在Windows上实现OpenGL运行时(opengl32.dll)调用的OpenGL函数。 我知道我可以使用 GetProcAddress ...
如何使用 Microsoft Print to PDF 获取生成的 PDF 文件的文件名
我基本上使用“Microsoft Print to PDF”打印机来打印文本。效果很好,生成的 PDF 文件没有任何问题。 不过我想得到完整的拍...
如何在Python中获取CPU温度?假设我有 Windows 32 位
我尝试过使用sensor_Temperatures()来使用psutil库,但它给了我一个AttributeError。这是我的代码: 导入 psutil 打印(psutil.sensors_温度()) --------------------------...
我正在编辑框中处理 WM_KEYDOWN 消息。 我正在处理一堆键,但对于某些键(例如选项卡),我想阻止可显示字符附加到编辑框。 ...
我正在尝试使用用户输入的路径创建一个具有 GENERIC_WRITE 权限的文件。 为了获取用户输入,我使用 fwgets 函数。 无效 DoCreateFile() { SIZE_T sAlloc = sizeof(WCHAR) * (
如何在混合环境中获取Entra ID(Azure AD)登录的用户信息?
我们一直在使用 NetGetAadJoinInformation() 函数来获取 Windows 11 AAD 加入工作站上当前登录的用户信息(用户电子邮件)。 但是,在混合环境中 - Entra ID / 本地 AD...
我的任务是使用Windows操作系统和Python打印PDF文件。因此,当我通过 HP 打印机打印时,我会得到该 PDF 的精确副本,但背景为灰色。 我使用 PyFPDF 生成 PDF...
如何从PreOperationCallback获取句柄信息?
我目前对反作弊开发感到好奇,并且正在尝试和编写内核驱动程序。我发现 OB Register Callbacks 可以让你拦截句柄创建,并且
FormatMessage 返回一个 char*,每个字符之间包含空值...为什么?
翻译错误消息时,我返回一个指向字符串(pMsgBuf)的指针,如下所示 pMsgBuf =“这是……” 该消息存在,但由空值分隔。它的g...
我试图在 C++ 应用程序中使用 EventLog 进行作弊。我没有消息文件;我只是按顺序使用 RegisterEventSource() 和 ReportEvent() 。 #包括 #包括 我试图在 C++ 应用程序中使用 EventLog 进行作弊。我没有消息文件;我只是按顺序使用 RegisterEventSource() 和 ReportEvent()。 #include <windows.h> #include <stdio.h> int main() { LPCWSTR pInsertStrings[1] = { NULL }; HANDLE hEventLog = RegisterEventSource(NULL, L"AaaAaa"); if (NULL == hEventLog) exit(0); Sleep(200); // This event uses insert strings. pInsertStrings[0] = L"Test event from AaaAaa"; ReportEvent(hEventLog, EVENTLOG_INFORMATION_TYPE, /*cat*/ 100, /*evId*/ 0, /*uId*/ NULL, /*msgs*/ 1, /*msgSz*/ 0, (LPCWSTR*)pInsertStrings, /*data*/ NULL); } 几乎一切都按预期进行。该事件会在事件日志中弹出,并包含我在调用 ReportEvent() 时发送的所有内容。 但是,我在通话中发送的文本字符串仅显示在 Details 弹出窗口的 Event Properties 窗格中。 我怎样才能便宜地将此文本放入General窗格中? 我知道调用 dwEventID 中的参数 ReportEvent() 控制着 General 窗格中的文本。但我知道可以通过其他方式控制此文本,但仍然不受消息文件的复杂性的影响。 你怎么能做到? 下面的程序显示了针对该问题的建议解决方案。该程序不使用 WINAPI 来访问事件日志,而是使用 .NET 函数。 #using <system.dll> #using <mscorlib.dll> #include <winsock2.h> using namespace System; using namespace System::Diagnostics; int main() { String^ sSource = gcnew String("TestLog"); String^ sLog = gcnew String("Application"); String^ sEvent = gcnew String("Sample event message from EvenLogTest"); try { if (!EventLog::SourceExists(sSource)) EventLog::CreateEventSource(sSource, sLog); } catch (Exception^ e) { MessageBox(nullptr, L"Run this program once as Administrator", L"EventLogTest", MB_OK | MB_SYSTEMMODAL | MB_ICONERROR); exit(0); } EventLog::WriteEntry(sSource, sEvent); } 该程序展示了完整的测试解决方案。第一次执行时,程序会在注册表中注册日志TestLog。此操作需要管理员权限。如果程序不是由管理员启动的,则会在 MessageBox 中显示相应的消息并退出。第一次管理员执行后的程序执行不需要任何权限,用于将更多事件插入日志中。 要在 Visual Studio 中编译此程序,属性->配置属性->高级->公共语言运行时支持必须设置为.NET Framework Runtime Support (/clr)。 因此,编译器使用 C++ 的 Common Language 版本,而不是本机 C++。这可能会导致 CLR 和本机 C++ 的混合并导致冲突。例如,#include <iostream> 会生成非致命编译错误,其功能最好用 .NET 函数替换。 由于语言复杂性以及需要管理员运行一次,建议的解决方案比原始程序更复杂。优点是它可以控制事件的 General 窗格中的文本。相比之下,原始程序要简单得多,但事件文本仅在 Details 窗格中可见,而 General 窗格显示一些难以控制的标准文本。
您能否将相同的指针传递给 SystemTimeToTzSpecificLocalTime 以用于输入和输出?
这是SystemTimeToTzSpecificLocalTime的函数原型: BOOL SystemTimeToTzSpecificLocalTime( [输入,可选] const TIME_ZONE_INFORMATION *lpTimeZoneInformation, [在]常量