winapi相关内容

如何使用 Code::Blocks 链接到库?

C++ GUI 教程:对 TextOut 的未定义引用 我有同样的问题,但我是编程和 Code::Blocks 的新手,我想使用 GDI32 库.我该如何安装它?我很困惑,因为我可以使用 windows.h 标头,但是诸如 TextOut 之类的某些功能不可用. 解决方案 gdi32 库已经安装在您的计算机上,没有它,很少有程序可以运行.您的编译器(如果安装正确)通常会附带一个导入库 ..
发布时间:2021-12-01 15:46:25 C/C++开发

在多个显示器上使用 SetWindowPos

使用 user32.dll 和 C# 我编写了您在下面看到的方法.使用窗口的进程句柄,它将在提供的 (x, y) 位置设置窗口位置. 但是,在多监视器环境中,下面的代码仅将窗口位置设置为主监视器.我也希望能够选择哪个显示器. 有人可以解释一下如何使用 SetWindowPos 或与另一个 user32.dll 函数的组合来实现这一点吗? [DllImport(“user32.dll", ..
发布时间:2021-12-01 09:35:38 C#/.NET

连接到网络共享时如何提供用户名和密码

当连接到当前用户(在我的例子中是启用网络的服务用户)没有权限的网络共享时,必须提供名称和密码. 我知道如何使用 Win32 函数(mpr.dll 中的 WNet* 系列)来实现这一点,但希望使用 .Net (2.0) 功能来实现. 有哪些可用的选项? 也许更多信息会有所帮助: 用例是 Windows 服务,而不是 Asp.Net 应用程序. 该服务在没有共享权限的帐户下运 ..
发布时间:2021-12-01 09:23:44 C#/.NET

使用 Winkey+L 的低级键盘挂钩/SendInput 可能吗?(工作站锁定在Vista及更高版本中被拦截)

我从事一个名为 UAWKS(非官方 Apple 无线键盘支持)的项目,该项目有助于Windows 用户使用 Apple 的蓝牙键盘.UAWKS 的主要目标之一是将 Cmd 键(在 Windows 中表现为 Winkey)与 Ctrl 交换,允许用户执行 Cmd+C 用于复制,Cmd+T 用于新标签等 它目前是使用 AutoHotkey 开发的,它在 Windows XP 下运行良好.但是,在 ..
发布时间:2021-11-30 20:36:19 C#/.NET

Windows 锁屏“背后"会发生什么?

我一直致力于 Windows 自动化和监控. 当我锁定 Windows 机器的屏幕时到底发生了什么? 我目前使用的是 Windows 7,如果我切换到 Vista 或服务器版本,行为会不会有很大差异?还有可以通过api访问的桌面吗?我知道我仍然可以将击键和鼠标点击发送到特定窗口(通过 ControlSend 和 ControlClick),但似乎没有“桌面"本身. 有人可以对整个 ..
发布时间:2021-11-30 20:22:01 其他开发

原子 x86 指令与 MS 的 InterlockedCompareExchange 文档的对齐要求?

