Вниз
Скачать: 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.463 c
14-60400
JibSkeart
2003-06-03 14:56
2003.06.19
Где можно найти Boot утилиты для Seagate ?


1-60167
TDIONIS
2003-06-07 00:35
2003.06.19
CopyFiles


1-60150
Zew
2003-06-04 18:19
2003.06.19
через определённое время прибавлять число


4-60470
fifo
2003-04-19 19:03
2003.06.19
Проблема с Отсылкой нажатий клавиш другой программе


6-60291
пробник
2003-04-17 10:41
2003.06.19
Как определить текущую директорию в CGI?




   Наверх