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

如何启动/停止/暂停Windows搜索索引器

  •  4
  • Slaggg  · 技术社区  · 16 年前

    我想确定如何从Microsoft Search以编程方式启动/停止/暂停索引器。

    我知道这是可能的,因为我在类似这样的程序中看到过: http://brandontools.com/files/folders/sidebar_gadgets/entry511.aspx

    但是,我在msdn或任何地方都找不到任何文档。

    有一个“Windows搜索”服务,可以用传统的服务控制方法来控制。但是,启动/停止此服务也会更改搜索本身的可用性。我只想控制索引器。

    有人知道在哪里可以找到描述如何与索引器交互的文档吗?我的搜索技能让我失望了。

    6 回复  |  直到 12 年前
        1
  •  3
  •   Callie J    16 年前

    没有办法简单地禁用索引部分。这是一个全无服务。wsearch服务的描述说明如下:

    “为文件、电子邮件和其他内容(通过可扩展性api)提供内容索引和属性缓存。该服务响应文件和电子邮件通知以索引修改的内容。如果服务被停止或禁用,资源管理器将无法显示项目的虚拟文件夹视图,资源管理器中的搜索将返回到逐项慢速搜索。”

    但是,您可以通过驱动器/文件夹属性来控制它…从Explorer中,您可以将其转换为单独的驱动器(参见驱动器的属性);有一个选项“允许索引服务……”,或者用于文件夹(文件夹属性-gt;Advest-Gt),用于快速搜索,允许索引服务……)。

    编辑 …如果你在msdn页面上查找 System.IO.FileAttributes ,有一处房产 NotContentIndexed 带着描述 操作系统的内容索引服务不会索引该文件 . 我想你应该可以在单独的文件夹上设置这个。我不知道如果设置在驱动器级别(没有在驱动器中递归运行)这是否有效,但希望它能让您在最终尝试实现的任何目标上有一个良好的开端。

        2
  •  1
  •   Shay Erlichmen    16 年前

    According the Microsoft 官方并没有这样做的方式。

        3
  •  0
  •   Peter Mourfield    16 年前

    像这样的:

    serviceController service=new serviceController(“wsearch”);

    服务。启动();

    服务。停止();

        4
  •  0
  •   Aidan Ryan    16 年前

    以下是有关以编程方式与Windows Search交互的优秀教程: article at JoyOfCode .

    这个 Windows Search 3.x SDK 提供一个适用于Windows Search 3或4的.NET API。

    不幸的是,它没有显示暂停/恢复。我找到的所有索引控件示例都使用wmi停止搜索服务。显然,这将停止索引,但代价是搜索本身不可用。

        5
  •  0
  •   ITnavMan    12 年前

    这是一条旧线,但我碰到了。其他人也可以。

    使用autoit脚本打开索引选项,然后单击对话框中的“暂停”按钮。

        6
  •  -1
  •   genodeftest    16 年前

    打开“运行”对话框(开始运行),键入(或复制) %systemroot%\system32\compmgmt.msc/s系统根目录 打开最后一个

    推荐文章