Microsoft 提供了 InterlockedCompareExchange 用于执行原子比较和交换操作的函数.还有一个 _InterlockedCompareExchange 内在. 在 x86 上,这些是使用 lock cmpxchg 指令实现的. 然而,通读关于这三种方法的文档,他们似乎在对齐要求上不一致. 英特尔的参考手册 没有提及对齐(除了那如果对齐检查已启用并且进 ..
发布时间:2021-11-30 14:47:39 其他开发

使用 ATL CImage 从内存缓冲区加载图像

如何使用 CImage 从 BYTE* 数组加载图像?到目前为止,我的解决方法是简单地创建一个临时文件,但有时此操作非常昂贵......可能有一些库,但我不想链接到其他库,我所需要的只是获取图像大小并有效地显示到屏幕上,而 CImage 就是我所需要的...... p->pbData 是一个 BYTE* 数组,p->dwDataLen 是一个保存数组大小的 DWORD 我的代码: A ..
发布时间:2021-11-30 14:13:59 C/C++开发

仅使用 Windows SDK 7.1 编译 ATL 项目

我有一个需要编译的项目.它是在我们只安装了 Windows SDK 7.1 的构建服务器上编译的.我不想在这台机器上安装实际的 Visual Studio,但收到错误“找不到 atlstr.h"我刚刚读到的文件是 ATL 的一部分,它是 Visual Studio 的一部分. 有什么方法可以让我在不安装 Visual Studio 的构建服务器上编译它吗? 解决方案 ATL 现在作为 ..
发布时间:2021-11-30 14:11:40 C/C++开发

使用 WriteFile API 将 unicode CString 写入文件

如何使用 WriteFile Win32 API 函数将 CString 实例的内容写入 CreateFile 打开的文件中? 请注意未使用 MFC,通过包含“atlstr.h"使用 CString 编辑:我可以吗 WriteFile(handle, cstr, cstr.GetLength(), &dwWritten, NULL); 或 WriteFile(handle, cs ..
发布时间:2021-11-30 14:11:20 其他开发

检测在列表视图中单击并显示上下文菜单

我有一个列表视图作为资源创建并加载到对话框窗口中.我只想在单击列表视图中的项目时检测并显示上下文菜单. MESSAGE_HANDLER(WM_CONTEXTMENU,OnContextMenu)LRESULT OnContextMenu(UINT/*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled){int iSelected = -1; ..
发布时间:2021-11-30 14:10:44 其他开发

预注册 ATL 窗口类

我在一个项目中使用了 ATL 和 WTL 的组合,并从 CWindowImpl 派生了我自己的类,它看起来像这样: class CMyControl : public CWindowImpl{民众:DECLARE_WND_CLASS(_T("MyClassName"))...BEGIN_MSG_MAP(CMyControl)...END_MSG_MAP()}; 这一切都很好,如果我使用 CMy ..
发布时间:2021-11-30 14:10:24 其他开发

如何获取 DShellFolderViewEvents 的方法签名

我正在尝试使用 ATL 接收 DShellFolderViewEvents,而我能够成功订阅的唯一方法是 DISPID_SELECTIONCHANGED.标题 shdispid.h 中似乎列出了许多其他事件,但我无法触发它们.不确定我做错了什么(它可能与 ATL 相关),但我想也许我正在使用错误的签名实现事件处理函数(目前我只是在尝试没有参数的 void 函数).问题是似乎没有描述 DShellF ..
发布时间:2021-11-30 14:07:21 其他开发

CImage::Load() 从内存不使用 CreateStreamOnHGlobal

我正在显示来自相机的实时取景视频.我将每一帧下载到一个必须分配的字节数组 (pImageData) 中. 现在,为了显示,我使用的是 CImage (MFC).但是,我发现的所有示例都基于使用 GlobalAlloc,还有另一个 memcpy 和 CreateStreamOnHGlobal. 我想避免进行另一次分配/解除分配和内存复制.每帧超过 2mb,我正在推动 30 fps! ..
发布时间:2021-11-30 14:06:43 C/C++开发

我如何决定对新的 C++ 项目使用 ATL、MFC、Win32 还是 CLR?

我刚刚开始我的第一个 C++ 项目.我正在使用 Visual Studio 2008.它是一个单一形式的 Windows 应用程序,它访问几个数据库并启动一个 WebSphere MQ 事务.我基本上了解 ATL、MFC、Win32(实际上我对那个有点模糊)和 CLR 之间的区别,但我不知道应该如何选择. 其中一个或多个是否只是为了向后兼容? CLR 一个坏主意吗? 感谢任何建议 ..
发布时间:2021-11-30 14:02:11 C/C++开发

WaitForInputIdle 不适用于以编程方式启动 mspaint

我正在尝试打开“mspaint"并在它初始化后立即找到它的句柄.但是如果我调用 WaitForInputIdle,FindWindow 返回 NULL.如果我尝试使用 Sleep(1000) 函数,它会起作用.但我认为等待程序准备就绪不是正确的方法.此代码有解决方案吗? CString strWindowDirectory;GetSystemDirectory(strWindowDirecto ..
发布时间:2021-11-30 14:01:25 C/C++开发

Windows下如何用汇编程序编写hello world?

我想在 Windows 下用汇编语言编写一些基本的东西,我使用的是 NASM,但我什么也做不了. 如何在 Windows 上不借助 C 函数编写和编译 hello world? 解决方案 NASM 示例. 调用libc stdio printf,实现int main(){ return printf(message);} ;-------------------------- ..
发布时间:2021-11-30 11:09:58 其他开发

Win32 API 中的`A` 和`W` 函数有什么区别?

调用末尾附加 A 字符而不是 W 字符的 Win32 API 函数有什么区别. 我知道这意味着 ASCII 和 WIDE CHARACTER 或 Unicode,但是输出或输入有什么区别? 例如,如果我调用 GetDefaultCommConfigA,它会用 ASCII 字符串而不是 WCHAR 字符串填充我的 COMMCONFIG 结构吗?(对于 GetDefaultCommConf ..
发布时间:2021-11-28 22:38:45 其他开发

Windows API ANSI 函数和 UTF-8

是否可以将 Windows API ANSI 函数与 UTF-8 字符串一起使用? 例如,假设我有一个以 UTF-8 编码的路径.我可以调用 CreateDirectoryA 或 CreateFileA 并使用 UTF-8 路径,还是必须在调用函数之前执行一些转换? 解决方案 没有.使用 MultiByteToWideChar 将 UTF-8 转换为UTF-16,然后调用宽字符 AP ..
发布时间:2021-11-28 17:54:00 其他开发

WinAPI Unicode 和 ANSI 函数

大多数WinAPI调用都有Unicode和ANSI函数调用 例如: function MessageBoxA(hWnd: HWND; lpText, lpCaption: LPCSTR; uType: UINT): Integer;标准调用;外部用户 32;函数 MessageBoxW(hWnd: HWND; lpText, lpCaption: LPCWSTR; uType: UINT) ..
发布时间:2021-11-28 17:46:05 其他开发

使用 Net.Tcp 端口共享服务时拒绝访问

这个问题与在特定凭据下启动进程有关一个 Windows 服务,但这是一个不同的问题. 我已使用特定凭据从系统会话 (0) 中的 Windows 服务启动了一个进程,但它无法侦听端口共享 URL.它在 Windows Server 2008 机器上使用“Worker"域帐户. 我的 SMSvcHost.exe.config 文件:http://pastie.org/私人/jxed8bdf ..
发布时间:2021-11-26 21:07:14 C#/.NET