C# 将我的新程序与Windows集成

C# 将我的新程序与Windows集成,c#,.net,windows,user-interface,C#,.net,Windows,User Interface,在SO社区的慷慨和有见地的帮助下,我编写了一个日志解析器: 现在,我希望能够右键单击其中一个日志,从Open With.中选择MyNewLogParser。。在我的新程序中打开它 这需要我 更改有关我的XP安装的内容,以便在下拉列表中显示我的程序 更改程序,使其知道如何打开所选文件并运行解析。 这些东西叫什么,是怎么做的?我不知道要搜索什么…要打开所选文件,需要实现命令行参数。查看Program.cs文件和主要功能 您希望其签名看起来像这样: static void Main(string[]

在SO社区的慷慨和有见地的帮助下,我编写了一个日志解析器:

现在,我希望能够右键单击其中一个日志,从Open With.中选择MyNewLogParser。。在我的新程序中打开它

这需要我

更改有关我的XP安装的内容,以便在下拉列表中显示我的程序 更改程序,使其知道如何打开所选文件并运行解析。
这些东西叫什么,是怎么做的?我不知道要搜索什么…

要打开所选文件,需要实现命令行参数。查看Program.cs文件和主要功能

您希望其签名看起来像这样:

static void Main(string[] args)
{
}
args数组将是传递给应用程序的命令行参数数组。因此,如果运行MyNewLogParser myLog.txt,args[0]的内容将是myLog.txt

对于OpenWith。。。菜单,您需要修改注册表。在Regedit中搜索OpenWith键,您将找到它。在我的机器Windows 7上,它位于HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts中。我不确定它是如何工作的,但谷歌应该能够帮助你


如果您不想以编程的方式进行,我很确定有一些菜单项允许您选择将打开文件的应用程序。不过,我想不起来XP上是什么。或者,您可以通过“文件夹选项”对话框中的选项卡将文件扩展名与应用程序关联,以便双击它打开应用程序。

假设您的文件日志具有特定的文件扩展名,则需要在注册表中添加OpenWithList键。有关更多信息,请参阅此MSDN页面:


您是否考虑过使用日志解析器2.2:我的解析器已经编写好了,我只需要将它连接到Windows安装并修改它以自动打开所选文件。我如何在选择框中获取我的程序?哪个选择框?一个开放的与。。。如果我记得的话,它只是一个文件浏览器,所以你可以导航到你的程序安装的地方并选择可执行文件。当我第一次使用它时,它会填充列表吗?我不想每次使用exe文件时都要选择它…启动XP VM后,您的选项似乎是编辑注册表或使用“打开方式”对话框中的“浏览”按钮导航到解析器。后者可能更简单、更安全。在“打开方式”对话框中有一个复选框,用于始终将所选程序与此类文件一起使用。这将使解析器与日志文件的文件扩展名相关联。即使您没有选择它,您的解析器也应该在选择一次后添加到“打开方式”菜单项中,是的。