返回
群友需求:一键将剪贴板内容复制到当前文件夹!
后端
2023-12-15 02:46:09
大家好,我是技术博主,喜欢以独特视角剖析事物,并以此为基础构建文章。今天,我将满足一位群友的需求,编写一篇关于一键将剪贴板内容复制到当前文件夹的教程。
前言
昨天,一位群友提出了一个需求:是否有程序可以在文件夹中右键点击菜单,选择“剪贴板”,自动将剪贴板中的文字或图片复制到当前目录?
传统方法通常是新建一个文本文件,打开它并按 Ctrl+V 粘贴内容。对于图像,某些应用程序(如微信)提供保存功能,但过程仍然繁琐。
为了满足这个需求,我们将创建一个小程序,将其集成到 Windows 右键菜单中,让复制剪贴板内容变得轻而易举。
步骤详解
-
创建 C# 应用程序
- 打开 Visual Studio 并创建一个新的 C# Windows 窗体应用程序。
- 将以下代码粘贴到 Form1.cs 文件中:
using System; using System.Drawing; using System.IO; using System.Windows.Forms; namespace ClipboardToFolder { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // 在右键菜单中添加一个名为 "复制剪贴板" 的选项 MenuItem menuItem = new MenuItem("复制剪贴板"); menuItem.Click += MenuItem_Click; ContextMenuStrip contextMenu = new ContextMenuStrip(); contextMenu.Items.Add(menuItem); this.ContextMenuStrip = contextMenu; } private void MenuItem_Click(object sender, EventArgs e) { // 获取当前文件夹路径 string path = Directory.GetCurrentDirectory(); // 根据剪贴板内容类型采取相应操作 if (Clipboard.ContainsText()) { // 如果剪贴板中是文本,将其保存为 .txt 文件 string text = Clipboard.GetText(); File.WriteAllText(path + "\\clipboard.txt", text); } else if (Clipboard.ContainsImage()) { // 如果剪贴板中是图像,将其保存为 .png 文件 Image image = Clipboard.GetImage(); image.Save(path + "\\clipboard.png"); } else { // 如果剪贴板中没有文本或图像,则显示错误消息 MessageBox.Show("剪贴板中没有可复制的内容。"); } } } }
-
编译并运行应用程序
- 编译并运行应用程序。
- 右键单击任何文件夹,您将看到一个名为“复制剪贴板”的选项。
-
将应用程序添加到右键菜单
- 右键单击“开始”菜单,然后选择“设置”。
- 转到“个性化”>“任务栏”。
- 在“通知区域”部分,单击“选择要在任务栏上显示哪些图标”。
- 向下滚动并找到您刚刚创建的应用程序。
- 将其切换为“开”。
-
使用新功能
- 现在,当您右键单击任何文件夹时,您都可以选择“复制剪贴板”选项。
- 剪贴板中的文本或图像将自动复制到该文件夹中。
总结
通过本教程,我们创建了一个小程序,将其集成到 Windows 右键菜单中,可以一键将剪贴板中的文本或图像复制到当前文件夹。这个小工具可以极大地提高工作效率,方便地处理剪贴板内容。