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

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

Восстановить пароль Регистрация
 
mickey_smith
7 / 7 / 1
Регистрация: 20.11.2013
Сообщений: 32
19.12.2013, 13:43     Окно для DLL #1
Всем привет!

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

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

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

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

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

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

Мне нужно что бы при вызове этой функции сторонней программой появлялось окно. Окно без кнопок и вообще без ожидания чего либо от пользователя, просто окно с надписью. И как только эта функция из DLL закончит свою работу окно должно закрываться. Вот и всё)
Ещё раз извиняюсь за некорректное изложение.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2013, 21:46     Окно для DLL
Еще ссылки по теме:

C++ C++ DLL для работы с php файлами
C++ Исчезает окно для ввода и вывода
C++ DLL, RAII для интерфеса

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

Или воспользуйтесь поиском по форуму:
_lunar_
Graphics API Developer
1197 / 1123 / 76
Регистрация: 03.05.2011
Сообщений: 2,741
19.12.2013, 21:46     Окно для DLL #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.
Yandex
Объявления
19.12.2013, 21:46     Окно для DLL
Ответ Создать тему
Опции темы

Текущее время: 21:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru