Главная страница
    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.46 MB
Время: 0.007 c
7-19906
Alexandr3
2003-02-11 17:39
2003.04.07
Кто работал с Epson Opos помогите...


1-19631
yurikon03
2003-03-25 15:58
2003.04.07
Огромный размер проги!


14-19804
кондратий
2003-03-19 21:33
2003.04.07
Файл или Папка


1-19541
electric
2003-03-26 15:10
2003.04.07
запись переменной типа StringList в типизированный файл


14-19828
TGrigory
2003-03-20 17:24
2003.04.07
Открытие файлов в Turbo Pascal 7





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский