如何调出内置的文件复制对话框?

2023-12-04

我将使用我的 winforms 应用程序通过网络复制一个大文件,并且我需要显示某种进度条。我没有编写自己的复制例程,而是认为简单地显示内置文件复制对话框可能会更好。

我还需要“复制完成”和“复制失败”通知。

我需要它在 Windows XP、Vista 和 7 上工作。有没有办法从我的 C# 代码中调用此功能?


答案摘自:here

Windows Vista 确实包含一个新的复制引擎,它完全支持您想要执行的操作。但是,以前现有的功能可能会满足您的需求。例如,如果要复制、移动、重命名或删除单个文件或目录,可以利用 SHFileOperation(从 shell32.dll 公开),它已由 Visual Basic® 运行时包装。如果您使用的是 Visual Basic 2005,则可以简单地使用 My 命名空间中的功能,例如:

 My.Computer.FileSystem.CopyDirectory(
   sourcePath, destinationPath, UIOption.AllDialogs)

在 C# 中完成同样的事情只需要多做一点工作,添加对 Microsoft.VisualBasic.dll(来自 Microsoft® .NE​​T Framework 安装目录)的引用并使用如下代码:

using Microsoft.VisualBasic.FileIO;
...
FileSystem.CopyDirectory(
    sourcePath, destinationPath, UIOption.AllDialogs);

When run, this will result in the same progress UI you'd see if you were doing the same file operations from Windows Explorer. In fact, when running on Windows Vista, you automatically get the new Window Vista progress UI, as shown in Figure 1. Dialog

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

如何调出内置的文件复制对话框? 的相关文章

  • 当从后台工作程序发生事件时,XlCall.Excel(XlCall.xlcCalculateNow) 抛出 XlCallException

    我有一个 ExcelFunction 来排队一些计算 ExcelFunction public static void QueueCalcs takes ranges var calcRequests builds list of calc
  • 通过 SOAP 的 Gmt php 或 UTC C# 等效项

    is C DateTime UtcNow和 PHPdate c 是等价的 我怀疑 因为当我肥皂时 我得到了 C
  • 从另一个 FORM 中取回隐藏的 FORM

    我有两种形式Form1 and Form2 我正在打开Form2 from Form1 on button Click Form2 obj2 new Form2 this Visible false obj2 Show 然后我想回来Form
  • C# 和月历,选择多个日期

    我正在制作一个程序 可以帮助人们用 C 为某个部门 预订 订单 他们需要能够选择不同月份的多个日期 我更愿意拥有它 这样他们就可以单击一个日期 然后按住 Shift 键单击另一个日期以选择这两个日期之间的所有日期 并控制单击以进行单选 取消
  • 如何调整 Windows 窗体以适应任何屏幕分辨率?

    我知道这是重复的问题 但我检查了所有其他相关问题 他们的答案没有帮助 结果仍然与屏幕截图 2 中所示相同 我是 C Windows 窗体新手 如截图1所示 我有Form1有一些控件 每组控件都放在一个面板中 我在 PC1 中设计了应用程序
  • 如何查明 .exe 是否正在 C++ 中运行?

    给定进程名称 例如 程序 exe C 标准库没有这样的支持 您需要一个操作系统 API 来执行此操作 如果这是 Windows 那么您将使用 CreateToolhelp32Snapshot 然后使用 Process32First 和 Pr
  • 以下 PLINQ 代码没有改进

    我没有看到使用以下代码的处理速度有任何改进 IEnumerable
  • 如何调试在发布版本中优化的变量

    我用的是VS2010 我的调试版本工作正常 但我的发布版本不断崩溃 因此 在发布版本模式下 我右键单击该项目 选择 调试 然后选择 启动新实例 此时我看到我声明的一个数组 int ma 4 1 2 8 4 永远不会被初始化 关于可能发生的事
  • 名称查找、实例化点 (POI) 和基本类型

    以下代码针对 X 进行编译 但不适用于 double struct X void foo double void foo X namespace NN struct A void foo A foo double error foo not
  • 为什么 std::function 不是有效的模板参数,而函数指针却是?

    我已经定义了名为的类模板CallBackAtInit其唯一目的是在初始化时调用函数 构造函数 该函数在模板参数中指定 问题是模板不接受std function作为参数 但它们接受函数指针 为什么 这是我的代码 include
  • 如何增加ofstream的缓冲区大小

    我想增加 C 程序的缓冲区大小 以便它不会过于频繁地写入 默认缓冲区是 8192 字节 我尝试使用 pubsetbuf 将其增加到 200K 原始代码 ofstream fq fastq1 cstr ios out fastq1 is a
  • 如果在代码中添加元素,“FindName”将不起作用

    在 WPF 应用程序中 如果在 XAML 中声明 ContentControl
  • 如何在 EF Core 2.1 中定义外键关系

    我的 DAL 使用 EF Core 2 1 这就是我的模型的样子 一名用户只能拥有一种角色 Role entity kind of master public class Role public int RoleId get set pub
  • 在 C++ 代码 gdb 中回溯指针

    我在运行 C 应用程序时遇到段错误 在 gdb 中 它显示我的一个指针位置已损坏 但我在应用程序期间创建了 10 万个这样的对象指针 我怎样才能看到导致崩溃的一个 我可以在 bt 命令中执行任何操作来查看该指针的生命周期吗 谢谢 鲁奇 据我
  • WPF DataGrid - 在每行末尾添加按钮

    我想在数据网格的每一行的末尾添加一个按钮 我找到了以下 xaml 但它将按钮添加到开头 有人知道如何在所有数据绑定列之后添加它吗 这会将按钮添加到开头而不是末尾
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 用数组或向量实现多维数组

    我想使用单个数组或向量实现多维数组 可以像通常的多维数组一样访问它 例如 a 1 2 3 我陷入困境的是如何实施 操作员 如果数组的维数为 1 则 a 1 应该返回位于索引 1 处的元素 但是如果维数大于一怎么办 对于嵌套向量 例如 3 维
  • 将日期时间显示为 MM/dd/yyyy HH:mm 格式 C#

    在数据库中 日期时间以 MM dd yyyy HH mm ss 格式存储 但是 我想以 MM dd yyyy HH mm 格式显示日期时间 我通过使用 String Format 进行了尝试 txtCampaignStartDate Tex
  • 与 Entity Framework Core 2.0 的一对零关系

    我正在使用 C 和 NET Framework 4 7 将 Entity Framework 6 1 3 Code First 库迁移到 Entity Framework Core 我一直在用 Google 搜索 Entity Framew
  • 值和类型的简洁双向静态 1:1 映射

    我将从我想象如何使用我想要创建的代码开始 它不必完全像这样 但它是我在标题中所说的 简洁 的一个很好的例子 就我而言 它是将类型映射到相关的枚举值 struct bar foo

