C#中调用资源管理器(Explorer.exe)打开指定文件夹 + 并选中指定文件 + 调用(系统默认的播放类)软件(如WMP)打开(播放歌曲等)文件

c语言仿Windows资源管理器,仿windows资源管理器 非常实用的入门程序,Windows资源管理,调取资源图片,鼠标右键新增、删除、修改文件夹和文件。资源下载此资源下载价格为2D币,请先登录资源文件列表TreeDirectory/TreeDirectory/BaseInfo.cs,1234TreeDirectory/TreeDirectory/bin/C#仿Windows资源管理器.rar,135757TreeDirectory/TreeDi... 阅读详情
AI摘要

本文介绍如何使用C#的System.Diagnostics.Process.Start方法打开文件夹、文件,以及如何通过Explorer打开并选中指定文件。提供了不同场景下的具体代码实例。

【解决过程】

1.找了下,参考:

C#打开文件夹

C#用资源管理器打开指定文件夹

去添加代码:

?
1
2
3
4
5
6
private void lklOpenFolder_LinkClicked( object sender, LinkLabelLinkClickedEventArgs e)
{
     //open folder
     System.Diagnostics.Process.Start( "Explorer.exe" , "C:\\" );
     //System.Diagnostics.Process.Start("Explorer.exe", txbSaveTo.Text);
}

运行一下,试试效果,发现是可以调用资源管理器打开文件夹的:

can open window_thumb

【总结】

C#中,调用资源管理器打开特定文件夹,其实和之前使用IE打开对应的网站链接,效果是类似的,都是使用的是System.Diagnostics.Process.Start

去打开一个东西的。

对应的,就想起来了,再去试试,不指定使用Explorer的话,是不是也还是和之前一样,可以自动检测,使用默认程序打开的:

?
1
2
3
4
5
6
7
private void lklOpenFolder_LinkClicked( object sender, LinkLabelLinkClickedEventArgs e)
{
     //open folder
     //System.Diagnostics.Process.Start("Explorer.exe","C:\\");
     System.Diagnostics.Process.Start( "C:\\" );
     //System.Diagnostics.Process.Start("Explorer.exe", txbSaveTo.Text);
}

果然,运行结果是一样的,会去找到默认的程序,即Explorer.exe,去打开路径的。

 

【再总结】

C#中,使用System.Diagnostics.Process.Start可以打开一个东西,

此东西,会根据你传入的参数和指定的程序,实不同的效果:

  • 如果指定了所调用的程序,则会使用该程序,打开该内容
  • 如果没有指定程序,则会寻找系统默认的程序,打开该内容

而对于该内容,目前已经见到过:

  • 如果是路径,比如C:\,则会调用(默认的)资源管理器打开对应的文件夹
  • 如果是网址,比如http://www.crifan.com,那么会调用(默认的)IE浏览器去打开

所以,以后再想要去打开其他东西,则也是按照同样的逻辑去使用System.Diagnostics.Process.Start,即可。


【后记 2012-09-24】

后来又遇到需求是,通过Explorer打开对应文件夹,并选中该文件。

后来找了下,参考:

C#如何打开选中的文件夹并指向选中的文件

然后写代码之前,就去查了下资料:

先去看

System.Diagnostics.Process.Start

的语法:

Process.Start 方法

名称说明
Process.Start ()启动(或重用)此Process 组件的 StartInfo 属性指定的进程资源,并将其与该组件关联。

由 .NET Compact Framework 支持。

Process.Start (ProcessStartInfo)启动由包含进程启动信息(例如,要启动的进程的文件名)的参数指定的进程资源,并将该资源与新的Process 组件关联。

由 .NET Compact Framework 支持。

Process.Start (String)通过指定文档或应用程序文件的名称来启动进程资源,并将资源与新的Process 组件关联。
Process.Start (String, String)通过指定应用程序的名称和一组命令行参数来启动一个进程资源,并将该资源与新的Process 组件相关联。

由 .NET Compact Framework 支持。

Process.Start (String, String, SecureString, String)通过指定应用程序的名称、用户名、密码和域来启动一个进程资源,并将该资源与新的Process 组件关联起来。
Process.Start (String, String, String, SecureString, String)通过指定应用程序的名称、一组命令行参数、用户名、密码和域来启动一个进程资源,并将该资源与新的Process 组件关联起来。

