代码之家  ›  专栏  ›  技术社区  ›  Carlos

将我的新程序与Windows集成

  •  0
  • Carlos  · 技术社区  · 14 年前

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

    Keeping the UI responsive while parsing a very large logfile

    现在,我想能够右键单击其中一个日志,从“open with…”中选择“MyNewLogParser”,并在我的新程序中看到它打开。

    这需要我

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

    你把这些叫做什么?怎么做到的?我不知道要找什么…

    2 回复  |  直到 14 年前
        1
  •  0
  •   Adam Lear    14 年前

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

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

    static void Main(string[] args)
    {
    }
    

    这个 args array将是传递给应用程序的命令行参数数组。所以如果你跑 MyNewLogParser myLog.txt ,的内容 args[0] 将是 myLog.txt .


    对于OpenWith…菜单,您需要修改注册表。在regedit中搜索“openwith”键,就会找到它。在我的机器上(Windows 7),它在 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts . 我不确定它是如何工作的具体细节,但谷歌应该能够帮助你摆脱困境。

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

        2
  •  0
  •   Hans Olsson    14 年前

    假设文件日志具有特定的文件扩展名,则需要添加 OpenWithList 注册表中的项。有关详细信息,请参阅此msdn页:

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