winform自动添加同级目录下可执行文件的快捷方式到右键菜单中
/// <summary>
/// 追加同目录下可执行文件到右键菜单中
/// 在form的Load事件中调用:new clsContextMenuStrip(this.FindForm());
/// </summary>
public class clsContextMenuStrip
{
//窗体
System.Windows.Forms.Form form;
//右键菜单
System.Windows.Forms.ContextMenuStrip menu;
//当前可执行文件目录
string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
/// <summary>
/// 追加同目录下可执行文件到右键菜单中
/// 调用方法:new clsContextMenuStrip(this.FindForm());
/// </summary>
public clsContextMenuStrip(Form f)
{
form = f;
menu = f.Controls.Owner.ContextMenuStrip;
if (menu == null)
{
menu = new ContextMenuStrip();
form.Controls.Owner.ContextMenuStrip = menu;
}
Init();
}
/// <summary>
/// 获取当前程序目录下的所有exe,追加到右键菜单中
/// </summary>
private void Init()
{
var currExePath = Process.GetCurrentProcess().MainModule.FileName;
var files = Directory.GetFileSystemEntries(path, "*.exe", SearchOption.AllDirectories);
foreach (var filePath in files)
{
//排除本身
if (currExePath.Equals(filePath, StringComparison.CurrentCultureIgnoreCase))
continue;
string name = Path.GetFileNameWithoutExtension(filePath);
//获取exe的图标
Image image = Image.FromHbitmap(Icon.ExtractAssociatedIcon(filePath).ToBitmap().GetHbitmap());
ToolStripMenuItem item = new ToolStripMenuItem();
item.Text = name;
item.Image = image;
item.ToolTipText = filePath;
item.Click += new EventHandler(item_Click);
menu.Items.Add(item);
}
}
//点击时打开程序
void item_Click(object sender, EventArgs e)
{
ToolStripMenuItem item = sender as ToolStripMenuItem;
Process.Start(item.ToolTipText);
}
}
当写的小程序多了,每次找起来也麻烦,就想到写这样一个功能,然后在需要的程序中都加入这样的代码,这样打开任意一个程序时也可以方便的调用其他程序。
当目录下的可执行文件过多时,程序初始化时间会很长,这个可以根据自己需要修改一下
winform自动添加同级目录下可执行文件的快捷方式到右键菜单中的更多相关文章
- 在生成的Debug中test.exe的同级目录下创建一个文件,如TestLog.log
在上次编写一个日志类库时,想在.exe的同级目录下创建.log文件,对于这个路径的获得很简单,调用GetModuleFileName()函数即可.但是要去掉.exe而换成.log时,由于对字符串处理不 ...
- 将Sublime Text3添加到右键菜单中
卸载了Sublime Text2,安装了最新版本的Sublime Text3,不过一直不在右键菜单中,每次使用都需要从打开方式中选,所以决定添加,有如下2种方法. 添加到右键菜单 方法一(推荐) 在S ...
- 禁止PotPlayer自动添加同一目录内连续文件
问题描述 默认情况下PotPlayer会自动向播放列表添加相似文件 统一目录下大量连续文件会被同时加载 解决办法 参数选项-基本-基本设置-相似文件策略 设置为仅打开选定的文件
- Python实现插件机制——自动import一个目录下的所有.py文件
假设有这样一个目录结构: /src main.py /plugins __init__.py a.py ...
- 在Maven项目中添加代码目录下的配置文件
问题 Maven 是约定大于配置的一种工具, 通常约定在 src/main/resources 目录下放配置文件, 当我们想要在 src/main/java 代码目录下放置配置文件用来测试, Mave ...
- nuxt.js如何实现同级目录下建多个动态路由,并将链接设置.html后缀
nuxt.js中如果在同级目录中建两个_xxxx.vue的动态路由文件,那么页面跳转始终是跳的一个页面,如何解决这个问题呢?下面举个栗子: 第一步:新建两个页面文件 第二步:在nuxt.config. ...
- python_自动查找指定目录下的文件或目录的方法
代码如下 import os def find_file(search_path, file_type="file", filename=None, file_startswith ...
- 将程序sublime添加到右键菜单中
新建wangzhaobo.bat复制一下代码, 粘贴保存,然后打开. @echo Off :START CLS echo *====================================== ...
- java读取存在src目录下和存在同级目录下的配置文件
如果我有个文件存在src下一级的地方和存在src同级的目录应该怎么用相对路径去获取如图: 一.如果存在src同级的地方应该是InputStream in = new BufferedInputStre ...
随机推荐
- ASPxGridView改变列颜色
protected void ASPxGridView1_HtmlDataCellPrepared(object sender, ASPxGridViewTableDataCellEventArgs ...
- 查看oracle SID
源地址:http://blog.sina.com.cn/s/blog_5f20c4740100dodl.html SID就是数据库的实例 select instance_name from V$in ...
- struts (四) path DMI
1.path 常使用绝对路径 path = request.getContextPath(); basepath = request.getscheme+"://"+request ...
- svn: E175002: can not read HTTP status line
问题:eclipse连接svn:https://bdsvn-pc/svn/Project,报错svn: E175002: can not read HTTP status line 解决办法:将域名改 ...
- TFS如何设置在客户端独占签出
步骤:1.打开源代码管理资源管理器,点击“工作区”的下拉框,选择,“工作区”2.选择编辑3.选择“高级”4.进入编辑工作区,tfs中“位置”选项中,默认的时本地,如果想独占签出,这里我们就必须设置成“ ...
- sql server 2008 System.Data.SqlClient.SqlException (0x80131904): 查询处理器未能为执行并行查询启动必要的线程资源 处理方法
修改并行度: 修改了这个“最大并行度”,如果再没出现 cxpacket应该没问题了 参考资料:http://jingyan.baidu.com/article/5d6edee22daf8799eade ...
- android 基础控件 EditText
EditText 简介: EditText 控件继承 TextView ,它有TextView的所有属性和方法,并且自身是可编辑的: extends TextView java.lang.Object ...
- 008 The Generics In JAVA
泛型是JAVA的核心特型之一,我们先看一个例子: 没有使用泛型前,如下: import java.util.ArrayList; import java.util.List; public class ...
- 手机app测试之我见
app端功能测试不是单纯的点点点,在实际的工作中,测试小白需要从业务入手,熟悉基本测试点.测试技巧和方法,以点带面,从功能和思维入手,避免眼高手低: app端测试,首先我们需要考虑不同的机型系统.不同 ...
- Software: MPEG-7 Feature Extraction Library
Software MPEG-7 Feature Extraction Library : This library is adapted from MPEG-7 XM Reference Softwa ...