コード例 #1
0
        public int DiğerUygulamayıÖneGetir(bool EkranıKapla = false)
        {
            int Adet = 0;

            try
            {
                string Adı = Path.GetFileNameWithoutExtension(AppDomain.CurrentDomain.FriendlyName);

                #if DEBUG
                if (Adı.EndsWith(".vshost"))
                {
                    Adı = Adı.Remove(Adı.Length - ".vshost".Length);
                }
                #endif

                W32_6.EnumWindows(delegate(IntPtr hWnd, int lParam)
                {
                    uint windowPid;
                    W32_5.GetWindowThreadProcessId(hWnd, out windowPid);
                    if (windowPid == Process.GetCurrentProcess().Id)
                    {
                        return(true);
                    }

                    int length = W32_4.GetWindowTextLength(hWnd);
                    if (length == 0)
                    {
                        return(true);
                    }

                    StringBuilder stringBuilder = new StringBuilder(length);
                    W32_4.GetWindowText(hWnd, stringBuilder, length + 1);
                    if (stringBuilder.ToString().Contains(Adı))
                    {
                        W32_7.WINDOWPLACEMENT wp = new W32_7.WINDOWPLACEMENT();
                        W32_7.GetWindowPlacement(hWnd, ref wp);
                        if (wp.showCmd == 0 || wp.showCmd == 2 || EkranıKapla)
                        {
                            if (EkranıKapla)
                            {
                                wp.showCmd = 3;
                            }
                            else
                            {
                                wp.showCmd = 1;
                            }

                            W32_7.SetWindowPlacement(hWnd, ref wp);
                        }
                        W32_3.SetForegroundWindow(hWnd);
                        Adet++;
                    }
                    return(true);
                }, 0);
            }
            catch (Exception) { }
            return(Adet);
        }
コード例 #2
0
        public int DiğerUygulamayıKapat(bool ZorlaKapat = false)
        {
            int Adet = 0;

            try
            {
                string Adı = Path.GetFileNameWithoutExtension(AppDomain.CurrentDomain.FriendlyName);

                #if DEBUG
                if (Adı.EndsWith(".vshost"))
                {
                    Adı = Adı.Remove(Adı.Length - ".vshost".Length);
                }
                #endif

                W32_6.EnumWindows(delegate(IntPtr hWnd, int lParam)
                {
                    uint windowPid;
                    W32_5.GetWindowThreadProcessId(hWnd, out windowPid);
                    if (windowPid == Process.GetCurrentProcess().Id)
                    {
                        return(true);
                    }

                    int length = W32_4.GetWindowTextLength(hWnd);
                    if (length == 0)
                    {
                        return(true);
                    }

                    StringBuilder stringBuilder = new StringBuilder(length);
                    W32_4.GetWindowText(hWnd, stringBuilder, length + 1);
                    if (stringBuilder.ToString().Contains(Adı))
                    {
                        Process DiğerUygulama = Process.GetProcessById((int)windowPid);

                        if (ZorlaKapat)
                        {
                            DiğerUygulama.Kill();
                        }
                        else
                        {
                            DiğerUygulama.Close();
                        }
                        Adet++;
                    }
                    return(true);
                }, 0);
            }
            catch (Exception) { }
            return(Adet);
        }