Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2015, 11:36   #11
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я дописал пример, посмотрите.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.12.2015, 11:40   #12
CloudStrife
Новичок
Джуниор
 
Регистрация: 15.12.2015
Сообщений: 24
По умолчанию

Увы с вашим примером не прокатит, так как использую net 3.0 framework
CloudStrife вне форума Ответить с цитированием
Старый 15.12.2015, 11:40   #13
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от CloudStrife Посмотреть сообщение
У меня уже стоит хук!
Нету у вас хука, смотрите ссылки внимательно.


HashSet подойдет если просто список имен нужно. А если переключение типа Браузер —> Visual Studio —> Браузер тоже нужно (повторное переключение), то не подойдет.

Я ж написал самый простой вариант, запоминайте последнее значение и не выводите если новое совпадает.
Цитата:
Увы с вашим примером не прокатит, так как использую net 3.0 framework
Ну просто замените var на тип переменной (string).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 15.12.2015, 11:44   #14
CloudStrife
Новичок
Джуниор
 
Регистрация: 15.12.2015
Сообщений: 24
По умолчанию

Alex11223 Просто это бета реазилация проекта, я использую другой проект!
В нём стоит захват клавишь, я пытаюсь реазиловать захват заголовка окон!
CloudStrife вне форума Ответить с цитированием
Старый 15.12.2015, 11:47   #15
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не понял к чему это сообщение, но захват клавиш мало похож на захват заголовков окон при переключении и в любом случае в этом проекте нет хуков, клавиши с таймером вы вряд ли захватите.

http://www.codeproject.com/Articles/...ard-Hooks-in-C
http://www.codeproject.com/Articles/...-Keyboard-Hook
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 15.12.2015, 12:02   #16
CloudStrife
Новичок
Джуниор
 
Регистрация: 15.12.2015
Сообщений: 24
По умолчанию

Нашел что нужно:
Код:
WinEventDelegate dele = null;
        public Form1()
        {
            InitializeComponent();
            dele = new WinEventDelegate(WinEventProc);
            IntPtr m_hhook = SetWinEventHook(EVENT_SYSTEM_FOREGROUND, EVENT_SYSTEM_FOREGROUND, IntPtr.Zero, dele, 0, 0, WINEVENT_OUTOFCONTEXT);
        }
        delegate void WinEventDelegate(IntPtr hWinEventHook, uint eventType, IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime);

        [DllImport("user32.dll")]
        static extern IntPtr SetWinEventHook(uint eventMin, uint eventMax, IntPtr hmodWinEventProc, WinEventDelegate lpfnWinEventProc, uint idProcess, uint idThread, uint dwFlags);

        private const uint WINEVENT_OUTOFCONTEXT = 0;
        private const uint EVENT_SYSTEM_FOREGROUND = 3;

        [DllImport("user32.dll")]
        static extern IntPtr GetForegroundWindow();

        [DllImport("user32.dll")]
        static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count);

        private string GetActiveWindowTitle()
        {
            const int nChars = 256;
            IntPtr handle = IntPtr.Zero;
            StringBuilder Buff = new StringBuilder(nChars);
            handle = GetForegroundWindow();

            if (GetWindowText(handle, Buff, nChars) > 0)
            {
                return Buff.ToString();
            }
            return null;
        }
        public void WinEventProc(IntPtr hWinEventHook, uint eventType, IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime)
        {
            textBox1.Text += "[---- " + GetActiveWindowTitle() + " ----]" + Environment.NewLine + "\r\n";
        }
CloudStrife вне форума Ответить с цитированием
Старый 15.12.2015, 12:43   #17
CloudStrife
Новичок
Джуниор
 
Регистрация: 15.12.2015
Сообщений: 24
По умолчанию

Как можно убрать заголовок своей формы?
CloudStrife вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение GET заголовка от браузера The SCS PHP 5 27.06.2012 13:23
Получение Заголовка предка объекта KORT Общие вопросы Delphi 2 22.03.2012 15:41
Получение заголовка окна, запущенного от имени другого пользователя на сервере терминалов ArtyAtWork Общие вопросы Delphi 3 06.10.2011 09:24
Изменение заголовка окна в Delphi T(h)rasher Помощь студентам 7 05.10.2011 06:58
Область заголовка окна HunterMan Win Api 3 14.04.2008 15:37