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

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

Войти
Регистрация
Восстановить пароль
 
mickey_smith
7 / 7 / 1
Регистрация: 20.11.2013
Сообщений: 32
#1

Окно для DLL - C++

19.12.2013, 13:43. Просмотров 357. Ответов 9
Метки нет (Все метки)

Всем привет!

Есть уже готовая DLL... Нужно чтобы на экране отображался прогрессбар или хотя бы было окошко с уведомлением что DLL работает.

Отсюда вопрос... Есть ли возможность нарисовать окошко для DLL? Или это впринципе неправильно?
Если это реально, то направьте на путь истиный или почитать что посоветуйте)
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2013, 13:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Окно для DLL (C++):

Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями? - C++
Движок перевожу на платформу Win64 и нужно, чтобы разрядность ЕХЕ и DLL совпадали, а в интернете искал 64-битные версии ogg.dll, vorbis.dll...

Окно для программы - C++
Привет всем! Я наткнулся в инете на многие проги, они имеют вид обычного окна, внутри 2 поля, поле ввода и вывода. Так вот хотел узнать,...

C++ обертка для dll C - C++
Как написать C++ обертку для динамической библиотеки C?

DLL для запуска - C++
Всем доброго времени суток =) Пишу в MVS 2012, знаю что если запускать программы на других компах, то требует DLL, подскажите, какие? ...

DLL для Windows Mobile - C++
Всем добрый день. Такая проблема: есть библиотека DLL, которая была написана для десктопных приложений. Необходимо преобразовать ее в...

DLL, RAII для интерфеса - C++
Речь пойдёт, само собой, о неявно подключаемой dll для хранения классов. Решил пойти в сторону интерфейсов и фабрик классов, тут вроде всё...

9
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 667
Завершенные тесты: 1
19.12.2013, 14:11 #2
эээ
Ты загружаешь dll ради загрузки этой самой dll? Если она не будет работать, то и приложение, ее использующее, тоже) Иначе зачем загружать dll, если ее не используешь?
0
HighPredator
5541 / 1854 / 346
Регистрация: 10.12.2010
Сообщений: 5,470
Записей в блоге: 2
19.12.2013, 14:42 #3
mickey_smith, смотрите, ситуация заключается в следующем. Сама по себе библиотека не может работать/не работать в том же смысле, что и программа. Например при неявном подключении динамической библиотеки с использованием библиотеки импорта можно тем или иным способом отслеживать работу ее функций. Это же можно осуществлять и в случае явного подключения, плюс, можно определять ошибку при непосредственной загрузке ее в память.
Попробуйте конкретнее описать задачу.
0
mickey_smith
7 / 7 / 1
Регистрация: 20.11.2013
Сообщений: 32
19.12.2013, 15:02  [ТС] #4
Вообще отображение хода работы DLL не ключевая задача.
Основной вопрос в том, можно ли из DLL вызвать окно, например используя WinAPI или MFC... то есть запустить DLLку как оконное приложение.
Вход в DLL -> Нарисовать окно -> Убрать окно -> Выход из DLL

Прошу прощения за невнятные объяснения, просто я новичок совсем...
0
uhx
60 / 60 / 6
Регистрация: 11.07.2013
Сообщений: 304
19.12.2013, 15:05 #5
Dynamic-Link Library: Теория + Практика
0
mickey_smith
7 / 7 / 1
Регистрация: 20.11.2013
Сообщений: 32
19.12.2013, 15:21  [ТС] #6
uhx, спасибо, но это немного не то... Нужно что бы при выходе из DLL окно закрывалось само собой...
А в этом мануале указан вариант именно окна с предупреждением.