注意到,此处没有三个参数的,要么是2个参数,要么是4个或5个参数。

所以,也很明显,此函数所要执行的动作,取决于所调用的程序,此处即为Explorer。

所以再去查:

explorer 命令参数及其应用

参数                         结果  
/n                           为默认选择内容打开一个新的单窗格窗口。

                             默认选择内容通常是安装 Windows 的驱动器的根目录。  
/e                           使用默认视图启动 Windows 资源管理器。  
/e, <object>                 使用默认视图启动 Windows 资源管理器并把焦点定位在指定文件夹上。  
/root, <object>              打开指定对象的一个窗口视图。  
/select, <object>            打开一个窗口视图,指定的文件夹、文件或程序被选中。

 

备注:请注意命令中“/root”参数后面的逗号。  
Explorer /select, C:/Windows/Cursors/banana.ani

此命令启动 Windows 资源管理器后选定“C:/Windows/Cursors/banana.ani”文件。

备注

请注意命令中“/select”参数后面的逗号。  

所以,很清楚,就是通过Explorer的/select加上逗号,加上文件的绝对路径,来实现打开并选中文件的。

所以就去写出代码:

?
1
System.Diagnostics.Process.Start( "Explorer.exe" , "/select," + curFullFilename); // Note: only 2 para !!!

然后就可以实现对应的效果了:

这个是要选择的文件:

file to select

可以实现通过资源管理器打开并选中该文件:

open explorer and select file

 

同理,对于想要调用,操作系统的当前的,默认为WMP,播放歌曲类软件,去打开播放歌曲等文件的话,也直接可以通过System.Diagnostics.Process.Start去实现了:

?
1
2
//open file
System.Diagnostics.Process.Start(curFullFilename);

当打开的是一个mp3文件时,会自动调用当前的,系统中已和mp3文件关联的播放软件,此处是WMP,去播放歌曲了:

can paly music file

 

【总结】

至此,越加清楚了System.Diagnostics.Process.Start的含义和用法了。

C#中:

  • 打开单个文件(当文件是歌曲时,则会自动调用mp3播放软件去打开):
    • ?
      1
      System.Diagnostics.Process.Start(curFullFilename);
  • 调用资源管理(Explorer.exe)打开文件夹:
    • 使用默认程序(一般来说,也都是资源管理器)打开文件夹:
      • ?
        1
        System.Diagnostics.Process.Start( "C:\\" );
    • 指定使用资源管理器打开文件夹:
      • ?
        1
        System.Diagnostics.Process.Start( "Explorer.exe" , "C:\\" );
  • 调用资源管理器打开文件夹并选中文件:
    • ?
      1
      System.Diagnostics.Process.Start( "Explorer.exe" , "/select," + curFullFilename);

 

注意:

打开文件夹并选中文件的实际过程,并非先通过传递文件夹参数去打开文件夹,然后再选择文件,

而是,直接通过传入文件的绝对路径,打开文件同时并选中文件的。

所以参数只需要

/select,fullFilePath

即可,而不需要两个参数。

winform 实现资源管理器 winform界面实现Windows风格的资源管理器界面,左边树状的文件目录,可以自定义加文件夹图标 立即下载

相关推荐

C#实现资源管理器

用C#获取电脑上磁盘,并显示电脑磁盘上的内容,可以搜索文件,新建文件夹,复制,粘贴,剪切,重命名等基本功能,对文件操作类有很详细的代码解释.

C#写的仿照Windows资源管理器的小程序:File Explorer(含代码)

初学C#写个小程序,仿照Windows资源管理器。基本功能都已实现,个别地方代码懒得写了。代码写得比较啰嗦,个别已知的小Bug也没改。欢迎留言。下载地址(含代码):http://download.csdn.net/source/1013102 截图:        

郑智仁的备忘录 1万+

C# 实现Windows文件资源管理器

C# 实现Windows文件资源管理器 内含全部源码

【已解决】C#中调用资源管理器(Explorer.exe)打开指定文件夹 + 并选中指定文件 + 调用(系统默认的播放类)软件(如WMP)打开(播放歌曲等)文件

【问题】 折腾: C#中如何在右下角添加提示窗口,用于显示打开文件和文件夹 的过程中,需要实现,点击对应LinkLabel后,调用资源管理器,打开对应的文件夹。 【解决过程】 1.找了下,参考: C#打开文件夹 C#用资源管理器打开指定文件夹 去添加代码: ? 1 2 3 4 5 6

