从 C# 连接到 Windows 文件复制 API

2024-03-31

有没有办法从 C# 连接到 Windows 文件复制 API?我知道这需要非托管代码,但代码示例或入门程序会很有帮助。我已经看过 C++ 代码,但都是希腊语。

UPDATE:我很抱歉,我应该更清楚地表达我的意图。我实际上希望将 Windows 的复制功能更改为更加严格(例如允许排队、调度、处理重新启动、暂停等)。当我说钩子时,我指的是 API 钩子,这样当有人启动副本时,我可以获得源和目的地,并可以按照我的意愿处理它。我是个老派,经常挂接 Mac OS API 来完成这些事情,所以我假设在 C++ WINAPI 世界中存在某种类型的等价物。


Update:正如其他人所说,为什么不直接使用System.IO.File.Copy(...)?它调用相同的底层 API。正如 Michael G 指出的那样,也许您打算调用 FileCopyEx API,它允许您挂钩进度指示回调(???)这确实是在 .NET 中 P/Invoke 文件复制内容的唯一原因。详细说明如何实施FileCopyEx可以在这里找到:http://pinvoke.net/default.aspx/kernel32/CopyFileEx.html http://pinvoke.net/default.aspx/kernel32/CopyFileEx.html

原答案: (你真的不应该使用......)

代码片段被删除,因为你真的不应该使用它......如果您一心想要编写失败的代码,您可以在以下位置找到如何使用它:找到http://pinvoke.net/default.aspx/kernel32/CopyFile.html http://pinvoke.net/default.aspx/kernel32/CopyFile.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 C# 连接到 Windows 文件复制 API 的相关文章

  • 无法将 std::min 传递给函数,std::min 的副本有效

    Passing std min函数无法编译 我复制了 libcpp 声明std min进入我的源文件并且它可以工作 std 版本有什么问题 clang 和 gcc 也会发生同样的情况 在 Godbolt 上测试 https godbolt
  • 我如何知道 C 程序的可执行文件是在前台还是后台运行?

    在我的 C 程序中 我想知道我的可执行文件是否像这样在前台运行 a out 或者像这样 a out 如果你是前台工作 getpgrp tcgetpgrp STDOUT FILENO or STDIN FILENO or STDERR FIL
  • 锁定 ASP.NET 应用程序变量

    我在 ASP NET 应用程序中使用第三方 Web 服务 对第 3 方 Web 服务的调用必须同步 但 ASP NET 显然是多线程的 并且可能会发出多个页面请求 从而导致对第 3 方 Web 服务的同时调用 对 Web 服务的调用封装在自
  • C free() 是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 malloc 和 free 如何工作 https stackoverflow com questions 1119134 how malloc and free work include
  • MFC CList 支持复制分配吗?

    我在 MSVC 中查找了 CList 定义afxtempl h http www cppdoc com example mfc classdoc MFC AFXTEMPL H html并记录在MSDN http msdn microsoft
  • C# 处理标准输入

    我目前正在尝试通过命令行断开与网络文件夹的连接 并使用以下代码 System Diagnostics Process process2 new System Diagnostics Process System Diagnostics Pr
  • 将下拉列表与字典绑定

    我将字典绑定到下拉列表 举例来说 我的字典中有以下项目 Test1 123 Test2 321 我希望下拉文本采用以下格式 Test1 Count 123 Test2 Count 321 我沿着以下路径走 但没有运气 MyDropDown
  • C++ 将联合强制转换为其成员类型之一

    以下对我来说似乎完全符合逻辑 但不是有效的 C 联合不能隐式转换为其成员类型之一 有人知道为什么不这样做的充分理由吗 union u int i char c function f int i int main u v v i 6 f v
  • while循环中的变量初始化

    我有一个可以分块读取文件的函数 public static DataObject ReadNextFile 数据对象看起来像这样 public DataObject public string Category get set And ot
  • 静态类与类的实例

    我有一个静态类 用于访问我的公共属性 整个应用程序的全局属性 和我在应用程序运行期间使用的方法 例如 我在静态类中设置了一些属性 并且在应用程序运行时我可以从属性中获取值 但我可以使用单例模式创建非静态类并以相同的方式使用它 问题 对于我的
  • 如何在win32中使用GetSaveFileName保存文件?

    我编写此代码是为了获取 fileName 来保存我的文件 include stdafx h include
  • 在 C# 中何时使用 ArrayList 而不是 array[]?

    我经常使用一个ArrayList而不是 正常 array 当我使用时 我感觉好像我在作弊 或懒惰 ArrayList 什么时候可以使用ArrayList在数组上 数组是强类型的 并且可以很好地用作参数 如果您知道集合的长度并且它是固定的 则
  • Resharper:IEnumerable 的可能多重枚举

    我正在使用新的 Resharper 版本 6 在我的代码中的几个地方 它给一些文本加了下划线 并警告我可能存在IEnumerable 可能的多重枚举 我理解这意味着什么 并在适当的情况下采纳了建议 但在某些情况下 我不确定这实际上是一个大问
  • 使用多线程进行矩阵乘法?

    我应该使用线程将两个矩阵相乘 有两件事 当我运行程序时 我不断得到 0 我还收到消息错误 对于每个错误 它在粗体行上显示 警告 从不兼容的指针类型传递 printMatrix 的参数1 我尝试打印输出 还要注意 第一个粗体块 这是我解决问题
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • Autoconf 问题:“错误:C 编译器无法创建可执行文件”

    我正在尝试使用 GNU 自动工具构建一个用 C 编写的程序 但显然我设置错误 因为当configure运行 它吐出 configure error C compiler cannot create executables 如果我看进去con
  • Linq.Select() 中的嵌套表达式方法调用

    I use Select i gt new T 每次手动点击数据库后将我的实体对象转换为 DTO 对象 以下是一些示例实体和 DTOS 用户实体 public partial class User public int Id get set
  • Xamarin.Forms UWP 项目中标题栏和选项卡之间令人恼火的空白

    我几乎是新手Xamarin Forms我正在开发一个相当简单的跨平台应用程序 该应用程序在 Android 中显示得足够好 但在 UWP 中却出现了一个愚蠢的空白 该项目由一个 TabbedPage 组成 其中包含 4 个 Navigati
  • 有没有办法直接在函数参数中格式化字符串而不是使用临时字符串?

    我有一个接受字符串 字符数组 作为参数的函数 void enterString char my string 当使用这个函数时 我经常发现自己想要输入格式化的字符串 我使用 sprintf 来做到这一点 然而 我每次都必须创建一个临时字符串
  • SQL Server“未找到网络路径”在不同环境中随机且不频繁地发生

    类似 如果不是同一个问题 随机遇到网络路径未找到异常 https stackoverflow com questions 38696448 network path not found exception encountered rando

