使我的应用程序成为打开所有 .txt 文件的默认应用程序

2024-04-17

发布我的应用程序后,我可以将我的应用程序 exe 文件指定为打开 .txt 文件的默认文件。这里我如何获取调用应用程序的文件的文件路径?

    public MainWindow()
    {
        InitializeComponent();
        string filePath = "";
        FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
        StreamReader sr = new StreamReader(fs);
        txt.Text = sr.ReadToEnd();
        sr.Close();
        fs.Close();
    }

当用户从资源管理器双击某个 txt 文件时,我如何获取文件路径?


有两种方法可以获取 .NET 中的命令行参数。您可以将参数列表放在您的Main方法,或者您可以使用Environment.GetCommandLineArgs http://msdn.microsoft.com/en-us/library/system.environment.getcommandlineargs(v=vs.110).aspx method.

var allArgs = Environment.GetCommandLineArgs();
// The first element is the path to the EXE. Skip over it to get the actual arguments.
var userSpecifiedArguments = allArgs.Skip(1);

由于您使用的是 WPF(因此不控制Main方法),你最好的选择是GetCommandLineArgs.

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

使我的应用程序成为打开所有 .txt 文件的默认应用程序 的相关文章

  • 我应该在单元测试中使用 AutoMapper 吗?

    我正在为 ASP NET MVC 控制器方法编写单元测试 这些控制器依赖于IMapper 我创建的用于抽象 AutoMapper 的接口 使用 Castle Windsor 通过构造函数注入传入 动作方法使用IMapper从领域对象映射到
  • Linq Where 本地计数器关闭在 VS watch 中的结果不同

    我尝试删除前 3 个元素array与 LinQWhere扩展功能 这是一个例子 var array new 1 2 3 4 5 6 7 8 9 var count 3 var deletedTest1 0 var test1 array W
  • 对数字进行向上和向下舍入 C++

    我试图让我的程序分别向上和向下舍入数字 例如 如果数字是3 6 我的程序应该四舍五入最接近的数字 4 如果该数字是3 4 它将向下舍入为 3 我尝试使用ceil库获取 3 个项目的平均值 results ceil marks1 marks2
  • 使用 VSTO 更改 Outlook 设置

    我刚刚花了大约 4 个小时试图弄清楚如何以编程方式检索 设置 Microsoft Outlook 2010 的 Outlook 设置 我所说的 设置 是指文件 选项 邮件下的设置 我想做的是检索用户设置的设置列表 自动化我们每天需要在某些消
  • 根据拦截和返回值自动重试客户端WCF调用

    是否可以拦截 WCF 调用的结果并重试该操作 例如 操作的返回值可能包含状态代码 指示我传递到原始调用的会话令牌已过期 在这种情况下 我可以检索新的会话令牌并使用新的会话令牌重试调用 是否可以通过使用 WCF 拦截返回值 检查它 然后以对操
  • glDrawElements 只绘制半个四边形

    这是我的功能 void Object draw2 if mIsInitialised return Tell OpenGL about our vertex and normal data glEnableClientState GL VE
  • 将 RoutedEvent 转换为 WPF 中 MVVM 模式的命令

    如何将 Checkbox checked 路由事件转换为 MVVM 模式的命令 参考 考虑按钮单击路由事件 当我们为按钮分配命令时 button click 事件被视为命令 它执行相应的命令 我用谷歌搜索了它 我得到了 EventBehav
  • 如何检测斑点并将其裁剪成 png 文件?

    我一直在开发一个网络应用程序 我陷入了一个有问题的问题 我会尝试解释我想要做什么 在这里您看到第一个大图像 其中有绿色形状 我想要做的是将这些形状裁剪成不同的 png 文件 并使它们的背景透明 就像大图像下面的示例裁剪图像一样 第一张图像将
  • 从代码访问 WPF 控件验证规则

    XAML
  • C#:使用 System.Text 和 System.Text.RegularExpressions 之间的区别

    在 ASP NET C 应用程序中 我注意到为了使用 Regex 和 StringBuilder 我必须将两者都放在 using System Text using System Text RegularExpressions 从简单的角度
  • _mm_max_ss 在 clang 和 gcc 之间有不同的行为

    我正在尝试使用 clang 和 gcc 交叉编译一个项目 但在使用时发现一些奇怪的差异 mm max ss e g m128 a mm set ss std numeric limits
  • 当格式字符串包含“{”时,String.Format 异常

    我正在使用 VSTS 2008 C Net 2 0 执行以下语句时 String Format 语句抛出 FormatException 有什么想法是错误的吗 这是获取我正在使用的 template html 的位置 我想在 templat
  • 在生产者-消费者情况下使用条件变量

    我正在尝试了解条件变量以及如何在生产者 消费者情况下使用它 我有一个队列 其中一个线程将数字推入队列 而另一个线程从队列中弹出数字 当生产线程放置一些数据时 我想使用条件变量向消费线程发出信号 问题是有时 或大多数时候 它只将最多两个项目推
  • 在 C# 中赋值后如何保留有关对象的信息?

    我一直在问我的想法可能是解决方案 https stackoverflow com questions 35254467 is it possible in c sharp to get the attributes attached to
  • 为什么 C 函数不能返回数组类型?

    我是 C 语言新手 想知道 为什么 C 函数不能返回数组类型 我知道数组名是数组第一个值的地址 而数组是 C 中的二等公民 您自己已经回答了这个问题 数组是二等公民 C 按值返回 数组不能按值传递 因此不能返回它们 至于为什么数组不能按值传
  • 通过 MSBuild 调用 cl.exe 时无限期挂起

    我正在尝试在我的 主要是 C 项目上运行 MSBuild 想象一下一个非常庞大的代码库 Visual Studio 2015 是有问题的工具集 Windows 7 SP1 和 VS 2015 更新 2 即使使用 m 1 从而迫使它仅使用一个
  • 改进C++逐行读取文件的能力?

    我正在解析大约 500GB 的日志文件 我的 C 版本需要 3 5 分钟 我的 Go 版本需要 1 2 分钟 我正在使用 C 的流来流式传输文件的每一行以进行解析 include
  • SSBO 是更大的 UBO?

    我目前正在 OpenGL 4 3 中使用 UBO 进行渲染 以将所有常量数据存储在 GPU 上 诸如材料描述 矩阵等内容 它可以工作 但是 UBO 的小尺寸 我的实现为 64kB 迫使我多次切换缓冲区 减慢渲染速度 我正在寻找类似的方法来存
  • 如何使用 g++ 在 c++ 20 中使用模块?

    我读了这个链接https gcc gnu org wiki cxx modules https gcc gnu org wiki cxx modules并尝试从该网站复制以下示例 我已经知道这个编译器部分支持模块系统 注 我用的是windo
  • 如何使复选框不可选择?

    我想知道你是怎么做的CheckBox在c 中无法选择 我认为这会是类似 SetSelectable false 之类的东西 但我似乎看不到该方法 I found CanSelect但这似乎是只读属性 您可以设置自动检查 http msdn

随机推荐

  • 对行进行排序后,Ag-grid 拖放不起作用

    在 Ag grid react 上对行进行排序后 拖放停止工作 在排序之前 拖放已全部设置完毕并且运行良好 postSort API 似乎没有什么可以实现我需要的东西 重置行 甚至设置可拖动 就像选择一样 postSort nodes gt
  • 从谷歌地图中删除标记簇[不仅仅是标记]

    在我的phonegapp cordova应用程序中 我使用谷歌地图工具 有时我需要更改其上显示的点 我发现了一些有用的代码here https developers google com maps documentation javascr
  • 集成 Gitlab 和 TravisCi

    有没有办法将 Travis Ci 与 Gitlab 集成 或者至少使用用户名和密码而不是 Github 凭据登录 TravisCi 不 截至目前 Travis CI 与 GitHub 严格绑定 虽然确实有关于减少这一要求的讨论 但它仍然存在
  • 为什么 std::pow(double, int) 从 C++11 中删除?

    在调查的同时计算 p q 求幂 的有效方法 其中 q 是整数 https stackoverflow com questions 5625431回顾 C 98 和 C 11 标准 我注意到显然std pow double int C 11
  • Google 脚本:将列中的新值附加到另一个工作表

    我一直在研究这个项目 但无法让它按照我想要的方式工作 我有两张表 其中一列具有唯一 ID 我需要确保每当在一张工作表 Sheet1 中添加新 ID 时 它都会被复制到另一张工作表 Sheet2 中的最后一个空行 如果该值已经存在 请确保它忽
  • 解析日期后从 Oracle Select 语句返回数字

    我想编写一个 Oracle SQL select 语句 告诉它是否可以通过返回代码来解析给定格式的日期字符串 失败时返回零 异常 成功时返回正数 SELECT CASE WHEN PARSING SUCCESSFUL ie to date
  • 使用字典替换字符串

    我正在学习 python 并处理字符串 以找到使用字典进行字符串替换的更好方法 我有一个包含自定义占位符的字符串 如下所示 placeholder prefix placeholder suffix dict key1 string key
  • Azure Function-使用 python 代码解压缩受密码保护的文件

    我正在尝试解压缩存储在 Azure Blob 容器上的受密码保护的文件 我想将其提取到 Azure Blob 本身上 我已经使用Python创建了一个Azure函数应用程序 目前它是基于定时器控制事件的 来测试东西 以下是我的代码 我不确定
  • 启用了 Delphi VCL 样式的平面工具栏按钮?

    如果没有启用 VCL 样式 我的 TActionToolbar 看起来就像平面工具栏 然而 如果我启用几乎任何 VCL 样式 突然间所有工具栏按钮看起来都像 3d 按钮 VCL Style Viewer 应用程序显示具有平面和类似按钮外观的
  • 是否可以在 Multimarkdown 中执行“制表符”?

    有没有办法在Multimarkdown语法中实现制表符 我的目标是这样的 项目 选项卡 gt 值 其他项目 选项卡 gt 值 还有一项 gt 价值 我可以意识到通过table https stackoverflow com a 405896
  • AngularJs 指令加载事件

    我刚刚开始使用 AngularJs 指令 使用资源here https docs angularjs org guide directive here http www sitepoint com practical guide angul
  • 如何从 perl 中的字符串变量复制模式

    我需要复制之间的句子内容 and 使用perl 例如说 temp 06 18 2012 08 35 35 PID 2150 现在我需要复制该值2150 之间 and 到一个变量 temp2 使用正则表达式可以轻松实现这一点 my temp2
  • 滚动按钮 - 使用 jQuery

    因此 我正在制作一个列表 您可以通过单击按钮滚动浏览该列表 它还需要有一个可见且工作的滚动条 但我不知道如何编辑我的代码以使它们都能正常工作 我可以让按钮或滚动条工作 但不能同时工作 有人可以帮忙吗 var itemsToShow 3 sc
  • MediaPlayer 无法播放没有扩展名的文件名

    当我尝试玩本地文件组件没有文件扩展名System Windows Controls MediaElement失败并显示 FileNotFoundException 消息 媒体文件下载失败 null 内部异常是System Runtime I
  • 验证 angularjs 中的密码指令

    谁能解释一下这段代码是如何工作的 HTML 标记
  • act_window 中的 openerp 上下文

    在 OpenERP 6 1 中 这个 act window
  • 将自定义列添加到 Propel 模型?

    目前我正在使用以下查询 claims ClaimQuery create c gt leftJoinUser gt withColumn CONCAT User Firstname User Lastname name gt withCol
  • javascript textarea 计算每行字符数

    我正在尝试计算文本区域每一行中的字符数 我尝试修改此代码来计算音节http jsfiddle net 5Zwkq 19 http jsfiddle net 5Zwkq 19 没有成功 任何帮助 将不胜感激 function CharCoun
  • 在 Swift 中将 bytes/UInt8 数组转换为 Int

    如何将4字节数组转换为对应的Int let array UInt8 gt let value Int Example Input 0 0 0 x0e Output 14 我在互联网上找到的一些代码不起作用 let data NSData b
  • 使我的应用程序成为打开所有 .txt 文件的默认应用程序

    发布我的应用程序后 我可以将我的应用程序 exe 文件指定为打开 txt 文件的默认文件 这里我如何获取调用应用程序的文件的文件路径 public MainWindow InitializeComponent string filePath