Findwindow Fonksiyonu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    Merhaba arkadaşlar

    Findwindow ile gizlemek istediğim uygulamayı bulamıyorum. Mevcut örneklere bakıyorum hep uygulama title'ını alarak bulunmuş uygulamalar.

    direkt olarak exe dosyasını bulup gizlemem gerekiyor.. Zira gizlemek istediğim uygulama title'ı değişken...

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    up

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    buzukatak
    buzukatak's avatar
    Kayıt Tarihi: 27/Haziran/2010
    Erkek

    geckodriver process'inin main window handle'ına erişip bunu ShowWindow ile gizleyebilirsin.

    Aşağıdaki konsol uygulaması örneği tüm kendi ana penceresine sahip geckodriver process'lerini gizlemeye çalışır.

    Sanmıyorum ama eğer geckodriver bir batch scripti veya doğrudan konsol komutu ile başlatılıyorsa bu kod gizlenmesi gereken ana pencere konsol process'ine (muhtemelen cmd.exe) ait olacağından çalışmaz. Kodda bunun kontrolünü görebilirsin.

    using System;
    using System.Diagnostics;
    
    namespace Test
    {
        internal class Program
        {
            private const int SW_HIDE = 0;
    
            [System.Runtime.InteropServices.DllImport("user32")]
            private static extern int ShowWindow(int hwnd, int nCmdShow);
    
            private static void Main()
            {
                foreach (Process process in Process.GetProcessesByName("geckodriver"))
                {
                    int hwnd = process.MainWindowHandle.ToInt32();
                    if (hwnd != 0)
                    {
                        Console.WriteLine(process.ProcessName + " gizlendi.");
                        // process'in kendisine ait bir penceresi var, gizlenebilir
                        ShowWindow(hwnd, SW_HIDE);
                    }
                }
                Console.ReadLine();
            }
        }
    }

    Diğer yandan bunu C# ile hiç kullanmadığımdan bilmiyorum ama kullandığın API büyük ihtimalle geckodriver'ı gizli bir pencere içinde başlatabiliyordur. Pencere bulup gizlemek yerine dokümanlarında gizli başlatma yöntemlerini araştırmanı öneririm.


    anlıyorum.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    çok teşekkür ediyorum.

    sorunsuz çalışıyor.

Toplam Hit: 1691 Toplam Mesaj: 4
c# findwindow application gizleme