Yardım here istiyorum bunun için harika (ama iyi bilinmeyen) bir araç - LogParser
Kayıt Defteri, Dosya Sistemi, eventlog, AD vb. Gibi tüm metin tabanlı verileri sorgulamak için bir SQL motoru kullanır. C# 'dan kullanılabilir olmak için Logparser'den bir Etkileşim Derlemesi oluşturmanız gerekir. Aşağıdaki kullanarak dll COM sunucusu (LogParser.dll yolunu) komutu.
tlbimp "C:\Program Files\Log Parser 2.2\LogParser.dll"
/out:Interop.MSUtil.dll
ardından Microsoft ağacının \ \ HKLM \ SOFTWARE Değer 'VisualStudio' sorgulamak üzere verilmektedir küçük bir örnek vardır.
using System;
using System.Runtime.InteropServices;
using LogQuery = Interop.MSUtil.LogQueryClass;
using RegistryInputFormat = Interop.MSUtil.COMRegistryInputContextClass;
using RegRecordSet = Interop.MSUtil.ILogRecordset;
class Program
{
public static void Main()
{
RegRecordSet rs = null;
try
{
LogQuery qry = new LogQuery();
RegistryInputFormat registryFormat = new RegistryInputFormat();
string query = @"SELECT Path from \HKLM\SOFTWARE\Microsoft where
Value='VisualStudio'";
rs = qry.Execute(query, registryFormat);
for(; !rs.atEnd(); rs.moveNext())
Console.WriteLine(rs.getRecord().toNativeString(","));
}
finally
{
rs.close();
}
}
}
bu yalnızca kayıt defteri değerlerine bakar, kayıt defteri anahtarını da aramanın bir yolu var mı? 'Key' ile' Value' değiştirmeyi denedim' işe yaramadı. Teşekkürler –