Вниз
Скачать: CL | DM;

Оскомина работы с эксплорером...   Найти похожие ветки 

 
deedlit ©   (2003-06-06 15:19) [0]

... настигла и меня :) Программа должна регистрировать в реестре некоторые типы файлов, которые она будет открывать, причем делать это двумя независимыми друг от друга способами - создавать/перезаписывать ассоциацию программы с типом файлов и просто добавлять пункт в меню "Открыть с помощью". Поискала в хелпе, набрела только на функцию SHChangeNotify, которая обновляет ассоциации. Кто-нибудь делал такое?..


 
Skier ©   (2003-06-06 15:21) [1]


> и просто добавлять пункт в меню "Открыть с помощью".

В контекстное меню десктопа ?


 
Skier ©   (2003-06-06 15:24) [2]

Oops. Проглядел что речь про эксплорер :)
Мой вопрос отменяется !


 
Poirot (Work)   (2003-06-06 15:43) [3]

А в чём проблема-то! Это разные куски!
Если вам надо связять тип с прогой, то регте в HKCR, а если другое - типа открыть с помощью, то это уже в другой немного ветке... подробнее посмотрите в такой весч, как Справочник по реестру ( http://www.softodrom.ru)или сами покапайтесь в реестре... я нашёл... там несложно!!!!
Но есть вариант, что вы что-то другое хотели...
Я подобную батву делал....


 
deedlit ©   (2003-06-07 11:37) [4]

Вот плоды вчерашних раздумий! :)

procedure TMainForm.RegExtension(FileExtension, Descriptor: string);
var
Reg: TRegistry;
begin
Reg:=TRegistry.Create;
try
With Reg do begin
RootKey:=HKEY_CLASSES_ROOT;
OpenKey("."+FileExtension, true);
WriteString("", "Program."+UpperCase(FileExtension));
CloseKey;
CreateKey("Program."+UpperCase(FileExtension));
OpenKey("Program."+UpperCase(FileExtension), true);
WriteString("", Descriptor);
CloseKey;
OpenKey("Program."+UpperCase(FileExtension)+"\DefaultIcon", true);
WriteString("", Application.ExeName+",0");
CloseKey;
OpenKey("Program."+UpperCase(FileExtension)+"\shell\Открыть", true);
WriteString("", "&Открыть");
CloseKey;
OpenKey("Program."+UpperCase(FileExtension)+"\shell\Открыть\command", true);
WriteString("", Application.ExeName+" "%L"");
CloseKey;
end;
finally
Reg.Free;
end;
end;


Проблема №1: Не могу задать дескриптом для файла! Т.е. он пишет просто Файл "$расширение", и все. Смотрела на примере WinRAR"а - там дескриптор просто прописан как дефолтное значение в типе, я так же сделала - толку ноль. :( В чем ошибка?

Проблема №2: Как, все же, не задавая прямую ассоциацию с файлом, добавить пункт в его менюшку "Открыть с помощью"? Poirot, помоги, пжалсста. :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
14-60350
Knight
2003-05-30 22:19
2003.06.19
Девчёнки! Объясните....


3-60018
Vorobyev Sergey
2003-05-27 11:13
2003.06.19
Как подсчитать число записей для ЛЮБОГО запроса ?


1-60132
ewgeny
2003-06-06 13:59
2003.06.19
Как вызвать в DLL метод объекта приложения ?


14-60409
kaif
2003-06-02 19:18
2003.06.19
Можно ли примирить эволюционизм и креационизм?


11-60098
Alexander
2002-09-22 12:30
2003.06.19
Странное поведение свойства Align:




   Наверх