Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для Viliem
0 / 0 / 0
Регистрация: 12.07.2013
Сообщений: 3

DELPHI+DLL+ системное меню

12.07.2013, 22:19. Показов 1573. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер Дамы и Господа! Я ищу решение небольшой проблемы, думаю, что оно не очень сложное, но найти четких вариантов не могу.

Имеется пример: "Добавить пункт к системному меню приложения"

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
private
  { Private declarations }
  procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
 
 
В разделе implementation напишем следующее:
 
const
  SC_MyMenuItem = WM_USER + 1;
 
procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
  if Msg.CmdType = SC_MyMenuItem then
    ShowMessage('Был нажат наш пункт меню!!!')
  else
    inherited;
end;
 
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  AppendMenu(GetSystemMenu(Handle, FALSE), MF_SEPARATOR, 0, '');
  AppendMenu(GetSystemMenu(Handle, FALSE), MF_STRING, SC_MyMenuItem, 'это КРУТО!');
end;
Возможно ли запечатать это в dll, а потом использовать получившееся меню в других приложениях, написанных на любом другом языке?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.07.2013, 22:19
Ответы с готовыми решениями:

Какой код надо прописать в Delphi (задать таймер на 30 дней (системное время,год,м) программа закрывается
год, Месяц, день программа закрывается после компеляции осталась время неизменно Надо чтобы в коде сразу прописать дату закрытия

Delphi dll
Написал на Delphi dll с функцией для переворачивания изображения лежащего в не сжатом виде без заголовка (поле данных в несжатом bmp ) с...

dll в Delphi
Доброго времени суток! Возникла необходимость в написании библиотеки (в ней ресурсы всякие и несколько функций) которая будет сама...

7
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
13.07.2013, 15:28
-Реестр
-Не нет, не слышал!

Юзай. Кажись HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Exproler (короче проводник). Там ищешь PopupMenu, ну дальше уже добавляешь туда свою запись.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,895
Записей в блоге: 11
13.07.2013, 16:42
Азбука? Не, не слышал... (С)

Читай вопрос, писатель... Системное меню приложения - это то, что открывается по нажатию Alt+Пробел, при чем тут реестр и Explorer? Что, если я написал программу, которая не загаживает реестр никчемными записями, то у нее нет системного меню?
0
13.07.2013, 18:09

Не по теме:

Цитата Сообщение от UI Посмотреть сообщение
Азбука? Не, не слышал... (С)
:good:

0
332 / 85 / 16
Регистрация: 10.01.2011
Сообщений: 516
Записей в блоге: 1
16.07.2013, 17:56
Viliem, вроде можно, но при компиляции нужно использовать stdcall. И скорее всего подпрограммы придется обозвать еще и индексами
0
 Аватар для Viliem
0 / 0 / 0
Регистрация: 12.07.2013
Сообщений: 3
17.07.2013, 09:38  [ТС]
Цитата Сообщение от xNeKiToSx Посмотреть сообщение
Viliem, вроде можно, но при компиляции нужно использовать stdcall. И скорее всего подпрограммы придется обозвать еще и индексами
Благодарю за ответ, поясните пожалуйста про индексы... Не очень понял общую схему работы.
0
332 / 85 / 16
Регистрация: 10.01.2011
Сообщений: 516
Записей в блоге: 1
17.07.2013, 18:29
в разделе exports будущей dll пишем
Delphi
1
2
exports
MyProc INDEX 1;
В делфи описание такой функции (статично) будет выглядеть как то так
Delphi
1
procedure atata  external  'MYDLL'  index  1;
т.е. мы не указываем явно имя подпрограммы, а его индекс, в случае одного языка - компактность, скорость.
Как в других языках я не знаю, но не должно быть конфликтов...
Где-то вроде еще слышал о том что MS перестала поддерживать index и рекомендует использовать имена.
Пищу для размышлений дал, буду рад если расскажете о своих результатах)
0
 Аватар для Viliem
0 / 0 / 0
Регистрация: 12.07.2013
Сообщений: 3
18.07.2013, 10:08  [ТС]
Цитата Сообщение от xNeKiToSx Посмотреть сообщение
в разделе exports будущей dll пишем
Delphi
1
2
exports
MyProc INDEX 1;
В делфи описание такой функции (статично) будет выглядеть как то так
Delphi
1
procedure atata  external  'MYDLL'  index  1;
т.е. мы не указываем явно имя подпрограммы, а его индекс, в случае одного языка - компактность, скорость.
Как в других языках я не знаю, но не должно быть конфликтов...
Где-то вроде еще слышал о том что MS перестала поддерживать index и рекомендует использовать имена.
Пищу для размышлений дал, буду рад если расскажете о своих результатах)
Благодарю. Я попробую добиться результата.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.07.2013, 10:08
Помогаю со студенческими работами здесь

Создание DLL и меню внешней программы
Привет олл! скажите можно ли сделать ДЛЛку которая при подключении ее как модуля главной программы будет передавать из себя данные ...

DLL (плагин) на Delphi
Есть заголовочный файл для создания длл на C (.h файл). Хочу переложить структуры и сделать заголовочный файл для Delphi. 1-ая функция...

Delphi DLL ПОМОГИТЕ!
Нужно написать DLL: 1) Расстояние между двумя точками с координатами (x1, y1, z1) и (x2, y2, z2) 2) Определение минимального числа из...

Экспортируемые функций DLL (С++ в Delphi)
Уважаемые программисты! У меня к Вам просьба, помогите разобраться с проблемой! Есть DLL написанная в то ли C++ Builder, то ли в...

Программа на delphi и библиотека dll на C++
Подскажите, как правильно передать масив (двумерный, трехмерный) у функцию из библиотеки, которая написана на С++ в среде Visual C++ 6.0?...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru