1. Вы находитесь в архивной версии форума xaker.name. Здесь собраны темы с 2007 по 2012 год, большинство инструкций и мануалов уже неактуальны.
    Скрыть объявление

Кликер по иконкам и меню в трее + Source (How to click at tray icons and menus)

Тема в разделе "Pascal/Delphi", создана пользователем Dr. MefistO, 17 июл 2011.

  1. Dr. MefistO

    Dr. MefistO Крывіч Глобальный модератор

    Регистрация:
    3 авг 2008
    Сообщения:
    152
    Симпатии:
    254
    Баллы:
    0
    Всем привет!
    Написать данный пример меня вынудила одна белорусская антивирусная компания. Она уверяла меня, что единственный щелчок мышью по пункту меню трей-иконки антивируса, приводящий к отключению защиты от вирусов - это безопасно! Типа: "Писать такой кликер геморрно, тяжело, и долго!" Поэтому, я покажу вам, что это совсем не так...

    Конечно, разработчики основывались на таких убеждениях, что, мол, у иконок трея нет хендлов, и к ним напрямую нельзя обращаться. И это, конечно, так. Поэтому у меня в голове появилась одна идейка:
    "А ведь можно заложить в программу эталонное изображения для поиска, сделать скриншот экрана, найти в нем нашу эталонную иконку, узнать ее координаты, переместить туда курсор, нажать туда мышкой!"
    Для сокращения времени поиска мы будем искать не по всему экрану, а ориентируясь на координаты окна с трей иконками (хорошо, что у него все же есть хэндл).

    Итак, держите пример работы кликера + исходник.



    Исходник:


    P.S. На некоторых виртуальных машинах не работают функции перемещения курсора, поэтому следует тестировать на реальных машинах.
     
    Последнее редактирование: 19 июл 2011
    2 пользователям это понравилось.
  2. ~|~евто|-|

    ~|~евто|-| Silentium ..::V.I.P::..

    Регистрация:
    26 май 2007
    Сообщения:
    30
    Симпатии:
    377
    Баллы:
    0
    Dr. MefistO, удобно посмотреть исходники сейчас не где. Но сразу момент - когда иконка скрыта, как программа работает?

    PS: Баг очень старый. В свое время, так, один очень известный фаервол отключался xD
     
  3. Dr. MefistO

    Dr. MefistO Крывіч Глобальный модератор

    Регистрация:
    3 авг 2008
    Сообщения:
    152
    Симпатии:
    254
    Баллы:
    0
    Это только пример реализации кликов по иконкам в трее. Функционала раскрытия скрытых иконок я не делал, как и нажатия по ним. Это уже на фантазию пользователя.
    Это даже не баг. Просто антивирусам и фаерам нужно все же лучше защищать себя. Как это делает тот же Dr.Web (не сочтите за рекламу).
     
  4. onthar

    onthar Команда форума Админ

    Регистрация:
    8 янв 2008
    Сообщения:
    0
    Симпатии:
    609
    Баллы:
    0
    Благодаря их капче они взяли номинацию "Самая стойкая самозащита" год назад или около того.

    Хотя руткитами и прочим ту же авиру вырубить сложнее сейчас.
     
  5. ~|~евто|-|

    ~|~евто|-| Silentium ..::V.I.P::..

    Регистрация:
    26 май 2007
    Сообщения:
    30
    Симпатии:
    377
    Баллы:
    0
    Понятно :) Я это просто к тому, что давно пора писать законченные продукты :)
     
  6. Dr. MefistO

    Dr. MefistO Крывіч Глобальный модератор

    Регистрация:
    3 авг 2008
    Сообщения:
    152
    Симпатии:
    254
    Баллы:
    0
    Это можно, конечно!=) На днях выложу версию с доп. функционалом:
    - показ скрытых иконок;
    - нажатие менюшек и иконок будет происходить не постепенно, по мере нахождения оных, а только после полного поиска, и нахождения координат.
     
  7. Dr. MefistO

    Dr. MefistO Крывіч Глобальный модератор

    Регистрация:
    3 авг 2008
    Сообщения:
    152
    Симпатии:
    254
    Баллы:
    0
    Видео-презентация работы моего кликера:
     

Поделиться этой страницей