Можно воспользоваться наработками ForNeVeR'a (https://github.com/ForNeVeR/hell-api), но я не знаю насколько этот код работоспособен на данный момент.Спасибо. Пытаюсь втыкать. Последний раз 2 года назад редактировалось. Может быть такое, что она сильно устарела?
ru.usa, а вы попробуйте - заодно нам расскажете. :)Пока не могу собрать даже. там:
Ошибка 1 error C1083: Не удается открыть файл включение: newpluginapi.h: No such file or directory c:\users\ххх\downloads\hell-api-master\hell-api-master\helladapter\common.h 7 1 HellAdapter
ru.usa, а вы уверены, что нужен именно плагин к миранде ? Имхо такие вещи нужно писать на node.js или python. А если сильно хочется плагин к миранде - вон целый репозиторий плагинов, почти все на с++, изучайте.Плагин для Миранды понравилось из-за того что этого бота тогда можно использовать для любого протокола в этой самой IM. А если писать просто приложение, то придётся каждый протокол самому рисовать. Опять же Миранда в принципе даёт всяких интересных свистелок.
ru.usa, вы уж меня простите т.к. есть сомнения в ваших словах, я (который в С/С++/С# понимает очень, очень смутно) вижу, что вам нужен вот этот заголовочный файл.Спасибо, подошло и собралось. :THUMBS UP:
ru.usa, Есть тестовый плагин. Самое то, чтобы разобраться с процессом создания плагина.Спасибо. А это в VS должно открываться? Мой 2013 говорит
проекты есть для 2010, 2013 и 2015 студии.Я опечатался. У меня 2013. Т.е. плагины отсюда http://svn.miranda-ng.org/main/trunk/plugins/ (http://svn.miranda-ng.org/main/trunk/plugins/) должны открываться у меня и собираться? Или только тестовый?
Т.е. плагины отсюда http://svn.miranda-ng.org/main/trunk/plugins/ должны открываться у меня и собираться? Или только тестовый?
Автор темы, поделитесь новостями, пожалуйста! Меня тоже разработка плагина на C# интересует.
using System;
using System.Runtime.InteropServices;
using MirandaNG;
using static MirandaNG.Core;
namespace TestPluginDotNet
{
public class TestPlugin : Plugin
{
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int MessageBox(IntPtr hWnd, string text, string caption, uint type);
private IntPtr hEvent;
private IntPtr hService;
protected override void Load()
{
hEvent = CreateHookableEvent("test/test");
HookEvent("test/test", OnHook);
hService = CreateServiceFunction("test/test", Service);
HookEvent("Miranda/System/ModulesLoaded", OnModulesLoaded);
}
private IntPtr Service(IntPtr wParam, IntPtr lParam)
{
NotifyEventHooks(hEvent, IntPtr.Zero, IntPtr.Zero);
return IntPtr.Zero;
}
private int OnHook(IntPtr wParam, IntPtr lParam)
{
MessageBox(IntPtr.Zero, "It's ALIVE!!!", "", 0);
return 0;
}
private int OnModulesLoaded(IntPtr wParam, IntPtr lParam)
{
CallService("test/test", IntPtr.Zero, IntPtr.Zero);
return 0;
}
}
}