将我的新程序与Windows集成

时间:2010-05-26 12:36:37

标签: c# .net windows user-interface

我已经编写了一个日志解析器,并得到了SO社区的一些慷慨和富有洞察力的帮助:

Keeping the UI responsive while parsing a very large logfile

现在,我希望能够右键单击其中一个日志,从“打开方式...”中选择“MyNewLogParser”,然后在我的新程序中打开它。

这需要我

  • 更改我的XP安装内容以在下拉列表中显示我的程序
  • 更改程序,使其知道打开所选文件并运行解析。

你怎么称呼这些东西,它是如何完成的?我不知道该搜索什么...

2 个答案:

答案 0 :(得分:0)

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

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

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上是什么。或者,您可以通过“文件夹选项”对话框中的选项卡将文件扩展名与应用程序相关联,以便双击它可以打开您的应用程序。

答案 1 :(得分:0)

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

http://msdn.microsoft.com/en-us/library/bb166549%28VS.80%29.aspx