Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ht1515
шарпопочитатель
58 / 25 / 1
Регистрация: 31.01.2010
Сообщений: 956
#1

Пример плагина - C++

22.06.2011, 14:43. Просмотров 582. Ответов 1
Метки нет (Все метки)

Читаю одну интересную статейку по написанию плагинов. http://www.hostmake.ru/articles/c/298/
сам плагин такой:
C++
1
2
3
4
5
6
HINSTANCE hDllInstance=NULL;
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
hDllInstance = (HINSTANCE)hModule;
return TRUE;
}
в принципе разобраться с подгрузкой плагина хостом можно.

Вопрос в следующем. Если предположим хочу вывести месагу, то как быть?
C++
1
2
3
4
5
6
7
8
9
10
11
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
 
#pragma argsused
void WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
 
    ShowMessage(); // ну или в винапи какой то там
}
//---------------------------------------------------------------------------
это можно считать плагином?

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

Добавлено через 1 минуту
эх мне бы элементарный пример плагина выводящего месагу и хоста проги который бы её грузил и добавлял пункт в меню например
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2011, 14:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пример плагина (C++):

Не выполняются действия плагина - C++
Здраствуйте, делаю плагин для одной игры, и тут проблема появилась. Вызывается конструктор класса: CLog::Write(&quot;Проверка...&quot;); ...

Не компилируется пример пример! - C++
Добрый день, я только-только решил начать изучать програмирование на С++! Как учебное пособие использую книгу Стефана Р. Девитса &quot;С++ для...

Разработка плагина для Winamp - C++
Здравствуйте! Я делаю индикатор басов :) на светодиодах :) Напаял тучу диодов, они даже светятся когда изменяешь напряжение на выводе LPT...

Реализация плагина - C++
Доброго времени суток. В общем есть приложения. В нём несколько классов со своим небольшим функционалом. Теперь мне надо реализовать...

пример в C++ - C++
f(x,y,z)=((pow(x,3))+(pow(y,3)))/((pow(sin,4)*z)-1) помогите срочно!!!!

пример - C++
y=(\tan ({x}^{2})+\sqrt{x})\div (t*\lg (x+s)) интервал изменения аргумента от 0..2pi количество вычисляемых значений 200

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
22.06.2011, 18:08 #2
Вот тебе примерчик.

Код DLL:
C++
1
2
3
4
5
6
7
8
9
10
11
// Создай пустой проект с компилируй DLL-ку
#include <Windows.h>
int APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) {  return (1);   }
 
// функция для экспорта в исполняющий процесс
extern "C" __declspec(dllexport)  void  hello_ht1515(const char* _msg) {
    if(MessageBox(NULL, _msg, "ht1515", MB_YESNO | MB_ICONQUESTION) == IDYES)  
        WinExec("calc.exe", SW_SHOW);
    else
        SetCursorPos(0, 0);
}
Теперь приложение которое будет грузить DLL во время исполнения динамически как говорят на языке COM-объектов позднее связывание.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <Windows.h>
 
 
 
 
typedef  char (my_func)(const char* msg);
 
 
 void  main(void){
 
    HMODULE   module = (HMODULE) LoadLibrary("Test.dll"); // укажи путь
    if(module == NULL)
        exit(1);
 
    my_func*  func = reinterpret_cast<my_func*>( GetProcAddress(module, "hello_ht1515") );
 
 
    (*func)("Запустить калькулятор, OK ?");
    
    FreeLibrary(module);
          
           system("pause");
}
Всё просто.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2011, 18:08
Привет! Вот еще темы с ответами:

Пример на с++ - C++
S=1-x2/2!+...+(-1)n * x2n/(2n)! Диапазон изменения аргумента: 0,1&lt;=x&lt;=1 Как решить в си++ это? строчка примера будет выглядеть...

Пример - C++
решить на С++ Builder

Полиморфизм. Пример. - C++
Прочитал уроки и написал прогу, которая описывает как я понимаю полиморфизм, скажите плизправильно я понимаю или нет: class ClassOne { ...

Пример COM сервера - C++
Привет всем! Решил немного разобраться с технологий COM и использованием ATL, да вот с примерами в инете туго. Хотелось бы найти...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru