【问题标题】:Customized search with application in windows start menu在 Windows 开始菜单中使用应用程序自定义搜索
【发布时间】:2014-08-24 15:09:52
【问题描述】:

如果我在 Windows7 开始菜单中搜索 "chrome facebook.com",它会找到一个程序,所以当我按下回车键时它会打开 chrome,而 chrome 知道它应该在新标签。我想对我的应用程序做同样的事情。我在 Visual Studio 中使用 C#。

【问题讨论】:

  • 据我所知(我能够在我的计算机上快速测试这个),您可以将参数添加到使用此 Windows 7+ 搜索功能找到的任何可执行文件。所以cmd.exe some_commandfirefox google.comyour_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


【解决方案1】:

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

它位于:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

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

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

【讨论】:

    猜你喜欢
    • 2010-11-25
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    相关资源
    最近更新 更多