【发布时间】:2014-08-24 15:09:52
【问题描述】:
如果我在 Windows7 开始菜单中搜索 "chrome facebook.com",它会找到一个程序,所以当我按下回车键时它会打开 chrome,而 chrome 知道它应该在新标签。我想对我的应用程序做同样的事情。我在 Visual Studio 中使用 C#。
【问题讨论】:
-
据我所知(我能够在我的计算机上快速测试这个),您可以将参数添加到使用此 Windows 7+ 搜索功能找到的任何可执行文件。所以
cmd.exe some_command和firefox google.com和your_programm some_argument一样有效。你只需要在你的程序中获取命令行参数,然后让他们做他们的事情。\ -
它适用于一些可执行文件,但不是全部。例如,Internet Explorer 或 Skype 无法处理此问题。
-
好的。这些是例外(它们无论如何都不能处理参数)。但一般它适用于任何 程序。以下是一些在继续之前值得回答的问题:您的程序是否位于 Windows 搜索索引器可访问的路径上?如果是,您的程序是否接受命令行参数?如果是,您是否刷新了搜索索引?如果是,您是否尝试过“自定义搜索”您的程序?
-
是的,我的程序可能是可以访问的。如果我搜索它(test.exe),它会显示为程序,而不是文档。当程序使用 Environment.GetCommandLineArgs() 运行时,我会检索参数。如果我输入 test.exe 的完整路径并在其旁边输入参数,则没有搜索结果,但无论如何它都会打开并且工作正常,但只需搜索 test.exe something 就会打开一个没有结果的搜索窗口。自定义搜索我的程序是什么意思?
-
基本上,你做了什么'$your_program $your_custom_search_string'。这有点神秘。我已将我的项目文件夹添加到我的 Windows 搜索索引器的搜索参数中,上述方法几乎适用于所有程序,但并非适用于所有程序。我承认,这个 beaivor 似乎有点随机。我将不得不自己搜索有关此的任何信息。
标签: c# windows search windows-7