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

时间:2009-10-25 19:03:56

标签: windows-search

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

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

但是,我无法在MSDN或任何地方找到任何文档。

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

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

6 个答案:

答案 0 :(得分:3)

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

  

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

但是,您可以通过驱动器/文件夹属性控制它...从资源管理器中,您可以为单个驱动器切换它(请参阅驱动器的属性;有一个选项“允许索引服务... “)或文件夹(文件夹属性 - >高级 - >”对于快速搜索,允许索引服务......“)。

编辑 ...有点谷歌搜索,上面的属性可用 - 如果您查看System.IO.FileAttributes的MSDN页面,有一个属性NotContentIndexed description 该文件不会被操作系统的内容索引服务编入索引。我认为你应该能够在单个文件夹上设置它。如果设置在驱动器级别(没有通过驱动器的递归运行),我不知道这是否有效,但希望它能让你在最终想要实现的任何事情上领先一步。

答案 1 :(得分:1)

According the Microsoft没有正式的方法。

答案 2 :(得分:0)

这样的事情:

ServiceController service = new ServiceController(“WSearch”);

service.Start();

service.Stop();

答案 3 :(得分:0)

以下是以编程方式与Windows搜索进行交互的精彩教程:article at JoyOfCode

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

不幸的是,它不会暴露暂停/恢复。我发现的所有索引控件样本都使用WMI来停止搜索服务。显然,这将停止索引,但代价是搜索本身无法使用。

答案 4 :(得分:0)

这是一个旧线程,但我碰到了它。其他人也可能。

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

答案 5 :(得分:-1)

打开“运行”对话框(开始|运行),输入(或复制) %SystemRoot%\ system32 \ compmgmt.msc / s 展开最后一个