Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   как заюзать DLL из миранды. (http://forum.oszone.net/showthread.php?t=64888)

Irlon 25-04-2006 22:35 431583

как заюзать DLL из миранды.
 
Есть программа, nnCron (мощный планировщик, кто не знает), который сильно облегчает жизнь. На нём можно писать скрипты, которые бы делали за тебя некоторую повседневную работу.
Так вот, есть некоторые задачи, которые требовали бы оповещения. Сейчас стоит оповещение звуком, (например, если в сети появляеться новый хост, то он информирует об этом). Это не удобно. В миранде есть popup.dll, которая реализует всплывание маленьких окон с информацией. Можно ли этот DLL заюзать с командной строки??
rundll32 shell32,Control_RunDLL popup.dll
rundll32 popup.dll
и тому подобное эффекту не дали, наверное надо передовать параметры.
Может кто подскажет, как этот dll запустить, и какие параметры ему нужно передавать?

DillerInc 26-04-2006 00:45 431606

Irlon
Ну,во первых,не nncon, а nnCron .
Далее я что-то сильно сомневаюсь,что вам удастся просто так запустить DLL.
Библиотеки по идее должны отображаться в адресное пространство какого-нибудь процесса по запросу последнего,и далее этот процесс использует эту актульную DLL по своим нуждам.
В этой popup.dll скорее всего находятся определённые функции,которые вызываются из Miranda.exe(или как его там...) как внешние и которым передаются необходимые параметры.

Irlon 26-04-2006 17:17 431872

жаль конечно. зачем тогда rundll32 придумали.....

DillerInc 26-04-2006 21:06 431944

Irlon
Хотя я вот сейчас подумал,слегка порылся в интернете и нашёл реализацию следующих вариантов -- Start -> Run -> и вводим:
* rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl -- запускаем окно Add/Remove Software
* rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0 -- запускаем окно Display Properties на вкладке Background
* rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1 -- то же,но на вкладке ScreenSaver
* rundll32.exe diskcopy.dll,DiskCopyRunDll -- а эта вообще показывает некий диалог копирования дискеты
Взято отсюда.
Тут походу исполняемый файл rundll32 является вызывающим процессом,а библиотека shell32 будет отображаться в него.
Но всё равно вопрос остаётся касательно параметров,т.к. мы же не знаем,как там реализован код внутри этой DLL.
Может поможет отладчик и дизассемблер... ;)

Irlon 27-04-2006 20:58 432333

miranda открытый проект, и наверное можно у них узнать, какие параметры есть в этой библиотеке

vampik 03-05-2006 00:15 433630

Кроме как из Миранды использовать не получится. ;) Плагины Миранды экспортируют только три функции - Load, Unload и MirandaPluginInfo, код привязан к различным событиям, а настройки хранятся в базе данных Миранды, и т.д.

simplix 09-05-2006 05:07 435884

Irlon
А не проще ли заняться поиском специализированной проги, которая делала бы то же самое (показ поп-апов если хост доступен) или очень похожее - наверняка что-то такое уже есть. Кстати ннКрон может показывать всплывающие сообщения не хуже миранды - но стандартные виндовые, мне их хватает с головой - попробуй после Action указать BALLOON: "Заголовок" "Текст" - должно понравиться :)


Время: 19:33.

Время: 19:33.
© OSzone.net 2001-