Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
 Аватар для Cdvig
9 / 9 / 4
Регистрация: 08.10.2009
Сообщений: 173

Как исспользовать DllMain

11.10.2010, 12:43. Показов 3944. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу Dll с кучей функций есть необходимость оповещать пользователя о том что он использует эту библиотеку. Думаю это реализовать с помощью функции dllmain но что то не выходит что не так?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
 
namespace DLL
{
    public class Class1
    {        
        public static void DllMain()
        {
            MessageBox.Show("Оповещение", "Вы исспользуете библиотеку");
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.10.2010, 12:43
Ответы с готовыми решениями:

dllmain на C#
Здраствуйте, на C++ у меня была dllmain такого вида : BOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID...

SVG не хочет исспользовать шрифт. Что делать?
Всем привет! Специалисты, подскажите пожалуйсто как быть. Дело такое. Есть у меня svg файл. В нем используется шрифт bauhaus. Ну так...

Где искать DllMain в ATL 7.0?
Может кто знает где искать DllMain в ATL 7.0 А то смотрю в глобальных функциях есть а когда пытаешься открыть программа выкидывает тебя...

13
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
11.10.2010, 12:49
Цитата Сообщение от Cdvig Посмотреть сообщение
Думаю это реализовать с помощью функции dllmain но что то не выходит что не так?
А в чем проблема? не знаете как вызвать функцию?
0
 Аватар для Cdvig
9 / 9 / 4
Регистрация: 08.10.2009
Сообщений: 173
11.10.2010, 12:54  [ТС]
да мне надо чтоб функция автоматом вылетала при использовании
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
11.10.2010, 13:13
В программе, когда начинается использование библиотеки, вызывайте данную функцию:
C#
1
Class1.DllMain();
1
 Аватар для Cdvig
9 / 9 / 4
Регистрация: 08.10.2009
Сообщений: 173
11.10.2010, 13:24  [ТС]
Дело в том что я пишу dll для других... они врятли будут сами вызывать эту функцию. Тоесть мне нуужны функция которая будет не зависимо вызываться сама. в с++ это и есть dllmain а в c# я не знаю.
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
11.10.2010, 13:40
Посмотрел, что такое dllmain. ИМХО в c# подобного нет.
0
 Аватар для Cdvig
9 / 9 / 4
Регистрация: 08.10.2009
Сообщений: 173
11.10.2010, 13:41  [ТС]
Да я уже так и понял.Обидно.
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
11.10.2010, 13:44
А если в конструктор запихать вызов данного метода:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
 
namespace DLL
{
    public class Class1
    {
        public Class1()
        {
             DllMain();
        }        
        private void DllMain()
        {
            MessageBox.Show("Оповещение", "Вы исспользуете библиотеку");
        }
    }
}
не хорошо. конечно, но как вариант.
1
 Аватар для Cdvig
9 / 9 / 4
Регистрация: 08.10.2009
Сообщений: 173
11.10.2010, 13:46  [ТС]
Не что то не то
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
11.10.2010, 13:58
А если так: тоже не очень, но при этом вывод сообщения будет только единожды:
C#
1
2
3
4
public sealed class Class1 
    {
        static Class1() { System.Windows.Forms.MessageBox.Show("вы используете библиотеку"); }
    }
1
 Аватар для Cdvig
9 / 9 / 4
Регистрация: 08.10.2009
Сообщений: 173
11.10.2010, 14:21  [ТС]
Работает но тоже не то... видемо прийдется для этой dll 10ую студию качать а то в 5 тока C# работает
спасибо тебе

Добавлено через 6 минут
Так а если перефразировать вопрос так: Если я в dll запихаю иконку как ее вытащить чтобы отобразить ее в проводнике??Надеюсь я понятно изъясняюсь.
0
 Аватар для Terion
271 / 203 / 13
Регистрация: 18.06.2010
Сообщений: 491
11.10.2010, 15:00
есть такая библиотека, spire.dataexport(net20)_3.0. для экспорта данных, они триальная.так там, при каждом вызове какой-то функции, думаю, конструкторов классов, вылетает такое сообщение. не знаю, как это реализовано, мб просто там удобно было каждому конструктору мессадж добавить,а может, и умнее как-то сделано. по крайней мере, такая практика явно существует)
0
 Аватар для Cdvig
9 / 9 / 4
Регистрация: 08.10.2009
Сообщений: 173
12.10.2010, 13:41  [ТС]
Как я понял в языке C++ DllMain это winApi функция(ясли я чего не напутал) то есть может можно как то подключить эту возможность в C#? Может у вас есть соображения по этому поводу?

Добавлено через 8 часов 49 минут
А как насчет статических конструкторов http://msdn.microsoft.com/ru-r... 6w0hc.aspx они не подойдут для решения этой проблемы?
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
12.10.2010, 13:45
Cdvig, это тоже, что и в посте #10
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.10.2010, 13:45
Помогаю со студенческими работами здесь

Изменение функции для DllMain
Здравствуйте. Вот есть файл cpp, в нем DllMain: #include "stdafx.h" #include "windows.h" #include "header_dll.h" ...

DllMain - получить имя программы
Как проще в DllMain получить имя программы, которая ее загружает?

Есть ли в .NET библиотеках метод DllMain?
я вот тут подумал а в C# библиотеки могут использоваться только чтоли как сборник классов? ну там например в c++ библиотеки и сами по себе...

Управление курсором, находящимся над окном, стилем и цветом окна (использовать dllmain)
Господа, прошу вашей помощи. Надо лабу сделать С помощью меню стандартного или плавающего необходимо управлять внешним видом окна:...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru