Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

PostMsg - Шлем сообщения в любое окно


Автор: Matt Spaulding.

Требования: Windows NT/2000, Visual C++ 6.0

Описание:

Однажды при запуске утилиты оптимизации проекта VC++ мне потребовалась программа которая позволила бы завершить COM сервер из другого процесса. Без модификации исходного кода, лучший способ, который приходил на ум, это было простая отправка сообщения завершения (quit) главному окну приложения сервера. Тогда я запустил небольшую удобную утилиту SPY++ и нашёл своё окно в списке, но к моему разочарованию я не смог ничего сделать с ним. поэтому было принято решиние написать PostMsg.

Функциональные возможности:

PostMsg - это небольшое диалоговое приложение, которое подражает некоторым функциональным возможностям SPY++, в том плане, что получает список всех окон на текущем рабочем столе и отображает их в стандартном элементе управления дерева (tree control) подобно SPY++. Далее нам необходим список общих оконных сообщений, чтобы можно было выбрать. PostMsg использует файл msg.dat, который был в основном взят из winuser.h и включает два значения для каждого сообщения: шестнадцатиричное и десятичное. PostMsg, будет искать msg.dat в директории, из которой она была запущена. Если Вам захочется использовать новые сообщения, то необходимо их добавить в msg.dat и перезапустить приложение. PostMsg так же обеспечивает регистро-независимый способ поиска подстроки определённого заголовка окна.

Технология:

Чтобы создать список окон на текущем десктопе, PostMsg использует API функцию ::EnumChildWindows(). Учитывая то, как ::EnumChildWindows() делает итерации по окну списка, я использовал обратно-зависимый цикл через CTreeCtrl::GetParentItem(), чтобы определить правильность добавления каждого окна в дерево. Подпрограмма поиска, является рекурсивной функцией, так как она проста в чтении, маленького размера, поэтому она похожа на рекурсивное решение.

Примечания Автора:

Я добавил пару кнопок Hide (Скрыть) и Show (Показать), чтобы можно было быстро манипулировать окнами. На мой вгляд эти кнопки очень полезны для тех приложений, которые не имеют значка на панели задач или непозволяют Вам изменить его местоположение или минимизировать. В данном случае, самыми главными кандидатоми являются окна с баннерами.

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

Downloads

Скачать исходник - 31 Kb







<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU Проект ReactOS