- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
今天给大家分享一个我做的小工具,可以自定义扩展右键菜单的功能来提高工作效率,效果图如下: 如上图,右键菜单多了几个我自定义的菜单 。 我上图是在win10操作系统下演示的,在win11系统也测试可用. 源码和工具包已经开源在github https://github.com/yuzd/WindowsExplorerExtensions 。 欢迎star,如果github访问慢,可以公众号内回复 菜单扩展 会提供你baidu网盘的下载包 。 软件包下载后,解压后 。 csv2xlsx的源码地址: https://github.com/yuzd/Exporter/tree/master/ConsoleApp 。 是基于我开源的各种类型转化封装库,比如csv,xlsx,json,list相互转化 。 开源地址: https://github.com/yuzd/Exporter 。 有人可能会问 ,如果电脑安装了office的话 直接csv就可以打开为excel啊, 但是默认的双击csv以excel方式打开,对于是大数字会显示成下面这样 。 所以我想要让csv的内容全部以字符串类型展示(就是上面csv3xlsx的功能了) 。 进入解压后的windows-explorer-ext目录 。 这个工具你也可以从官方地址下载:https://github.com/dwmkerr/sharpshell/releases 。 打开ServerManager.exe 点击Load Server 。 然后选中当前目录的WindowsExplorerExtentions.dll 。 选中第一个然后点击Install安装扩展 。 出现如下提示代表安装成功 。 此时,复制文件地址和复制文件夹地址这2个扩展菜单已经可用了 。 <我的工具箱>是动态创建二级子菜单的容器,需要配置下文件 。 总共要配置4个东西(按照-_-隔开) 。 注意,针对[1] 有2个特殊约定 。 如果配置 * 那么选择文件或者文件夹都会出现该菜单 。 如果配置 folder 那么只会选择文件夹才会出现该菜单 。 这样一来的话,如果我后面想要动态创建菜单,只需要开发这个菜单功能的可执行文件,然后再menu.txt新增个配置就搞定了, 是不是很方便 。 上面说到下载包有个csv2xlsx.exe文件,下面我们配置下 动态新增一个二级子菜单<转成excel> 只针对csv文件有效 。 menu.txt配置如下: 我们这么配置下: 配置好后,在csv类型文件点击右键,就可以看到效果了 。 点击该菜单,会启动一个cmd窗口 注意,在非csv的文件是不会有这个菜单的,这个是根据配置来的 。 其实就是将选中的文件路径传给你配置的可执行文件去执行 。 打开vs创建一个空的solution,新增一个新的Class Library 工程(目标是framework) 。 引入 ShapShell 包 。 示例代码 。 主要依赖ShapShell,创建SharpContextMenu的实现类,重写关键的CanShowMenu和CreateMenu的方法 注意[ComVisible(true)]不能漏 。 用ServerManager.exe注册进去后,菜单点击的时候会进入断点 。 微软最有价值专家是微软公司授予第三方技术专业人士的一个全球奖项。27年来,世界各地的技术社区领导者,因其在线上和线下的技术社区中分享专业知识和经验而获得此奖项. MVP是经过严格挑选的专家团队,他们代表着技术最精湛且最具智慧的人,是对社区投入极大的热情并乐于助人的专家。MVP致力于通过演讲、论坛问答、创建网站、撰写博客、分享视频、开源项目、组织会议等方式来帮助他人,并最大程度地帮助微软技术社区用户使用Microsoft技术. 更多详情请登录官方网站 https://mvp.microsoft.com/zh-cn 。 。
如何安装
开始安装
首先打开ServerManager.exe
打开menu.txt配置文件
*-_-测试-_-E:\xxxxx\xxxx.exe-_-"{path}"
folder-_-测试-_-E:\xxxxx\xxxx.exe-_-"{path}"
.csv-_-转成excel-_-E:\Tool\windows-extention\csv2xlsx.exe-_-"{path}"
源码说明
[ComVisible(true)]//这个很关键
[COMServerAssociation(AssociationType.AllFiles)] //这个代表针对文件类型才有效
//[COMServerAssociation(AssociationType.AllFilesAndFolders)]这个代表针对全部类型有效,包括文件夹
public class CopyFileLocationExt : SharpContextMenu
{
protected override bool CanShowMenu()
{
return true;
}
protected override ContextMenuStrip CreateMenu()
{
try
{
var contextMenu = new ContextMenuStrip();
var menuItem = new ToolStripMenuItem("复制文件路径");
menuItem.Image = Resources.AppStrings.Duplicate3;
menuItem.Click += (sender, args) =>
{
var file = SelectedItemPaths.First();
Clipboard.SetText(file);
};
contextMenu.Items.Add(menuItem);
// Return the menu.
return contextMenu;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace);
return null;
}
}
}
如何调试
关于我
最后此篇关于windows右键菜单扩展容器[开源]的文章就讲到这里了,如果你想了解更多关于windows右键菜单扩展容器[开源]的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
使用 Foundation 6.3.1,我希望在桌面上显示 Canvas 外菜单,在移动设备上显示 Accordion 菜单。例如 This is the desktop view with a co
function HideandUNhideObj(ThisObj) { var nav = document.getElementById(ThisObj).style if (nav.displ
我正在处理一个页面,该页面有一个显示“更新”的链接。当用户单击此链接时,我希望表单使用幻灯片效果并显示在链接下方。提交表单后,它会更新数据库,并且菜单会显示。 我知道这可以用 JavaScript 来
这是我的运行时创建菜单的关键部分: GtkWidget *menu, *menu_item; menu = gtk_menu_new(); menu_item = gtk_image_menu_ite
您好,我想实现一个像这样的 donut 菜单 http://dribbble.com/shots/610433-Wheel-Nav我知道有一种在 css3 中制作 donut 的简单方法。 .doug
我的应用程序中有一个菜单,当菜单打开时我会触发触觉反馈(来自 onTagGesture Action )。 然而 有时当我点击菜单打开触发器时,菜单实际上不会打开,但我仍然收到触觉反馈。我只在菜单实际
也许这是一个简单的解决方案,但我坚持了下来。 这里有我的代码 http://jsbin.com/ejomuv纯CSS菜单 我想要做的是在悬停时在下拉按钮底部设置 0px 边框半径,但仅在下拉菜单上设置
下拉列表、菜单和组合框都是非常常见的用户界面元素。用户习惯于在 native 应用程序和 Web 应用程序中看到这些元素,但它们存在一些问题。 您必须瞄准鼠标。当您将鼠标移开时,有些菜单会折叠,而有些
我有 codeigniter 背景。现在,我正在学习 Laravel。所以,我处于这种情况(示例),我正在尝试创建一个具有多个用户的 web 应用程序。用户类型 A ,他们可以访问菜单 a、菜单 b
我正在学习 JQuery 的基础知识,我的老师显示的 menu() 看起来根本不像我的。 这是我创建的菜单的 LAF: 代码: Hello Hi Welcome World
- SELECT - 上面的显示:none不起作用。我也尝试过“隐藏”,但没有成功。 如何隐藏此选择菜单? 最佳答案 换行与 或并将 id 添加到标签。 - SELECT
我使用 Jquery 创建菜单,如下所示: homeinfo2info3 Jquery 代码如下: $(document).ready(function(){ $(".prof_info1").unb
我是 C 新手,我需要为项目构建一个带有循环的菜单。我有两个问题。 1) 我想在 else 中添加一个字符,如果在主菜单中按“2”后询问某事,问题将是“你要去参加事件吗?”用户可以输入聊天“Y”或“N
大家好,过去几个小时我一直在为类(class)编写这个程序,但似乎无法解决最后两个问题。它基本上是一个略微修改的 CashRegister 类,通过菜单提供基本功能。我遇到的问题是: 1) 用户第一次
List studentInfo = new LinkedList(); int choice; boolean flag = true; Student student =
我正在使用 bootsrap 4 alpha 6 和 midnight.js 来更改导航菜单切换器的颜色。我想在它旁边插入一个文本(菜单)。捕获中的示例。对于文本切换器,我使用 fontawesome
我正在尝试使用 CSS 菜单解决菜单在 IE 6 中无法正确显示的问题 alt text http://content.screencast.com/users/Dokmanc/folders/Jin
我无法让这段代码工作 - 我想要的是当我将鼠标悬停在圆圈上时,菜单会出现,然后如果我将鼠标从圆圈或菜单上移开,它就会消失。我尝试做的任何事情都是非常错误的,例如 onmouseover 在圆圈上然后在
我有一个典型的 CSS 顶部导航,当您滑过不同的父菜单项时,它会显示一个子菜单。如何更改代码以保持显示事件子菜单。因此,如果您在该父菜单项或其子项之一的页面上,它将保持显示该子菜单,除非您将鼠标悬停在
我很亲近。我怎样才能在我的 上有 MENU 1。 fiddle显示为默认菜单选项,然后在 MENU 2 悬停时更改? 提前致谢。继续编码! :) 最佳答案 要根据您的响应完全远离 jquery 进行编
我是一名优秀的程序员,十分优秀!