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

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

  1. Всем привет!
    Написать данный пример меня вынудила одна белорусская антивирусная компания. Она уверяла меня, что единственный щелчок мышью по пункту меню трей-иконки антивируса, приводящий к отключению защиты от вирусов - это безопасно! Типа: "Писать такой кликер геморрно, тяжело, и долго!" Поэтому, я покажу вам, что это совсем не так...

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

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



    Исходник:


    P.S. На некоторых виртуальных машинах не работают функции перемещения курсора, поэтому следует тестировать на реальных машинах.
     
    2 пользователям это понравилось.
  2. Dr. MefistO, удобно посмотреть исходники сейчас не где. Но сразу момент - когда иконка скрыта, как программа работает?

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

    Хотя руткитами и прочим ту же авиру вырубить сложнее сейчас.
     
  5. Понятно :) Я это просто к тому, что давно пора писать законченные продукты :)
     
  6. Это можно, конечно!=) На днях выложу версию с доп. функционалом:
    - показ скрытых иконок;
    - нажатие менюшек и иконок будет происходить не постепенно, по мере нахождения оных, а только после полного поиска, и нахождения координат.
     
  7. Видео-презентация работы моего кликера: