winapi 相关问题

Windows API(以前称为Win32 API)是可用于Microsoft Windows操作系统的核心应用程序编程接口集。此标记用于使用Windows API开发本机Windows应用程序的问题。

如何读取BIOS序列号?

在运行Windows的PC中,如何读取BIOS序列号和CPU序列号? 我用的是pascal,Delphi7。 这样做的原因是我想使用一些独特的东西来识别一台电脑,以便专业...

回答 1 投票 0

如何使用SendMessage设置图片框样式

我想在win32中使用SendMessage()设置图片框的样式。 我想要一段带有用于设置样式的枚举值的示例代码。

回答 2 投票 0

通过 HWND 从窗口中删除窗口标题栏

我有一个已知 HWND 的窗口,我想删除默认的窗口标题栏并保存 Windows 11 中的隐藏/最小化/最大化动画 我尝试自定义 SetWindowLongPtr(hwnd, GWL_STYLE, ...

回答 1 投票 0

在 Windows 中获取另一个进程命令行

我正在尝试获取另一个进程的命令行参数(在 WinXP 32 位上)。 我执行以下操作: hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ | PROCESS_TERMINATE, FALSE, Proc...

回答 6 投票 0

如何通过常规Win32程序检测系统刚刚从睡眠状态出来

当系统从睡眠状态苏醒时,我需要通过常规桌面程序(而不是服务)进行一些调整。我预计程序会收到 WM_POWERBROADCAST 消息,但是这个消息...

回答 1 投票 0

POPUP菜单不发送WM_COMMAND消息

我使用的是vc6.0。右键单击列表框项目时加载弹出菜单。但当我单击弹出菜单项时,似乎没有发送 WM_COMMAND 消息。在谷歌搜索后我对此没有任何线索......

回答 2 投票 0

获取最小化窗口的大小

我从来不知道这一点,但显然: 默认情况下,系统会减少 最小化窗口到其大小 任务栏按钮并移动最小化 窗口到任务栏。一个恢复的 窗口是一个

回答 2 投票 0

MFC:提供给 EM_REQUESTRESIZE 的矩形会截断文本吗?

据我了解,根据本文设置 ENM_REQUESTRESIZE 将发出 EN_REQUESTRESIZE 来更改高度(但不是宽度)。 然而,我发现调用正在改变高度和宽度......

回答 1 投票 0

使用WinAPI的“DrawText”函数绘制垂直居中的多行字符串

我正在尝试使用 WinAPI 的 DrawText 函数在位图中垂直和水平居中绘制一个自动换行的字符串。 问题是,如果文本比可用的长

回答 1 投票 0

尝试在 C++ DLL 中挂钩 MessageBox 并在 C# 应用程序中使用它们

我在 Windows 11 x64 23H2 上运行 Visual Studio Enterprise 2022。 我试图在 C++ 中挂钩 MessageBox,将其背景颜色更改为 #457B9D,并将其前景色更改为白色。还有...

回答 1 投票 0

如果建立了互联网连接,如何在 Windows 上收到通知?

当我的 Windows 系统获得 Internet 连接时,我希望立即在我的 .Net C# Windows MAUI 应用程序中收到通知。 我的第一个想法是使用 NetworkChange.NetworkAddressChanged 事件。布...

回答 1 投票 0

更换壁纸时防止在 WorkerW 下的子窗口上绘制

阅读本文并尝试使用 C++ 后 https://www.codeproject.com/Articles/856020/Draw-Behind-Desktop-Icons-in-Windows-plus 我设法将我的窗口设置为 WorkerW 窗口的子窗口,该窗口...

回答 1 投票 0

在ansi风格键盘中,Enter上面的反斜杠的VK代码是什么

我找不到这个的VK代码。我想制作一个程序来检测它是否被按下并使用发送输入来输入 < instead of ç. I'm not using autohotkey because it would be half as...

回答 1 投票 0

关闭屏幕会冻结应用程序

我的应用程序旨在定期执行某些任务。 如果它认为有必要,它必须关闭屏幕,但它仍然必须执行其任务。不幸的是,当屏幕转动时...

回答 1 投票 0

关闭windows中的显示器

我需要在代码中关闭显示器。 我用谷歌搜索并找到了一些应该执行此操作的代码,但是当我运行它时,什么也没有发生,我只得到 0 WinAPI 结果。 我做错了什么? 班级

回答 1 投票 0

MSXML:从 url 非异步加载 xml 会导致 E_ACCESSDENIED

尝试使用 msxml 从 url 加载 xml: 将 .async 设置为 false(默认为 true)会导致尝试从 url 进行 .load 时出现 E_ACCESSDENIED 错误 变量 文档:DOMDocument60; 开始 doc := CoDOMDocumen...

回答 1 投票 0

如何通过进程ID写入正在运行的进程的STDIN windows c++

我需要使用 C++ 和 Windows API 将命令发送到已运行进程(特别是 cmd 实例)的 STDIN。然而,我不想自己启动这个过程——我只想

回答 1 投票 0

Code::Blocks 20.03 - C 代码的 64 位编译器错误:对“IID_IShellFolder”的未定义引用

我无法使用 Code::Blocks 20.03 - 64 位编译器编译下面的 winapi 代码并收到以下错误消息: #包括 #包括 #包括 我无法使用 Code::Blocks 20.03 - 64 位编译器编译下面的 winapi 代码并收到以下错误消息: #include <tchar.h> #include <windows.h> #include <commctrl.h> #include <shlobj.h> #include <shlwapi.h> #include <objidl.h> LPSHELLFOLDER lpsf; if(SUCCEEDED(SHGetDesktopFolder(&lpsf))) { LPITEMIDLIST lpidl = (LPITEMIDLIST) item.lParam; char m1[MAX_PATH]; if(SHGetPathFromIDList(lpidl, m1)) { if(lpidl->mkid.cb) { LPSHELLFOLDER lpsfSub; if(SUCCEEDED(lpsf->lpVtbl->BindToObject(lpsf, lpidl, NULL, &IID_IShellFolder,(void **)&lpsfSub))) { FillTreeEx(lpsfSub, lpidl, item.hItem); lpsfSub->lpVtbl->Release(lpsfSub); } } } lpsf->lpVtbl->Release(lpsf); } 错误:未定义对“IID_IShellFolder”的引用 有什么建议吗? 我尝试过默认的 GNU GCC 编译器和 msys64 mingw 编译器。一切都没有改变。 你错过了重要的#include <ShlGuid.h>。

回答 1 投票 0

字符串转码后损坏

为了便于描述,我提供了以下代码的最小复制: #包括 #包括 #包括 #包括 #包括...

回答 1 投票 0

代码::块 20.03 - 64 位编译器错误

我无法使用 Code::Blocks 20.03 - 64 位编译器编译下面的 winapi 代码并收到以下错误消息: #包括 #包括 #包括 我无法使用 Code::Blocks 20.03 - 64 位编译器编译下面的 winapi 代码并收到以下错误消息: #include <tchar.h> #include <windows.h> #include <commctrl.h> #include <shlobj.h> #include <shlwapi.h> #include <objidl.h> LPNMTREEVIEW nmtv = (LPNMTREEVIEW)lParam; TVITEM item = nmtv->itemNew; LPSHELLFOLDER lpsf; if(SUCCEEDED(SHGetDesktopFolder(&lpsf))) { LPITEMIDLIST lpidl = (LPITEMIDLIST) item.lParam; char m1[MAX_PATH]; if(SHGetPathFromIDList(lpidl, m1)) { if(lpidl->mkid.cb) { LPSHELLFOLDER lpsfSub; if(SUCCEEDED(lpsf->lpVtbl->BindToObject(lpsf, lpidl, NULL, &IID_IShellFolder,(void **)&lpsfSub))) { FillTreeEx(lpsfSub, lpidl, item.hItem); lpsfSub->lpVtbl->Release(lpsfSub); } } } lpsf->lpVtbl->Release(lpsf); } error: 'IShellFolder' {aka 'struct IShellFolder'} has no member named 'lpVtbl' error: 'IMalloc' {aka 'struct IMalloc'} has no member named 'lpVtbl' error: 'IEnumIDList' {aka 'struct IEnumIDList'} has no member named 'lpVtbl' 有什么建议吗? 我尝试过默认的 GNU GCC 编译器和 msys64 mingw 编译器。一切都没有改变。 COM 与 C++ 一起使用最为方便。 COM 兼容的 C++ 编译器会将 lpVtbl 查找转换为更自然的类成员函数。 SDK 标头针对此用例进行了优化。 要使用 C 中的 COM 接口,您必须使有条件排除的 C 声明可见。它们由 #ifdef COBJMACROS 预处理器指令保护。 使用 #define COBJMACROS 在包含任何接口定义头文件之前,您将能够从 C 使用 C 接口。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.