随机推荐

  • Django:使用变量作为 URL 命名空间?

    我正在尝试为体育网站创建一个子菜单 每项运动都需要自己的子菜单 我遇到的问题是我需要命名空间本身以某种方式是动态的 SportListView 返回体育项目 以便我可以按体育项目过滤新闻文章 Views class SportListVie
  • Tesseract OCR 引擎无法从自动生成的图像中读取文本,但可以从 MS Paint 中的 CUT 读取文本

    我正在为 Tesseract OCR 引擎使用 NET 包装器 我有一个大的 PNG 文档 当我在 MS Paint 中剪下图像的一部分然后将其输入引擎时 它就可以工作了 但是当我用代码执行此操作时 引擎无法识别图像中的文本 图像看起来相同
  • ASP classic中如何统计记录数?

    我对 ASP classic 编程不太熟悉 我只需要一小段代码即可在我的网页上运行 如何统计返回查询的记录数 thanks 可以 但不推荐 在 Recordset 对象上使用 RecordCount 属性 如下所示 iTotalRecord
  • 如何在 Magento 中使用 getThumbnailUrl() 显示类别的缩略图

    我一直在尝试完成这项工作 但没有运气 基本上我需要在内容块上显示主菜单类别 我做到了 但现在我需要在内容块内的类别名称旁边显示缩略图类别 我在 app desing fronend default THEME template catalo
  • psql 提示符更改为“-#”并且该语句未提交

    我是 Postgres 的新手 我设置了一个数据库和表 在 Ubuntu 18 04 命令行 在云服务器上 上 我使用以下命令发出了以下命令psql INSERT INTO psq01 date email firstname lastna
  • 寻找最小的下一个更大的元素

    我有一项任务 要求我为所有数组条目找到数组中所有较大元素中的最小元素 并将相应的索引存储在数组中 但我无法完全弄清楚解决方案的最后部分 这与这里解释的问题有点相似 https www geeksforgeeks org smallest g
  • Alsa无法设置样本格式[FFMPEG]

    我正在尝试使用 ffmpeg 从 Roland USB 设备捕获 pcm 流并用 wav 包装它 我正在使用的命令行如下 ffmpeg f alsa acodec pcm s32le ac 2 ar 48000 i hw 2 0 out w
  • SqlDataReader“枚举未产生结果”

    一直想弄清楚 但我不能 我通过 SqlCommand 执行存储过程 返回的 SqlDatareader 对象没有给我结果 但是 如果在调试器中探索该对象 我可以看到它们 这是我正在谈论的内容的图片 在结果视图行中显示 枚举没有结果 但是在路
  • d3.js 选择器不返回实际对象

    我正在使用 d3 js v4 我已在 google chrome 浏览器的控制台上执行了以下代码 var theData 1 2 3 var p d3 select body selectAll p data theData enter a
  • 查询以水平显示输出

    我需要以水平方式显示查询输出 我有一些示例数据 create table TestTable id number name varchar2 10 insert into TestTable values 1 John insert int
  • 包括来自 FXML 的 FontAwesomeFX 图标和字形

    Sector 1 最棒的字体真棒FX 提到JFXBadge是来自JFoenix图书馆 我找到了从下载他们的演示的代码github 回到旧时光FontAwesomeFX 8 5 0
  • 如果出现 SMTP 421 错误该怎么办?

    我有一些 PHP 代码可以帮助发送电子邮件 它的工作方式是有一个唯一密钥的列表 每个密钥都必须发送到不同的电子邮件地址 有时我们需要能够一次发送 1000 个这样的密钥 因此需要发送 1000 封电子邮件 我正在使用 Pear Mail S
  • 从已运行的 CMD 窗口捕获文本 (VB.NET)

    有一个应用程序几乎 24 7 在此计算机上运行 它在命令提示符窗口内运行 我希望能够捕获窗口中当前显示的所有文本 该应用程序已经在运行 并且由于不相关的原因 无法从 VB 内启动 因此我不能仅重定向进程的输出来保存文本 我当前捕获文本的方法
  • 数据包数据拦截和修改

    我希望能够在 tcp 客户端一侧拦截 修改 tcp 流中的数据 pcap 的示例展示了如何解析 tcp 数据包标头 有效负载 但是假设 我想在 tcp 客户端读取数据包有效负载之前修改它 或者完全丢弃数据包 我该如何使用 pcap capu
  • 为什么即使我调用 CommandManager.InvalidateRequerySuggested(),也不会调用 WPF 按钮命令的 CanExecute 方法?

    我面临着这些问题中报告的相同问题 属性更改时不调用按钮命令 CanExecute 如何强制更改文本框以在 WPF 中启用我的命令 简单来说就是 我的命令链接按钮在应该启用时没有启用 但略有不同 我已经尝试调用 CommandManager
  • 使用泽勒同余确定一周中的哪一天

    我尝试编写代码来查找给定日期的星期几泽勒同余但我没有得到正确的输出 我的代码有什么问题吗 include
  • 使用 Google Analytics 跟踪客户端 JavaScript 和服务器端跟踪调用中的同一会话?

    我们正在我们的网站中实施第三方支付系统 巴克莱 CPI 我们希望使用 Google Analytics 来跟踪付费客户的来源 例如 然而 巴克莱 CPI 通过服务器到服务器的 http 请求返回支付授权结果 而不是带有谷歌分析代码的普通网页
  • Android 设备可以广播 SSID 吗?

    我想查看来自 Android 设备上的 Nintendo 3DS 的数据 3DS 将自动尝试连接到 SSID 为 Nintendo 3DS continuous scan 000 的任何路由器 我知道这应该是可能的 因为网络共享应用程序基本
  • 调整输入图像大小以上传

    我已经为这个问题苦苦挣扎了几个小时 我想调整输入标签中的图像大小 然后将其上传到服务器 这是我的尝试 我的输入元素
  • 如何调出内置的文件复制对话框?

    我将使用我的 winforms 应用程序通过网络复制一个大文件 并且我需要显示某种进度条 我没有编写自己的复制例程 而是认为简单地显示内置文件复制对话框可能会更好 我还需要 复制完成 和 复制失败 通知 我需要它在 Windows XP V