Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pobieranie nazwy okna.


Rekomendowane odpowiedzi

Opublikowano

Siemaneczko.

Może mi ktoś pomóc? Mam taki prosty kodzik który działa tak:

1.Sprawdza czy jest odpalony proces (APLIKACJA)

2.Sprawdza czy na komputerze odpalony jest proces z blacklisty.

3.Jeśli jest odpalony - Wyłącza go i (APLIKACJE)

 

Moje pytanko.

Może ktoś mi to zedytować tak, aby pobierało nazwę okna tą na "belce" po otworzeniu a nie nazwę procesu?

I żeby potem oczywiście zamykało to okno. Ponieważ nazwe aplikacji można bardzo łatwo zmienić funkcją: "Zmień Nazwę", a tej na belce już nie bardzo.

 

Funkcja z source:

 

 

namespace AntiCheat{    public class ProcessScanner    {        #region Fields        ///         /// Thread for process scanning.        ///         private Thread ProcessThread;        ///         /// List containing all words to look for.        ///         private List ProcessWordBlacklist = new List();        #endregion        #region Construct/Destruct        ///         /// Constructs a new ProcessScanner.        ///         public ProcessScanner()        {            // Set process data.            this.ProcessThread = new Thread(new ThreadStart(this.ProcessThreadMethod));            //this.ProcessThread.Name = "Process scan thread.";            // Blacklista:            this.ProcessWordBlacklist.Add("cheat");            this.ProcessWordBlacklist.Add("engine");        }        ///         /// Destructs the ProcessScanner.        ///         public void Destruct()        {            try            {                this.Stop();            }            catch { }        }        #endregion        #region Methods        ///         /// Begins scanning.        ///         public void Start()        {            ProcessThread.Start();        }        ///         /// Ends scanning.        ///         public void Stop()        {            ProcessThread.Abort();        }        ///         /// Process thread.        ///         private void ProcessThreadMethod()        {            try            {                while (true)                {                    // Get all client processes.                    Process[] NeuzProcesses = Process.GetProcessesByName("Gothic2");                    // If neuz isn't running, exit.                    if (NeuzProcesses.Length < 1)                    {                        Program.Exit = true;                    }                    // For every process that's running.                    foreach (Process ScanProcess in Process.GetProcesses())                    {                        // For every word in the blacklist.                        foreach (string Word in this.ProcessWordBlacklist)                        {                            // Check for word in process name.                            if (ScanProcess.ProcessName.ToLower().Contains(Word.ToLower()))                            {                                // If found, kill all neuz processes and the cheat process.                                foreach (Process NeuzProcess in NeuzProcesses)                                {                                    NeuzProcess.Kill();                                }                                ScanProcess.Kill();                                break;                            }                        }                    }                    // Sleep.                    Thread.Sleep(250);                }            }            catch { }        }        #endregion    }}

 

Dzięki za pomoc :)

ESTAVIA.PL

Opublikowano

Z racji że formatowanie tego jest świetne, to nawet nie analizuje kodu, w każdym razie pobieranie procesu z WindowText odbywa się poprzez P/Invoke - GetWindowThreadProcessId:

[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

[DllImport("user32.dll", SetLastError=true)]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);

IntPtr hWnd = FindWindow(null, "Title of the Window!");
int processID = 0;
GetWindowThreadProcessId(hWnd, out processID);

MessageBox.Show("Process ID for Window is " + processID);

source:

http://www.elitepvpers.com/forum/net-languages/2348641-c-getting-pid-window-title.html

Czas szukania ~5min

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir nicht ganz sicher."
~A. Einstein

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...