subcarpetas - Búsqueda de Windows-búsqueda de texto completo en c#
obtener el nombre de un archivo en c# (2)
Estoy buscando un código que obtenga resultados de la búsqueda de texto completo mediante la búsqueda de Windows (debería estar disponible en Vista, 7 y 8 de forma predeterminada).
He encontrado algunas preguntas aquí y algunos textos en msdn, pero ninguno de ellos tiene un código exacto que funcione. He intentado con Windows API Code Pack (ya que se menciona como una de las interfaces para Windows Search), pero solo devuelve resultados para los nombres de archivo, no para el texto completo.
Aquí está el código que funciona, en el ejemplo, lo hice para buscar la palabra "dummy" en la carpeta del escritorio:
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();
Eche un vistazo al ejemplo de DSearch. Ejemplos de código de búsqueda de Windows
Eso es lo que quieres.