Neden Unparsable query\Not found hatası alıyorum?

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
string queryText = "SELECT * FROM RegistryValueChangeEvent WHERE Hive = 'HKEY_LOCAL_MACHINE' AND KeyPath = '\\\\SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Policies\\\\System'\r\n";
Böyle bir kod yazdım bunda not found diyor. Başka bir kod yazsam Unstparsable query diyor. Özel durum işlenmiyor bu arada. Regedit için yazıyorum. Not found'da özel durum işleniyor ama.
 
Son düzenleme:
Üye
Katılım
22 Nis 2021
Mesajlar
45
Tepki puanı
1
Ödüller
2
Yaş
34
5 HİZMET YILI
bu hatanın cözümünü bende bulamadım lütfen acil yardım edin ya
 
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
C#:
private void BackgroundWorker_DoWork(object? sender, DoWorkEventArgs e)

        {

            string scopePath = @"\\.\root\\Microsoft\\Windows\\Registry";

            string queryText = "SELECT * FROM RegistryValueChangeEvent WHERE Hive = 'HKEY_LOCAL_MACHINE' AND KeyPath = '\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System'";

            WqlEventQuery query = new WqlEventQuery(queryText);



            using (ManagementEventWatcher watcher = new ManagementEventWatcher(new ManagementScope(scopePath), query))

            {

                watcher.EventArrived += RegistryValueChangedEventArrived;

                watcher.Start();



            }

        }
bir ilerleme kaydettim Invalid paramater diyor.
Post automatically merged:

C#:
        private void BackgroundWorker_DoWork(object? sender, DoWorkEventArgs e)
        {
            string scopePath = @"\\.\root\\\\Microsoft\\\\Windows\\\\Registry";
            string queryText = "SELECT * FROM RegistryValueChangeEvent WHERE Hive = 'HKEY_LOCAL_MACHINE' AND KeyPath = '\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System'";
            WqlEventQuery query = new WqlEventQuery(queryText);

            using (ManagementEventWatcher watcher = new ManagementEventWatcher(new ManagementScope(scopePath), query))
            {
                watcher.EventArrived += RegistryValueChangedEventArrived;
                watcher.Start();

            }
        }
Böyle yapınca hata mesajı çıkmıyor.
Post automatically merged:

C#:
   private void BackgroundWorker_DoWork(object? sender, DoWorkEventArgs e)
        {
            try
            {
                string scopePath = @"\\.\root\\\\Microsoft\\\\Windows\\\\Registry";
                string queryText = "SELECT * FROM RegistryValueChangeEvent WHERE Hive = 'HKEY_LOCAL_MACHINE' AND KeyPath = '\\\\SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Policies\\\\System'\r\n";
                WqlEventQuery query = new WqlEventQuery(queryText);

                using (ManagementEventWatcher watcher = new ManagementEventWatcher(new ManagementScope(scopePath), query))
                {
                    watcher.EventArrived += RegistryValueChangedEventArrived;
                    watcher.Start();

                }
            }
            catch (ManagementException ex)
            {
                // Log or display the exception message for troubleshooting
                Console.WriteLine("ManagementException: " + ex.Message);
            }
        }
Düzeldi son bir test yapayım çalışıyor mu diye.
 
Son düzenleme:
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
C#:
 private void BackgroundWorker_DoWork(object? sender, DoWorkEventArgs e)
        {
            try
            {
                string scopePath = @"\\.\root\\\\Microsoft\\\\Windows\\\\Registry";
                string queryText = "SELECT * FROM RegistryValueChangeEvent WHERE Hive = 'HKEY_LOCAL_MACHINE' AND KeyPath = '\\\\SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Policies\\\\System'\r\n";
                WqlEventQuery query = new WqlEventQuery(queryText);

                using (ManagementEventWatcher watcher = new ManagementEventWatcher(new ManagementScope(scopePath), query))
                {
                    watcher.EventArrived += RegistryValueChangedEventArrived;
                    watcher.Start();

                }
            }
            catch (ManagementException ex)
            {
                // Log or display the exception message for troubleshooting
                Console.WriteLine("ManagementException: " + ex.Message);
            }
        }

        private void RegistryValueChangedEventArrived(object sender, EventArrivedEventArgs e)
        {
            // Get the name of the process that made the registry value change
            var processNameProperty = e.NewEvent.Properties["ProcessName"];
            string processName = processNameProperty?.Value?.ToString() ?? string.Empty;

            // Check if the process executed the "reg add" command
            if (string.Equals(processName, "reg", StringComparison.OrdinalIgnoreCase))
            {
                // Show a message indicating the process that made the registry value change
                MessageBox.Show($"The process '{processName}' made changes to the registry value: DisableTaskMgr");
                // Perform any desired actions here
            }
        }
Çalışmıyor taskmgr kitlendi.
 
omertrans505
Efsane Üye
Katılım
17 Ara 2016
Mesajlar
3,221
Çözümler
63
Tepki puanı
361
Ödüller
13
Sosyal
9 HİZMET YILI
Regedit kullanım istediğin alternatif yöntemi olarak Microsoft.Win32 kullanın. Aşağıdaki gözatabilirsin
Bağlantıları görmek için lütfen Giriş Yap
 
Seçkin Üye
Katılım
22 Kas 2020
Mesajlar
315
Çözümler
1
Tepki puanı
95
Ödüller
3
5 HİZMET YILI
Registry'i kolayca win32 kütüphanesi ile değiştirebilecekken, neden local bir veri tabanına SQL ile iletişime geçmeye çalışıyorsun?
Amacını basitçe belirtirsen basit bir yol sunabilirim, ama bu şekilde değiştirmeye yapmak mantıksızca.
Kodunu incelediğimde registry key'ini değiştiren programın ismini bulmaya çalışıyor gibisin? doğru muyum?
 
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
Registry'i kolayca win32 kütüphanesi ile değiştirebilecekken, neden local bir veri tabanına SQL ile iletişime geçmeye çalışıyorsun?
Amacını basitçe belirtirsen basit bir yol sunabilirim, ama bu şekilde değiştirmeye yapmak mantıksızca.
Kodunu incelediğimde registry key'ini değiştiren programın ismini bulmaya çalışıyor gibisin? doğru muyum?
Evet doğru anladın.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst