Ĺadny brzuch
Witam,
Jak uzyskać takie efekty, jak:
- gdy najadę kursorem na skrót do programu, to na "chmurce" nie wyświetli się lokoalizacja (domyślnie), tylko jakaś treść
- jesli jest powiedzmy dokument z rozszerzeniem *.html, *.php, *.htm, to jak rozwinę menu kontekstowe pliku w takim rozszerzeniem, to się pojawi np. "Edytuj w XXX"
- jak zrobić, że jeśli powiążę pliki *.html i *.htm, to jak mam taki plik, to w rubryce "Typ" (widok szczegóły), będzie powiedzmy "Dok. HTML programu XXX", a nie "Plik HTML" (domyślnie)
- i inne takie bajery ^_^
A więc jak tego dokonać?? :o :>
Ad2. Jest w FAQu (chyba) ale sa tez komponenty do robienia takich rzeczy bodajrze na torry.net (nie pamietam jak sie nazywaly :P )
1.procedure TForm1.Button1Click(Sender: TObject); var myobject:IUnknown; mysLink:IShellLink; mypFile:IPersistFile; wfn:pwidechar; b:array[0..255]of char; begin myobject:=CreateComObject(CLSID_ShellLink); mysLink:=MyObject as IShellLink; mypfile:=MyObject as IPersistFile; myslink.SetPath('c:\windows\notepad.exe'); myslink.SetDescription('super wypasiony edytor textu :D'); SHGetSpecialFolderPath(0,b,CSIDL_DESKTOP,false); getmem(wfn,512); StringToWideChar(b+'\notatnik.lnk',wfn,512); mypfile.Save(wfn,true); freemem(wfn,512); end;2.procedure TForm1.Button1Click(Sender: TObject); var h:hkey; b:pbyte; l:pdword; begin getmem(b,256); getmem(l,4); l^:=REG_SZ; if RegOpenKeyEx(HKEY_CLASSES_ROOT,'.txt',0,KEY_ALL_ACCESS,h)=0 then if RegQueryValueEx(h,'',nil,l,b,@l)=0 then if RegCreateKeyEx(HKEY_CLASSES_ROOT,pchar(pchar(B )+'\shell\Notatnikiem'),0,nil,0,KEY_ALL_ACCESS,nil,h,nil)=0 then begin RegSetValueEx(h,'',0,REG_SZ,pchar('Notatnikiem'),11); if RegCreateKeyEx(HKEY_CLASSES_ROOT,pchar(pchar(B )+'\shell\Notatnikiem\command'),0,nil,0,KEY_ALL_ACCESS,nil,h,nil)=0 then RegSetValueEx(h,'',0,REG_SZ,pchar('"c:\windows\notepad.exe" "%1"'),29); RegCloseKey(h); end; freemem(l,4); freemem(b,256); end;
Użytkownik Cyrkiel edytował ten post 24 listopad 2005, 19:17
THX Cyrkiel :D Dobre też to ;)
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Jak uzyskać takie efekty, jak:
- gdy najadę kursorem na skrót do programu, to na "chmurce" nie wyświetli się lokoalizacja (domyślnie), tylko jakaś treść
- jesli jest powiedzmy dokument z rozszerzeniem *.html, *.php, *.htm, to jak rozwinę menu kontekstowe pliku w takim rozszerzeniem, to się pojawi np. "Edytuj w XXX"
- jak zrobić, że jeśli powiążę pliki *.html i *.htm, to jak mam taki plik, to w rubryce "Typ" (widok szczegóły), będzie powiedzmy "Dok. HTML programu XXX", a nie "Plik HTML" (domyślnie)
- i inne takie bajery ^_^
A więc jak tego dokonać?? :o :>
Ad2. Jest w FAQu (chyba) ale sa tez komponenty do robienia takich rzeczy bodajrze na torry.net (nie pamietam jak sie nazywaly :P )
1.procedure TForm1.Button1Click(Sender: TObject); var myobject:IUnknown; mysLink:IShellLink; mypFile:IPersistFile; wfn:pwidechar; b:array[0..255]of char; begin myobject:=CreateComObject(CLSID_ShellLink); mysLink:=MyObject as IShellLink; mypfile:=MyObject as IPersistFile; myslink.SetPath('c:\windows\notepad.exe'); myslink.SetDescription('super wypasiony edytor textu :D'); SHGetSpecialFolderPath(0,b,CSIDL_DESKTOP,false); getmem(wfn,512); StringToWideChar(b+'\notatnik.lnk',wfn,512); mypfile.Save(wfn,true); freemem(wfn,512); end;2.procedure TForm1.Button1Click(Sender: TObject); var h:hkey; b:pbyte; l:pdword; begin getmem(b,256); getmem(l,4); l^:=REG_SZ; if RegOpenKeyEx(HKEY_CLASSES_ROOT,'.txt',0,KEY_ALL_ACCESS,h)=0 then if RegQueryValueEx(h,'',nil,l,b,@l)=0 then if RegCreateKeyEx(HKEY_CLASSES_ROOT,pchar(pchar(B )+'\shell\Notatnikiem'),0,nil,0,KEY_ALL_ACCESS,nil,h,nil)=0 then begin RegSetValueEx(h,'',0,REG_SZ,pchar('Notatnikiem'),11); if RegCreateKeyEx(HKEY_CLASSES_ROOT,pchar(pchar(B )+'\shell\Notatnikiem\command'),0,nil,0,KEY_ALL_ACCESS,nil,h,nil)=0 then RegSetValueEx(h,'',0,REG_SZ,pchar('"c:\windows\notepad.exe" "%1"'),29); RegCloseKey(h); end; freemem(l,4); freemem(b,256); end;
Użytkownik Cyrkiel edytował ten post 24 listopad 2005, 19:17
THX Cyrkiel :D Dobre też to ;)