chen8643766的专栏 5085

OpenClaw + Qwen 模型集成飞书完整教程

1、环境要求:- **操作系统**: Windows- **Node.js**: v18+ (推荐 v20+)- **飞书账号**: 需要企业管理员权限(创建应用用)或者个人飞书账号创建个人应用- **网络**: 能访问 GitHub 和飞书开放平台2、安装Node.js下载完成后验证是否安装成功,cmd窗口输入“node --version”,显示版本号即为安装成功(如下图所示)3、获取大模型APIKEY(这里以Qwen为例)

qq_29609427的博客 478

Yolov2 训练时anchor是如何使用的?build_target

0.简略描述 1.将真值检测框变换到特征图尺度上 2.计算以特征图每个网格中心为中心点时所有锚框与真值检测框的交并比 3.取与真值检测框交并比最大的锚框的id,及真值检测框中心所在cell的id,有此,可将真值检测框与预测结果对应起来 4.计算位置回归损失,置信度损失,分类损失 1,网络的输出 图1 yolov2 网络对于检测框位置大小的输出是: 对于1个batch网络的输出的shape为[batch_size, H*W*num_anchors, 5+num_classes], 其中: num_

机器人视觉感知 2818

[转]C#中调用资源管理器(Explorer.exe)打开指定文件夹 + 并选中指定文件 + 调用(系统默认的播放类)软件(如WMP)打开(播放歌曲等)文件...

原文:http://www.crifan.com/csharp_call_explorer_to_open_destinate_folder_and_select_specific_file/ C#中调用资源管理器(Explorer.exe)打开指定文件夹 + 并选中指定文件 + 调用(系统默认的播放类)软件(如WMP)打开(播放歌曲等)文件 折腾: C#中如何在右下角添加提...

weixin_30917213的博客 252

embedding计算过程

文章目录embedding计算过程(错了跟我讲,我会改)参考示例个人理解过程图示总结(基于pytorch) embedding计算过程(错了跟我讲,我会改) 参考示例 https://www.jianshu.com/p/63e7acc5e890 个人理解过程图示 总结(基于pytorch) 总的来说,就是将独热向量的长度(对应嵌入层的num_embeddings)转变为嵌入层的emdedding_size(而独热向量的维数就是你的数据中一共产生了多少个不一样的词,至少是这么多)。 数据的变化,将二维

纸上得来终觉浅,绝知此事要躬行! 1632

C#调用explorer.exe打开指定目录

C#程序上有一个按钮,点击打开电脑上对应的目录即可。

lxyoucan的博客 1451

告别CPU空转!用STC8的SPI+DMA高效驱动上百颗WS2812B灯珠

本文详细解析了如何利用STC8单片机的SPI+DMA外设高效驱动WS2812B全彩灯珠,解决传统软件延时驱动方式在长灯带应用中的性能瓶颈。通过硬件方案设计、数据格式转换和DMA传输配置,实现高达400Hz的刷新率和低于5%的CPU占用率,适用于大规模灯光项目。

weixin_30847939的博客 397

librealsense2 camera.so: undefined symbol:ZN2cV3MatC1EV解决笔记记录

先参考的这个兄弟的办法虽然没解决但是提供了大方向感谢; realsenseD400系列相机报错:undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE解决方案 后解决办法参考 No GPU usage on jetson xavier NX · Issue #2326 · IntelRealSense/realsense-ros · GitHubOpenCV_DIR" to a directory containing one of the above f

梁俊星的博客 3516

C#仿资源管理器

本案例是使用C#编写的,编windows资源管理器。以下是效果图: 该案例,没有使用架构分层实现,现只做参考使用。 参考代码下载: C#仿windows资源管理器源代码 转载于:https://www.cnblogs.com/tonney/archive/2011/06/30/2094914.html...

weixin_30369041的博客 350

宿舍网速跑不满?可能是PPPoE的锅!实测OpenWrt切换DHCP+深澜认证,轻松跑满校园百兆宽带

本文探讨了校园网PPPoE协议的性能瓶颈问题,并提供了通过OpenWrt路由器切换DHCP+深澜认证的技术方案,实测可显著提升网速至百兆宽带满速。文章详细介绍了配置步骤、性能对比及常见问题解决方案,帮助用户优化校园网体验。

