我目前正在研究一个在Microsoft Windows环境中执行磁盘碎片整理的项目。 为此,我想使用Windows碎片整理实用程序的内置功能。 我读到某个地方Windows使用“ dfrgres.dll”文件执行碎片整理。 因此,我想在项目中添加“ dfrgres.dll”文件作为参考。 但是我不能这样做。 这是当我尝试将指定的DLL添加到项目中时收到的错误消息:

“无法添加对'... \\ dfrgres.dll'的引用。请确保该文件可访问,并且它是有效的程序集或COM组件”

请告诉我问题出在哪里...或还有其他解决方法... ??? 互联网上是否还有其他可用于碎片整理的开源资源... ???

问候,
难以捉摸的先生

===============>>#1 票数:1 已采纳

没有专用的DLL或COM服务器来执行碎片整理,底层接口使用IOCTL代码与设备驱动程序进行通信。 这里简单介绍一下

有一个Microsoft员工博客文章提出了C#接口。 不知道它是否仍适用于更高版本的Windows。

  ask by Mr. Elusive translate from so

未解决问题?本站智能推荐:

1回复

视窗。 在特定逻辑集群上创建新文件

相关的Microsoft文档为: https : //msdn.microsoft.com/en-us/library/aa363911.aspx 但它描述了如何将现有的碎片文件移动到新的连续逻辑块。 我想创建没有碎片的新文件。 起初,我通过FSCTL_GET_VOLUME_BITMA
2回复

Windows碎片整理无法识别为内部或外部命令,可操作程序或批处理文件

我正在开发一个技术工具包程序,此“工具包”中将包含一个在本地磁盘上运行碎片整理的按钮。 目前,我为此创建的批处理文件很简单,它仅运行基本的碎片分析: 触发此操作的按钮后面的C#代码为: 该代码完全符合我的要求,它调用UAC,然后使用管理特权启动我的批处理文件。 尽管运行了批处
2回复

如何从NTFS / FAT32中的逻辑群集号中找到有关文件的信息?

我正在尝试通过Windows碎片整理API( http://msdn.microsoft.com/zh-cn/library/aa363911 ( VS.85 ) .aspx )对单个文件进行碎片整理,但是如果没有足够的可用空间块供我使用我想移动文件的其他部分以为其腾出空间。 链接的文章提
2回复

在visual c ++项目中添加文件夹

如何在visual c ++项目中添加整个文件夹及其子目录? 我正在使用visual studio 2010专业版。 我的意思是你可以使用Add Existing Item添加文件但是如何添加整个目录?
2回复

如何为Visual C ++ dll项目生成lib

我有一个Visual C ++ dll项目。 可以创建该dll,但不会生成该lib。 我应该修改哪个项目属性才能输出lib?
1回复

如何使用C ++编译项目,以便在硬盘上创建项目的.dll文件,以便以后将其与其他程序一起使用?

这是主要代码: 这不是我的项目。 现在,我转到项目属性,然后在General> Target Extension下:.dll在General> Configuration Type>下:动态库(.dll) 但是,当我在执行我的项目Build> Buil
3回复

从C ++源文件创建Windows DLL

我在C ++中有多个源文件,要使用它们创建动态链接库。 我看到这在Linux中使用gcc -shared和ln发生 但是对于Windows,我想我必须修改源文件才能生成DLL。 有没有一种方法可以使用提供的源文件生成DLL(与Linux中的* .so相似的文件)。 如果我错了
1回复

建立不依赖dll的C ++二进制文件

我写了一些C ++代码。 我将其发送给了不是开发人员的朋友。 在Windows 7上,他收到错误消息“由于缺少msvcr120.dll,程序无法启动” 如何构建它才能运行? 我是否需要使用MSVC 2008进行编译? 2005年? 我想在Vista +上工作
1回复

在Visual C ++项目中使用zlib

我一直在努力依赖Zlib编译我的Visual C ++ 2010项目。 我有可在Linux和Mac OS X上使用的源代码。在这里,我有链接器错误: 几天来我一直在寻找解决方案,尝试以不同的方式编译Zlib,但是很明显,我错过了一些东西。 这里已经回答了非常类似的问题,但对于像我这样
6回复

Visual C ++可执行文件和缺少MSVCR100d.dll

我知道这已在其他地方被问过并回答了,但我遇到了MS Visual Studio 2010的问题。我开发了一个C ++可执行文件,但是如果我在没有VC ++运行时库的机器上运行Release版本(即,msvcr100d.dll),我得到“程序无法启动因为你的计算机缺少msvcr100d.dll”错