Приветствую вас! Хотелось бы узнать(и сделать то же самое) - может, кто знает, как сделана, например, во FlashGet такая штука. Когда FlashGet запущен, при копировании в clipboard в любой проге он перехватывает это сообщение и копирует себе куда надо. Необязательно сидеть в трее(как FlashGet), например, моя прога просто запущена и ждёт, пока где-нибудь кто-нибудь не скопирует что-нибудь в буфер обмена. Хотел сделать хуками, но их немного, а как поставить хук на произвольное сообщение, я не знаю. Спасибо!
Здравствуйте, undying! Знаешь, программер только тогда программер, когда сам копает. Так вот. В винде характерна конструкция бесконечного циклв,в котором( в теле которого) идет проверка на что-либо. Хуки тут не при чем. Просто моно в бесконечном цикле (на С++ это выглядит как : for ( ; ; ) ). Вот и все. Читайте больше про винду и ее внутренний мир, а лучше копайте сами. Ответ отправлен: 29.12.2002, 01:24 Отправитель: Jadd
Вопрос № 383
Прочитал я недавно о чат-клиенте miranda. Так вот сама программа весит несколко десятков килобайт и имеет пару функций, все остальные функции берутся из подключаемых плагинов! Программа ищет Dll файл в папке plugins. !Подключает найденные файлы! //это при том, что я незнаю сколько их. Затем выполняет заданную функцию или процедуру (ну например start). Например создает на главной форме кнопку и событием этой кнопки резервирует функцию из dll, buttonstart например. Ведь при использовании такой технологии у приложения появляется гибкость. А вот как мне это все сделать я не знаю. ПОМОЖЫТЕ ЛЮДИ ДОБРЫЕ :) только с примером и комментариями, пожайлуста. Или хотя бы ссылочку на уже сущетвующую статью по данному вопросу дайте.
Почитай документацию по написанию плагинов для FAR'a - поймёшь всю красоту внутреннего API программы. А для работы с плагинами достаточно трёх функций: LoadLibrary GetProcAddress FreeLibrary и им подобных: LoadLibraryEx FreeLibraryAndExitThread В приложении - маленький кусочек, получающий информацию о плагинах.
Приложение: Ответ отправлен: 29.12.2002, 15:45 Отправитель: Артём Шегеда Отвечает Jadd
Доброе время суток, pcgamer! www.codenet.ru - тут есть статейки на сей счет. Ответ отправлен: 30.12.2002, 02:11 Отправитель: Jadd
Вопрос № 384
Так вот у меня есть три функции Теперь как мне их перенести в отдельный файл, и уже из него вызывать эти процедуры. Делается это для того, чтобы не вставлять эти куски кода в главный модуль. Кстати, сделать все это надо не создавая дополнительную форму, в которой эти три процедуры будут написанны. Я немножко глупо написал. Просто я уже туго соображаю. С 8:00 утра за Delphi сижу! :) С уважением, Владимир mailto: pcgamer@mail.ru
Доброе время суток, pcgamer! 1. Создаешь дополнительный модуль, например U1.PAS. 2. В раздел interface заносишь заголовки этих процедур. 3. В разделе implementation описываешь сами процедуры. 4. В том модуле, где ты их собираешся применять, после Uses заносишь название модуля с процедурами, типа: Uses Windows, SysUtils, ... , U1; 5. Наслаждайся :)). Создать новый модуль без формы можно с помощью меню: File -> New -> Unit
Ответ отправлен: 02.01.2003, 14:28 Отправитель: Vadim Отвечает Jadd
Доброе время суток, pcgamer! дык по всем правилам модульного программинга на Паскале. Создаешь новый текстовый файл. В заголовке пишешь unit. Дальше так же как и в любом модуле дельфей. Все. В главной проге в разделе uses вставляешь имя модуля и далее по правилам. Ответ отправлен: 30.12.2002, 01:50 Отправитель: Jadd
Вопрос № 386
Доброго всем времени суток! Меня интересует можно ли через реестр виндовс (или есть какой компонент) поменят функции для кнопок мыши (по возможности и для дополнительных если такие имеются), если да то как? ------------------------------------------------------- Заранее благодарен!!!
Доброе время суток, MystiX! Есть там в реестре такие записи (HKEY_CURRENT_USERControl PanelMouse), а в Delphi есть такой компонент TRegistry в модуле Registry, его можно в Helpe найти, там все просто. Ответ отправлен: 30.12.2002, 23:16 Отправитель: Melkor Отвечает Vadim
Добрый день, MystiX! Можно, но не через реестр. Потому-что фирмы производители мышей, типа NetScroll+, запускают специальную прогу, которая перехватывает прерываения от мышек и дальше делает все, согласно настроек. По поводу реестра, можно покопаться на сайтах типа www.registrysecrets.com или подобных (есть и русские, но названий я не помню, поищи в google). А тебе нужно, чтобы функции кнопок поменялись в твоей проге или в самой виндоус? Если первое, то реестр тебе, однозначно, не нужен. Для этого есть OnMouseDown и OnMouseUp, в которых и пишешь необходимые действия. Либо перехватываешь прерывания от мышки.
Ответ отправлен: 02.01.2003, 14:29 Отправитель: Vadim Отвечает Jadd
Приветствую Вас, MystiX! А зачем через реестр? Ты понял в какую рассылку ты написал? Просто определяешь события мыши для главного окна формы. А что тебе еще надо? Ответ отправлен: 31.12.2002, 01:01 Отправитель: Jadd Отвечает Idle Sign
Добрый день, MystiX! ===== Pro bono publico, no bloody panico! ===== Вопрос не совсем понятен, однако: Через реестр нельзя. Это делается установкой хука на событие.
С Новых годом!
Ответ отправлен: 31.12.2002, 06:51 Отправитель: Idle Sign
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.