Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Аналог папки Fonts


Nomolos ©   (2004-11-20 16:24:00) 

Мне необходимо:
а) Создать папку, открывающуюся в Explorer'е подобно WINDOWS\Fonts, т.е. ассоциировать определённую библиотеку dll с папкой (какова структура этой dll - ?, но Windows делает именно так).
б) Поместить ярлык на эту папку в "Панель управления".
Не знаю, каким оброзом. Возможно, вы знаете?


#Master#   (2004-11-23 20:01:00) [1]

Poirot, ЧИТАЙ ВОПРОС ВНИМАТЕЛЬНО!!!


Poirot   (2004-11-23 19:57:00) [2]

А аплет тут причём? илия недогоняю мысли?:)


#Master#   (2004-11-23 19:53:00) [3]

Для использования апплета измените его расширение с "dll" на "cpl" и поместите в системную директорию. Аплет(если ты не знаешь) - твоя прога в панеле инструментов. Вот тебе примерный кодик. Пользуйся!!!

library Project1; {Измените "program" на "library"}

uses
 Cpl, {используем модуль Cpl}
 Windows,
 Forms,
 Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

procedure ExecuteApp;
begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end;

{Сallback-функция для экспорта в Панель Управления}

function CPlApplet(hwndCPl: THandle; uMsg: DWORD;
 lParam1, lParam2: LongInt): LongInt; stdcall;
var
 NewCplInfo: PNewCplInfo;
begin
 Result := 0;
 case uMsg of
   {Инициализация должна возвращать True.}
   CPL_INIT:
     Result := 1;
   {Число апплетов}
   CPL_GETCOUNT:
     Result := 1;
   {Помещаем информацию об этом апплете в Панель управления.}
   CPL_NEWINQUIRE:
     begin
       NewCplInfo := PNewCplInfo(lParam2);
       with NewCplInfo^ do
       begin
         dwSize := SizeOf(TNewCplInfo);
         dwFlags := 0;
         dwHelpContext := 0;
         lData := 0;
         {Иконка для отображения на Панели Управления.}
         hIcon := LoadIcon(HInstance, 'MAINICON');
         {Имя апплета}
         szName := 'Project1';
         {Описание этого апплета.}
         szInfo := 'Это тестовый апплет.';
         szHelpFile := '';
       end;
     end;
   {Выполнение апплета.}
   CPL_DBLCLK:
     ExecuteApp;
 else
   Result := 0;
 end;
end;

{Экспортирование функции CplApplet}
exports
 CPlApplet;
begin

end.


VMcL   (2004-11-20 23:48:00) [4]

>> Nomolos  (20.11.04 21:52) [3]

Подробнее, думаю, есть в MSDN.


Nomolos   (2004-11-20 21:52:00) [5]

А попподробнее? Кто такой fontext? Ресурсы? Чьи? Записи в реестре? Зачем? Какие? Как интерпритируются системой?


VMcL   (2004-11-20 17:19:00) [6]

desktop.ini

[.ShellClassInfo]
UICLSID={BD84B380-8CA2-1069-AB1D-08000948F534}


HKEY_CLASSES_ROOT\CLSID\{BD84B380-8CA2-1069-AB1D-08000948F534}

[HKEY_CLASSES_ROOT\CLSID\{BD84B380-8CA2-1069-AB1D-08000948F534}]
@="Fonts"

[HKEY_CLASSES_ROOT\CLSID\{BD84B380-8CA2-1069-AB1D-08000948F534}\DefaultIcon]
@=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,53,79,73,74,65,6d,33,32,5c,66,\
 6f,6e,74,65,78,74,2e,64,6c,6c,2c,2d,31,30,31,00

[HKEY_CLASSES_ROOT\CLSID\{BD84B380-8CA2-1069-AB1D-08000948F534}\Hierarchical]
@="0"

[HKEY_CLASSES_ROOT\CLSID\{BD84B380-8CA2-1069-AB1D-08000948F534}\InProcServer32]
@="fontext.dll"
"ThreadingModel"="Apartment"


Alekc   (2004-11-20 17:16:00) [7]


> а) Создать папку, открывающуюся в Explorer'е подобно WINDOWS\Fonts,
> т.е. ассоциировать определённую библиотеку dll с папкой
> (какова структура этой dll - ?, но Windows делает именно
> так).

Нет, папка Windows\Fonts - это такая же папка на диске, как и Windows\System... ну или почти такая же...


Наверх

Титульная страница Поиск, карта сайта Написать письмо