skojarzenie rozszerzenia z programem

Odpowiedz Nowy wątek
Rem
2007-04-13 14:14
Rem
0

Witam

Znalazlem tutaj bardzo fajny artykul o przypisywaniu rozszerzen do plikow w rejestry, chcialem go lekko przerobic ale natrafilem na schody, a mianowicie: przypisuje plik o rozszerzeniu *.axyz4 do Scalc (Openoffice) i bierze mi go za plik tekstowy a jest on plikiem typu DBase. Jak mu nadac inny atrybut pliku??

var moje_rozszerzenie, sciezka_prog : String; //rozszerzenie naszego pliku
Reg : TRegistry;
begin
//teraz rejestrujymy swoje rozszerzenie
moje_rozszerzenie := 'axyz4'; //nazwa rozszerzenia
sciezka_prog := 'C:\Program files\OpenOffice.org 2.2\Program\scalc.exe'; // sciezka ikony
//Teraz definiujemy to rozszerzenie w rejestrze
try
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey('.' + moje_rozszerzenie, True); //tworzy klucz w rejestrze o nazwie dla nas np ".xyz"
Reg.WriteString('', AnsiUpperCase(moje_rozszerzenie) + 'dbase'); //tworzy wartoϾ zawierajaca
//nazwe klucza w rejestrze gdzie bed¹
//znajdowa³y siê dane na
//temat naszego pliku dla nas "XYZfile"
Reg.CloseKey(); //zamykamy ten klucz i idziemy dalej
Reg.OpenKey(AnsiUpperCase(moje_rozszerzenie) + 'file', True); //tworze powy¿szy klucz
//teraz podaje opis naszego pliku
Reg.WriteString('','Plik '+moje_rozszerzenie); //w miejsce kropek podajesz nazwê swojego programu
Reg.CloseKey(); //zamykamy ten klucz i idziemy dalej
//teraz przypisujemy plikowi ikonê
Reg.OpenKey(AnsiUpperCase(moje_rozszerzenie) + 'file\DefaultIcon', True);
Reg.WriteString('',sciezka_prog + ',0');
Reg.CloseKey(); //zamykamy ten klucz i idziemy dalej
//teraz tworzymy mo¿liwoœæ otwierania pliku w naszym programie
Reg.OpenKey(AnsiUpperCase(moje_rozszerzenie) + 'file\shell\open', True);
Reg.WriteString('','&Otwórz'); //etykieta pozycji w menu kontekstowym
Reg.CloseKey();
Reg.OpenKey(AnsiUpperCase(moje_rozszerzenie) + 'file\shell\open\command', True);
Reg.WriteString('',sciezka_prog + ' "%1"');
Reg.CloseKey();
finally
Reg.Free;
end;

Pozostało 580 znaków

ŁF
2007-04-13 20:04
ŁF
Moderator

Rejestracja: 17 lat temu

Ostatnio: 9 godzin temu

0

z tego co wiem z praktyki nie da rady - OO sam sprawdza typ pliku i otwiera go w - jego zdaniem - najlepszym module.


Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0