weixin_31310913的博客 383

【C语言小程序】调用CMD命令使用文件资源管理器打开FTP

写在前面,大一的时候学习C语言,没事儿干的时候就研究用这个C语言玩一些小的程序,学校有各种FTP资源,于是就直接用C语言写了一个直接打开FTP的小程序(主要是很多人都不知道FTP的地址) 现在就把源码贴出来,需要的朋友自己带走 #include<stdlib.h> //必须要引入这个windows.h的头文件 #include<windows.h> int main() { //调用C

baofeidyz 2896

SPV1050低功耗微功率太阳能充电管理模块原理图设计,已量产

在物联网应用快速普及的今天,户外低功耗传感器(如土壤温湿度、环境光照、无线节点等)的供电始终是行业痛点 —— 传统锂电池不仅需要定期更换,维护成本高,还难以满足 “终身免维护” 的场景需求。为此,我们设计了一款专为 1V~3V 低电压小型太阳能板优化的微功率太阳能电源管理模块,结合 USB 备用充电路径,实现了低功耗传感器的长期自主供电。

不脱发的程序猿 446

52、Power BI Desktop 数据筛选全攻略

本文全面介绍了Power BI Desktop中各类数据筛选功能的使用方法,涵盖布尔型数据筛选、高级文本筛选、Top N筛选、可视化级别、页面级别和报告级别筛选等核心操作。通过详细步骤、流程图和实际案例,帮助用户深入理解筛选器的层级关系与综合应用技巧,并提供常见问题解决方案,助力高效精准的数据分析与可视化展示。

linux6sysadmin的博客 110

C# 仿windows资源管理器

效果如图:  实现代码: using System; using System.IO; using System.Windows.Forms; using System.Configuration; namespace 磁盘管理 { public partial class frmMain : Form { private bool isfirst = ...

u012408847的博客 3675

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

c# 仿Windows资源管理器

1.上网,了解需要的步骤。 2.设计资源管理器功能。 3.开始实现细节功能。 首先理解treeview 和 listview 的使用方法。 参考资料:  listview基本使用方法 点击打开链接 treeview 基本使用方法    (msdn)点击打开链接    listview和treeview 打造出基本的资源浏览器视图。点击打开链接 中间知道了怎么添加控件事件

jackcily的博客 6341

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

C#关闭和启动Explorer.exe

C#关闭和启动explorer.exe程序

weixin_43152819的博客 1292

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C#实用教程文件操作实验(模拟资源管理器)

C#窗体 模拟电脑文件资源管理器

qq_54032440的博客 2171

基于C#开发的适合Windows开源文件管理器

使用DDD从零构建一个完整的系统推荐一个功能强大且直观的开源文件管理器,适用于Windows平台。01项目简介该项目是一个基于C#开发、开源的文件管理器,适用于Windows,界面UI美观、方便轻松浏览文件。此外,支持创建和提取压缩文件,使文件压缩和解压缩变得轻而易举。它具有以下功能和特点:多个选项卡和窗格:具有多个选项卡和窗格,可以方便地浏览和操作文件。列视图和上下文菜单:支持列视图和上下文菜单...

dotNET跨平台 611

判断进程是否有管理员权限

c语言判断是否有管理员权限

qq_41490873的博客 836

调用explore打开指定文件所在的文件夹,并把目标文件设为选定状态,甚至.lnk文件也能自动找到它的目标执行程序文件。

添加自定义的三个全局函数GetShellFolderViewDual、XZSHOpenFolderAndSelectItems和FindTarget,注意它们的先后顺序,用的时候使用如下方式就行了:--------------------------------------------CString strFileName="c://readme.txt";FindTarget(strFileNa

Snow_Ice11111的专栏 3231

C#实现Windows资源管理器 C# File Explorer

C#实现Windows资源管理器 C# File ExplorerC#实现Windows资源管理器。界面布局添加splitcontainer控件增加工具栏控件toolstrip初始化时为treeview中添加内容并为有下级目录的文件目录和驱动器增加“+”号 C#实现Windows资源管理器。 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑...

u011745205的博客 6060
上一篇: C# Process.Start()方法详解
下一篇: c#Process.Start无法启动exe程序的问题
我心V飞翔
博客等级 码龄16年 55粉丝 82原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值