Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Как отловить окно?

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 10.09.2016, 12:21   #1
 Разведчик
Аватар для Yoooou
 
Yoooou никому не известный тип
Регистрация: 31.08.2016
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
Wink Как отловить окно?

Не могу поймать окно
Пытаюсь так:
Код:
using System;
using System.Runtime.InteropServices;
using System.Diagnostics;

public  class NotepadOne
{
    [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
    public static extern IntPtr SetFocus(HandleRef hWnd);
    [DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
    public static extern IntPtr FindWindow(string lpClassName,
        string lpWindowName);
    [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
    public static extern IntPtr GetForegroundWindow();
    public static void PlayAround()
    {
        Process[] processList = Process.GetProcesses();
        foreach (Process theProcess in processList)
        {
            string processName = theProcess.ProcessName;
            string mainWindowTitle = theProcess.MainWindowTitle;
            SetFocus(new HandleRef(null, theProcess.MainWindowHandle));
            if (processName == "notepad")
            {
                NoteFrime();
                Console.Write("Мы нашли окно! Ураааа)");
            }
        } 
    }
    private static void NoteFrime()
    {
        IntPtr fg = GetForegroundWindow();
        IntPtr rustHandle = FindWindow(null, "Блокнот");
        if (rustHandle == fg)
        {
            Console.Write("Мы нашли окно! Ураааа)");
        }
        else
        {
            Console.Write("Не нашел! Херово!");
        }
    }
}
Но не работает походу (
Точнее в консоли должно написать Мы нашли окно! Ураааа)
А там просто ничего нету)
  Ответить с цитированием
Старый 10.09.2016, 22:37   #2
Читер-спонсор
 Рыцарь-защитник
Аватар для Nickitee
 
Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
 
По умолчанию Re: Как отловить окно?

Какая задача стоит?
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
  Ответить с цитированием
Старый 10.09.2016, 23:55   #3
 Разведчик
Аватар для Yoooou
 
Yoooou никому не известный тип
Регистрация: 31.08.2016
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Как отловить окно?

Цитата:
Какая задача стоит?

Найти окно и послать ему команду(на примере создание скриншота самой программы )
у
  Ответить с цитированием
Старый 11.09.2016, 11:22   #4
Читер-спонсор
 Рыцарь-защитник
Аватар для Nickitee
 
Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
 
По умолчанию Re: Как отловить окно?

Цитата:
Сообщение от YoooouПосмотреть сообщение
Найти окно и послать ему команду(на примере создание скриншота самой программы )
у

Код:
        public IntPtr findWindow(string name)
        {
            Process pr = Process.GetProcesses().Where(each => each.MainWindowTitle.IndexOf(name) != -1).FirstOrDefault();
            return (pr != null) ? pr.MainWindowHandle : IntPtr.Zero;
        }
Юзаем:
Код:
IntPtr test = findWindow("Skype");
if (test != IntPtr.Zero) 
{
    Console.WriteLine("Окно скайпа найдено!");
}
else
{
    Console.WriteLine("Нету окна скайпа = (");
}
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
  Ответить с цитированием
Старый 11.09.2016, 21:55   #5
 Разведчик
Аватар для Yoooou
 
Yoooou никому не известный тип
Регистрация: 31.08.2016
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Как отловить окно?

Спасибо
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как отловить в olly нажатие tianddu Общение разработчиков 3 09.10.2013 00:12
Возможно отловить пакет? ddd13 Вопросы и ответы, обсуждения 0 12.07.2012 13:46
Кто нибудь сможет записать видео : как отловить нужные байты ? :) nick ^_^ Свободное обсуждение 3 28.08.2010 14:54

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 21:24.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net