Добавлено через 4 минуты
monolit, наверное вы меня не правильно поняли. DLL не запускает саму себя, а хочет запустить окно, но не знает как)
0
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 667
Завершенные тесты: 1
19.12.2013, 17:11 #7
Цитата Сообщение от mickey_smith Посмотреть сообщение
DLL не запускает саму себя
Не это имел ввиду. Я имел ввиду что программа "использует dll чтобы ее использовать". dll - это грубо говоря какая-то функциональность, которую ты хочешь использовать у себя в программе - функции, и т.п.
Цитата Сообщение от mickey_smith Посмотреть сообщение
что бы при выходе из DLL
походу мы о разных вещах говорим, потому что впервые слышу даже такую постановку фразы. Из dll никуда не выходят.
Цитата Сообщение от mickey_smith Посмотреть сообщение
можно ли из DLL вызвать окно, например используя WinAPI или MFC.
Еще раз убеждаюсь в том, что мы говорим о разных вещах.
Цитата Сообщение от mickey_smith Посмотреть сообщение
запустить DLLку как оконное приложение

Так что, как вам уже сказали,
Цитата Сообщение от HighPredator Посмотреть сообщение
Попробуйте конкретнее описать задачу.
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,530
Завершенные тесты: 1
19.12.2013, 18:35 #8
mickey_smith, что находится в библиотеке? Или что она делает? Или
Цитата Сообщение от HighPredator Посмотреть сообщение
Попробуйте конкретнее описать задачу.
0
mickey_smith
7 / 7 / 1
Регистрация: 20.11.2013
Сообщений: 32
19.12.2013, 19:46  [ТС] #9
Цитата Сообщение от monolit Посмотреть сообщение
что бы при выходе из DLL
Имеется ввиду завершение выполнения функции, вызываемой из DLL

Цитата Сообщение от SatanaXIII Посмотреть сообщение
что находится в библиотеке?
Там будет находится всего одна функция, принимающая один аргумент и возвращающая одно значение.

Мне нужно что бы при вызове этой функции сторонней программой появлялось окно. Окно без кнопок и вообще без ожидания чего либо от пользователя, просто окно с надписью. И как только эта функция из DLL закончит свою работу окно должно закрываться. Вот и всё)
Ещё раз извиняюсь за некорректное изложение.
0
_lunar_
1290 / 1216 / 86
Регистрация: 03.05.2011
Сообщений: 2,871
Завершенные тесты: 1
19.12.2013, 21:46 #10
Цитата Сообщение от mickey_smith Посмотреть сообщение
Мне нужно что бы при вызове этой функции сторонней программой появлялось окно. Окно без кнопок и вообще без ожидания чего либо от пользователя, просто окно с надписью.
может быть в сторону хука посмотреть. Т.е. что-то на подобии этого (пишу в блокноте, проверить не на чем)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <Windows.h>
 
typedef VOID(__stdcall *CALL)(unsigned int);
 
DWORD __stdcall Proc(LPVOID lpParam)
{
    HINSTANCE h = FindExecutable(L"Some_Program", nullptr, nullptr);
    if (h != NULL)
    {
        CALL call = (CALL)GetProcAddress(h, "Some_Function");
        if (call != NULL)
        {
            MessageBox(nullptr, L"Text", L"Title", MB_OK);
        }
    }
    return 0;
}
 
BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    switch (fdwReason)
    {
    case DLL_PROCESS_ATTACH:
        CreateThread(0, 0, &Proc, 0, 0, 0);
        break;
    }
}
вот только программу нужно будет запускать через другую программу - инжектор. При вызове программой некоторой функции сработает перехват, который вызовет messagebox.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2013, 21:46
Привет! Вот еще темы с ответами:

Утилита для просмотра DLL - C++
Нслышан, что еть утилита такая которая просматривает DLL и H файл делает. А вот какая не знаю :-(

Для чего используется DLL? - C++
исходники кода написанного на C++ хранятся в DLL верно?? Для чего используется DLL?? Добавлено через 2 минуты вернее не исходники а...

Тема для курсовой(DLL, C++) - C++
Всем привет. Пожалуйста, помогите с заданием для курсовой. Идея заключается в использовании собственных библиотек DLL, язык С++. Нужно...

Оптимизация для dll в visual c++ - C++
Какие флаги включить/отключить и какие прагмы писать в коде, чтобы не делал ненужных оптимизаций? Например, если функция возвращает...


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

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
19.12.2013, 21:46
Ответ Создать тему
Опции темы

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