Skojarzenia rozszerzeń

0

Mam zamiar zrobić, takie coś, ale nie bardzo wiem jak...

Na formie są różne CheckBoxy, np. "HTM', "TXT", "PHP" itd. Chodzi mi o to, aby przy zdarzeniu OnShow formy, checkboxy te były zaznaczone jeżeli moja aplikacja otwiera dany typ rozrzeżenia. Jeżeli nie - to odznaczone. Jest to pierwsze pytanie moje - na odczyt z rejestru.

Druga sprawa, to już sam zapis. Po kliknięciu na przycisk "OK", program ma zapisywać do rejestru skojarzenia rozszeżeń z moją aplikacją (oczywiście tylko te zaznaczone).

Chyba każdy zrozumiał. Mógłby ktoś sypnać kodem... ? :)

0

1:
reg.OpenKey(''+rozszerzenie+'_fileshellopencommand', true);
if reg.ReadString('')=Application.ExeName then jestskojazone;

2: wiele razy było na forum:

procedure zarejestruj(Rozszerzenie, Opis, Ikona, Sciezka:string);
var
reg:tregistry;
begin

reg:=tregistry.Create;
reg.RootKey:=HKEY_CLASSES_ROOT;
reg.OpenKey('.'+Rozszerzenie, true);
reg.WriteString('', rozszerzenie+'_file');
reg.CloseKey;

reg.OpenKey(rozszerzenie+'_file', true);
reg.WriteString('', Opis);
reg.CloseKey;

reg.OpenKey(rozszerzenie+'_file\DefaultIcon', true);
reg.WriteString('', Ikona);
reg.CloseKey;

reg.OpenKey(''+rozszerzenie+'_file\shell\open\command', true);
reg.WriteString('', sciezka);
reg.CloseKey;

reg.OpenKey(''+rozszerzenie+'_file\shell\open\ddeexec\Application', true);
reg.WriteString('', 'CoolPlayer');
reg.CloseKey;

reg.OpenKey(''+rozszerzenie+'_file\shell\open\ddeexec', true);
reg.WriteString(, );
reg.CloseKey;

reg.free;
end;

0

Na razie nie moge uruchomić tego pierwszego:

reg.OpenKey(''+TXT+'_fileshellopencommand', true);
if reg.ReadString('')=Application.ExeName then r1.checked:=true;

<font color="red">[Error] Unit4.pas(218): Undeclared identifier: 'TXT'</span>

:(:(

HELPPPP

0

Na razie nie moge uruchomić tego pierwszego:

reg.OpenKey(''+TXT+'_fileshellopencommand', true);
if reg.ReadString('')=Application.ExeName then r1.checked:=true;

<font color="red">[Error] Unit4.pas(218): Undeclared identifier: 'TXT'</span>

:(:(

HELPPPP

TXT ma być stringiem, więc trzeba go zamknąć w apostrofach, czyli : 'TXT'

ale łatwiej było by dla Ciebie zrobić tak :

  1. przed BEGIN wpisz const rozszezenie='TXT';
  2. użyj kodu werw0e.

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