Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];

Вниз

Открытие программы по щелчку на ее файле   Найти похожие ветки 

 
defenseur   (2003-02-01 12:15) [0]

Как из Delphi сделать, чтобы файлы определенного типа ассоциировались с моей прогой и по нажатию на эти файлы в Explorer открывалась прога и выполнялась процедура открытия этого файла


 
Anatoly Podgoretsky   (2003-02-01 13:06) [1]

Смотри в реестре раздел CLASSES


 
Nick_N_A   (2003-02-02 05:48) [2]

Admin>Конечно это копп-железо ?!

defenseur> изучи ветвь HKey_Classes_Root в системном реестре
список расширений ссылается на обработчик расширения, пример
[Root\.bmp]@="bmpfile"
[Root\bmpfile\shell\open\command] /* команда открыть, */
@="mspaint.exe "%1"" /* обработчик Paint*/
/* %1 - вместо него будет файл в коммандной строке
прим: msPaint.exe "May picture1.bmp" */
[Root\bmpfile\DefaultIcon]
@="%1" а это ссылка на иконку, сюда можно 1.ico,
"1.dll, 5","1.exe"

Проще всего работать с ТRegistry
r.RootKey:=HKey_Classes_Root
r.OpenKey("\bmpfile\DefaultIcon",true)
r.WriteString("","1.ico");{собака-по умолчанию -> пусто}

еще проще создать файл *.reg (к примеру 1.reg), за тем запустить его,

REGEDIT4
[HKEY_CLASSES_ROOT\.C--]
@="C--FILE"
[HKEY_CLASSES_ROOT\C--FILE\shell\open\command]
@="D:\\c--\\c--.exe %1"

[HKEY_CLASSES_ROOT\C--FILE\DefaultIcon]
@="shell32.dll,-2"


 
Nick_N_A   (2003-02-02 05:51) [3]

Забыл сказать, есть прога RegEdit.exe на любом компе с виндой


 
blackman   (2003-02-02 16:43) [4]

Может быть так:
uses registry;
procedure TForm1.RegisterFileType(prefix:String; exepfad:String);
var
reg:TRegistry;
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CLASSES_ROOT;
//create a new key --> .pci
reg.OpenKey("."+prefix,True);
//create a new value for this key --> pcifile
reg.WriteString("",prefix+"file");
reg.CloseKey;
//create a new key --> pcifile
reg.CreateKey(prefix+"file");
//create a new key pcifile\DefaultIcon
reg.OpenKey(prefix+"file\DefaultIcon",True);
//and create a value where the icon is stored --> c:\project1.exe,0
reg.WriteString("",exepfad+",0");
reg.CloseKey;
reg.OpenKey(prefix+"file\shell\open\command",True);
//create value where exefile is stored --> c:\project1.exe "%1"
reg.WriteString("",exepfad+" "%1"");
reg.CloseKey;
reg.Free;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
RegisterFileType("pci","c:\project1.exe");
end;


 
Builder   (2003-02-05 02:32) [5]

не все так просто - если поменять под ХР через проводник программу, которая запускаеться для опреленного типа, то она меняет это все не в HKEY_CLASSES_ROOT;
Посему смотреть еще нужн


 
Anatol   (2003-02-12 12:16) [6]

Это все прекрасно работает под Win95/98 и WinXP в режиме администратора.
А вот как это сделать в WinXP под user"ом???



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

Форум: "Система";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
7-19891
Stan
2003-02-11 00:33
2003.04.07
Работа с реестром


3-19437
Sergant
2003-03-18 14:07
2003.04.07
Альтернатива SQL Explorer


1-19630
GrayWolf
2003-03-24 09:22
2003.04.07
Реакция на MenuItem.OnClick


1-19688
msoftware
2003-03-26 04:04
2003.04.07
Ну что же этому компилятору надо!!!


6-19723
HKEY_CURREN_USER
2003-02-14 14:53
2003.04.07
Cookies, Tem. Internet files, History. - Delete





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский