C# 使用windows“开始”菜单中的应用程序自定义搜索

C# 使用windows“开始”菜单中的应用程序自定义搜索,c#,windows,search,windows-7,C#,Windows,Search,Windows 7,如果我在Windows7的“开始”菜单中搜索“chrome facebook.com”,它会找到一个程序,因此当我按enter键时,它会打开chrome,chrome知道它应该在一个新选项卡中打开facebook.com。我想对我的申请做同样的事情。我在VisualStudio中使用C# 注册表中有一个名为App Path的键,您可以在其中定义程序的路径。这将由Windows搜索框检查,它允许您将参数传递给所述程序 它位于: HKEY\U LOCAL\U MACHINE\SOFTWARE\Mic

如果我在Windows7的“开始”菜单中搜索“chrome facebook.com”,它会找到一个程序,因此当我按enter键时,它会打开chrome,chrome知道它应该在一个新选项卡中打开facebook.com。我想对我的申请做同样的事情。我在VisualStudio中使用C#


注册表中有一个名为
App Path
的键,您可以在其中定义程序的路径。这将由Windows搜索框检查,它允许您将参数传递给所述程序

它位于:

HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App路径

因此,您需要为程序
TestProgram.exe
添加一个名为
TestProgram.exe
App Path
键,其值为文件系统中的路径。可能需要添加一个名为
Path
的字符串值,该值也包含路径


然后,在搜索
TestProgram[.exe]
时,您可以添加参数。

据我所知(我能够在我的计算机上快速测试),您可以向使用此Windows 7+搜索功能找到的任何可执行文件添加参数。因此
cmd.exe一些命令
将与
firefox google.com
您的程序的一些参数
一样有效。您只需在程序中获取命令行参数,并让它们执行任务。\n它适用于某些可执行文件,但不适用于所有可执行文件。例如,Internet Explorer或Skype无法处理此问题。好的。这些都是例外(他们无论如何都不能处理争论)。但一般来说,它适用于任何程序。在继续之前,有一些问题值得回答:您的程序是否位于windows搜索索引器可以访问的路径上?如果是,您的程序是否接受命令行参数?如果是,是否刷新了搜索索引?如果是,您是否尝试过“自定义搜索”您的程序?是的,我的程序可能可以访问。如果我搜索它(test.exe),它会显示为程序,而不是文档。当程序使用Environment.GetCommandLineArgs()运行时,我检索参数。如果我键入test.exe的完整路径并在其旁边键入参数,则不会有搜索结果,但它仍会打开,并且工作正常,但只要搜索test.exe,就会打开一个没有结果的搜索窗口。自定义搜索我的程序是什么意思?基本上,你所做的“$your_program$your_custom_search_string”。这有点神秘。我已经将我的项目文件夹添加到我的Windows搜索索引器的搜索参数中,上述方法几乎适用于所有程序,但并非所有程序都适用。我承认,这个怪物看起来有点随意。我得自己搜索这方面的信息。