随机推荐

  • SQL Server - PIVOT - 两列转换为行

    我在一个专栏中看到了很多关于 PIVOT 的问题 每个问题都比其他问题更复杂 但是 我找不到我需要的任何内容 老实说 我什至不知道pivot在这种情况下是否能帮助我 假设我的源表中有这些数据 SELECT 1 as RowId Random
  • 混淆 .fmt 行为与嵌套列表

    The docs https docs raku org routine fmt比如说fmt 返回一个字符串 其中列表中的每个元素都已根据以下格式进行格式化 format 第一个参数 并且每个元素由 separator 第二个论点 根据该描
  • EmguCV (OpenCV) ORBDetector 仅发现不良匹配

    Problem 所以总的来说 我对计算机视觉还很陌生 我目前正在尝试通过分析 2 个图像来计算单应性 我想使用单应性来校正 1 个图像的视角以匹配另一个图像 但我得到的比赛却很糟糕而且错误 所以我所做的单应性扭曲完全关闭了 当前状态 我正在
  • 在“data.table”中使用动态列名

    我想计算 data table 中每一列的平均值 并按另一列分组 我的问题与另外两个问题类似 one https stackoverflow com questions 12391950 variably selecting assigni
  • 创建 IEnumerable.Find()

    我想写 IEnumerable
  • Hibernate Envers:检索具有集合属性的实体的正确修订

    我有两个经过审计的实体 A 和 B 实体 A 拥有实体 B 的集合 注释为一对多关系 将 A 的新实例插入数据库时 A 和 B 的所有行都处于同一修订版 假设为修订版 1 然后 A 上有一个更新 仅影响实体 B 的实例 因此 更新后 实体
  • WiX RemoveRegistryKey 元素的行为不符合广告

    卸载时我似乎无法删除注册表项 请注意 这不是重复this https stackoverflow com questions 3317281 wix doesnt remove registrykey on uninstall问题 因为我不
  • scikit-learn - 将管道预测转换为原始值/规模

    我创建了一个管道 如下所示 使用Keras Scikit Learn API https keras io scikit learn api estimators estimators append standardize Standard
  • 如何使用 jquery 禁用列表框中的多重选择?或者JavaScript?

    我的页面中有一个列表框 td 我需要禁止从列表框中选择多个项目吗 我正在做一些事情 比如选择一个项目 然后单击 删除 按钮 我的页面会从列表框中删除一项 但是如果我选择多个项目 则会抛出一条错误消息 任何人都可以帮我解决如何停用或禁用列表框
  • 熊猫重新索引日期索引按组重新访问

    之前已经问过这个问题 这里已经提出了一个可行的解决方案Pandas 在 Groupby 中重新索引日期 https stackoverflow com questions 32275540 pandas reindex dates in g
  • GraphViz:未使用新安装程序设置 Windows PATH,从 R 调用时出现问题

    在 R 库中 我使用dot程序 来自 GraphViz 来生成一些图形 通常为 png 格式 dot是一个通常的可执行文件 我通过systemR 命令 到目前为止 一切都运行良好 因为 GraphViz 安装程序正在添加dot到 PATH
  • 以 Vararg 作为第一个参数的 Kotlin 方法

    Note我查看了以下问题 答案来解决问题 但没有任何运气 从 Kotlin 调用 Java Varargs 方法 https stackoverflow com questions 36626152 call java varargs me
  • 具有特定数字的浮点精度

    以下值给出了错误的精度 仅通过特定数字即可观察到这一点 可能是浮动表示问题 但想知道具体原因 String m 154572 49 154 572 49 Float f Float parseFloat m System out print
  • 了解 Go 中的 http handlerfunc 包装器技术

    我看到一个马特 赖尔撰写的文章 https medium com statuscode how i write go http services after seven years 37c208122831关于如何使用服务器类型和包装器类型
  • 字符串驻留和文字字符串声明的搜索成本

    两个问题 当我们声明文字字符串时 我们会在堆的字符串池中查找是否有相同的字符串 这也是实习吗 班级的方法实习生String 在我看来 每个文字字符串声明都需要进行二分搜索或其他操作 因此它至少需要花费log n when n是池中现有字符串
  • 从 sqlalchemy 关系中选择具有最大值的项目

    给定这对类 class Thing Base id Column Integer primary key True class ThingInfo Base id Column Integer primary key True thing
  • Angular 中的 window.onload

    Angular 中是否有相当于 window onload 事件的事件 我想淡出并删除预加载器 但前提是加载了所有资源 例如图像 由于 viewConteneLoaded 仅指示将 html 插入视图 我正在使用 ngRotue 因此监听它
  • Spark 中执行器和任务的内存分配

    我的集群配置如下 7 个节点 每个节点有 32 个核心和 252 GB 内存 纱线配置如下 yarn scheduler maximum allocation mb 10GB yarn scheduler minimum allocatio
  • 如何将 PHP preg_split 移植到 Java 以应对 ADODB 中反序列化值的特殊情况?

    我需要将此函数移植到 Java 以将 ADODB 中的值反序列化 variables array a preg split w serialized string 1 PREG SPLIT NO EMPTY PREG SPLIT DELIM
  • 从 C# 连接到 Windows 文件复制 API

    有没有办法从 C 连接到 Windows 文件复制 API 我知道这需要非托管代码 但代码示例或入门程序会很有帮助 我已经看过 C 代码 但都是希腊语 UPDATE 我很抱歉 我应该更清楚地表达我的意图 我实际上希望将 Windows 的复