Windows搜索-c#中的全文搜索

本文关键字:搜索 文搜索 -c# Windows | 更新日期: 2023-09-27 18:20:22

我正在寻找一个使用Windows搜索获得全文搜索结果的代码(默认情况下,它应该在Vista、7和8中可用)。

我在这里找到了一些问题,也找到了一些关于msdn的文本,但没有一个有确切的代码。我尝试过使用Windows API代码包(因为它是Windows搜索的接口之一),但它只返回文件名的结果,而不是全文的结果。

Windows搜索-c#中的全文搜索

以下是有效的代码-在示例中,我在桌面文件夹中搜索单词"dummy":

string connectionString = "Provider=Search.CollatorDSO;Extended Properties='"Application=Windows'"";
OleDbConnection connection = new OleDbConnection(connectionString);
string query = @"SELECT System.ItemName FROM SystemIndex " +
   @"WHERE scope ='file:" + System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "' and FREETEXT('dummy')";
OleDbCommand command = new OleDbCommand(query, connection);
connection.Open();
List<string> result = new List<string>();
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
    result.Add(reader.GetString(0));
}
connection.Close();

看看DSearch示例。Windows搜索代码示例

这就是你想要的。