草庐IT

windows - 将文件夹绑定(bind)到文件的 API 是什么(如 Internet Explorer)

当您在InternetExplorer中保存HTML文件时,它会创建一个包含所有链接文件的子文件夹。这两个链接在一起,因此当您删除文件时,文件夹也会随之消失。我想在我的应用中做同样的事情。谁能给我一个相关API的指针?谢谢 最佳答案 HTML文件及其附带资源目录的配对是一种特殊情况(由shell实现),因此不是文件系统的功能,据我所知也不是任何可扩展的shellAPI。请参阅SHFileOperation中的连接文件文档。 关于windows-将文件夹绑定(bind)到文件的API是什么

windows - 如何使用 GDI 函数在 OpenGL 使用的 DC 上绘图?

如何使用GDI函数在OpenGL使用的设备上下文(DC)上绘制?这意味着如何将GDI函数和OpenGL一起使用。假设我有一个DC,这个DC已经用来初始化OpenGL了。 最佳答案 你最好不要这样做。从技术上讲,混合OpenGL和GDI仅适用于单个缓冲窗口。对于双缓冲窗口,GDI调用仅在缓冲区交换后才有意义。但到底为什么要混合使用OpenGL和GDI? 关于windows-如何使用GDI函数在OpenGL使用的DC上绘图?,我们在StackOverflow上找到一个类似的问题:

c++ - 如何在 VC++ 中获取 WPF 应用程序的屏幕截图?

如何在VC++中获取WPF应用程序的屏幕截图?在VC++中,我有一个WPF应用程序窗口的HWND。使用GDIPrintWindow的传统方法在WPF应用程序上无法正常工作(当WPF呈现缓慢时出现黑屏)。还有其他方法可以将WPF应用程序的屏幕截图作为HBITMAP吗? 最佳答案 会GetDC&BitBlt为GDI+方案更改任何内容?? 关于c++-如何在VC++中获取WPF应用程序的屏幕截图?,我们在StackOverflow上找到一个类似的问题: https:

windows - 如何使用 delphi 导入(合并)reg 文件?

我有几个.reg(Windows注册表)文件(由外部应用程序生成)需要合并到Windows注册表中。现在我正在使用ShellExecuteEx函数调用regedit.exe应用程序,将文件名作为参数传递(并且工作正常),但我想知道是否存在任何WinAPI函数或其他方式合并该文件,而无需调用regedit.exe应用程序。 最佳答案 我希望答案是否定的。通过winapi,您可以将文件作为.ini文件读取,并相应地进行适当的注册表修改。如果regedit.exe做的事情与此不同,我会感到惊讶。

c - 在 Windows 中移动 TreeView 项目

我一直在使用WinAPI开发TreeView系统。我围绕一些功能构建了包装器,这些功能允许我在控件中插入新项目、删除项目和移动项目。然而,移动元素似乎是一件让人头疼的事情。我在MSDN(http://msdn.microsoft.com/en-us/library/aa925848.aspx)中找不到任何可以解决我的问题的函数。因此,我不得不创建一个肮脏的黑客来保存项目的属性,删除旧项目并将项目插入新位置。这是一个小代码片段:TVITEMtvitem;charchrTextBuffer[33];tvitem.mask=TVIF_TEXT;tvitem.cchTextMax=sizeof

windows - 如何检查一个进程中可以使用的地址空间的最大内存量

如果在32位可执行文件中未指定LARGEADDRESSAWARE开关,则2GB内存(提供或占用)可供进程使用。当开关LARGEADDRESSAWARE出现在可执行文件的PE标志中时,此限制可以是(如果我错了请纠正我):如果32位Windows不是使用/3GB开关启动的,则为2GB3GB(如果32位Windows是使用/3GB开关启动的)如果该进程作为32位进程在Windows64位操作系统下运行,则几乎高达4GB。我的问题是:如何确定此内存限制(有和/或没有LARGEADDRESSAWARE标志)?作为旁注:上面列举的可能性是否正确?注意:我对进程使用的内存量不感兴趣,也不是由于外部影

windows - 从多个目录加载 Win32 模块

我有一个程序将插件存储在多个目录中,如下所示:root/core/bin/app.execore.dllplugin.dllsupport.dlla/bin/a.dlla_support.dll在此示例中,a.dll导入了core.dll、support.dll和a_support.dll(它们在导入表中的顺序)。a_support.dll导入support.dll。我可以更改除支持模块之外的所有模块,这些模块是第三方库的重新发布。我的代码调用LoadLibraryEx(name,NULL,LOAD_WITH_ALTERED_SEARCH_PATH)来加载每个插件。对于core.dll

c - 测量进程的生命周期(因为它被加载到内存中)

进程是否有显示其生命周期的任何属性(自加载到内存以来)用于提取此信息的WINAPI是什么?我希望能够测量系统中任何进程的生命周期 最佳答案 我认为您在寻找GetProcessTimes函数。您提供一个进程的句柄(您可能需要具有适当的安全属性),还提供几个指向FILETIME结构的指针,您可以将其转换为SYSTEMTIMEwithFileTimeToSystemTime.FILETIME对象之一指的是进程的创建时间,这可能是可执行文件加载到内存时最接近的时间。 关于c-测量进程的生命周期(

c++ - 内存映射文件 - 映射结构而不是文件?

我对内存映射文件非常陌生,而且我对某些事情有点迷茫。我知道,如果我有一个文件,我可以使用MMaps一次加载它并从多个进程访问它。但在我的情况下,我正在创建一个附加到进程A的DLL,并且已为该DLL提供指向进程A准备的cSurface的指针。我需要与进程B共享那个cSurface的数据。我真的不想调用一个空白的MMap并将我的进程A的表面复制到其中,只是为了在进程B中再次复制它。是否可以像文件一样映射我的表面,以便MMap在创建时已经指向表面数据(就像我加载SomeTextFile.txt一样)?理论上,我的计划是在ProcA中接收一个指向表面的指针,告诉Windows以给定的名称共享该

windows - 如何找出有关客户端在命名管道上读取的信息

是否有可能在Windows命名管道的编写器(服务器)端计算出客户端在每个请求中从另一端读取了多少数据?背景:简单的场景。我们有一个进程写入它通过CreateNamedPipe创建的命名管道.数据只向外流(PIPE_ACCESS_OUTBOUND),为PIPE_TYPE_BYTE。另一个进程从管道中读取并显示有关它的一些信息。这大约每秒重复一次。我需要更改的内容:我必须为每次写入和后续读取添加更多数据。更新客户端和服务器都没有问题,但是14年前创建这个的人显然不认为管道中的数据结构会发生变化。不包含任何元数据,客户端不会关注可用数据量。例如,假设这些年来结构大小一直是8个字节。服务器写入