PDA

Pogčedajte punu verziju : ImageShack Hotspot - Windows Explorer integracija


Nemanja Avramović
16. 05. 2007., 12:47
Radim neki program (unapređujem ImageShack Hotspot) i hteo bih da dodam opciju da se na desni klik na sliku, pa odabirom stavke "Upload to ImageShack", slika uploaduje na imageshack.us
Mislio sam da će posao da mi odradi upisivanje sledećih podataka u Registry:

HKEY_CLASSES_ROOT\.jpg\shell\upload\
default = "Upload to ImageShack"
HKEY_CLASSES_ROOT\.jpg\shell\upload\command\
default = "c:\putanja\do\programa\exe.exe "%1""

Međutim, ovo ne radi. Ne znam zašto. Onda sam našao na netu da treba da se upisuju podaci u HKEY_CLASSES_ROOT\jpegfile\shell\blabla\ i to mi je proradilo. Proradilo je sa jpegfile za jpg fajlove i sa giffile za gif fajlove. Kada upišem to u pngfile za PNG fajlove onda se u popup meniju ne pojavljuje stavka "Upload to ImageShack". Isti slučaj je i sa BMP fajlovima (bmpfile).
Da li neko možda zna gde tačno treba upisati ovo gore u Registry da bi to radilo (na svim mašinama).

p.s. Možda sam promašio forum ali nisam video adekvatniji.. a i ne upisujem ovo ručno nego iz Delphija :p

MrSteel
16. 05. 2007., 12:58
probaj sa definicijama tipova fajlova u registry-ju

HKEY_CLASSES_ROOT
spisak svih registrovanih tipova datoteka
za BMP pise - Paint.Picture
za PNG pise - Photoshop.PNGFile.9

pa za njihov shell da ubacis

sasvim moguce da ti nisam pomogao uospte i da sam lupio
;

Ilija Studen
16. 05. 2007., 13:01
Nema veze sa problemom, ali samo kratak komentar - tu opciju bi trebalo da staviš u Send to podmeni...

Nemanja Avramović
16. 05. 2007., 13:10
za BMP pise - Paint.Picture
za PNG pise - Photoshop.PNGFile.9

Hm, ali svuda piše drugačije, neko možda nema instaliran Photoshop. Nije valjda da moram prvo da čitam koja je definicija za svaku ekstenziju iz HKCR\.ekstenzija pa da upisujem u HKCR\definicija (edit: Dobro, nije to toliko teško koliko sam ovde napisao da jeste :))?

Što se mene tiče može i u Send to ako će mi biti lakše da realizujem to, ali to nikad nisam radio, a ovo sa ekstenzijama sam kao radio ranije (doduše samo na novim ekstenzijama, nisam menjao/dodavao ništa starim) :/

edit: Uspeo sam! Evo procedure koja završava posao (Delphi), možda treba malo da se doradi ali to je u principu to:

procedure TForm1.Integrate_In_Explorer(ekstenzija:string);
var
reg: TRegistry;
komanda,tekst,exec,definicija:string;
begin

komanda:='upload';
tekst:='Upload to ImageShack';
exec:='"'+extractshortpathname(paramstr(0))+'" "%1"';

reg := TRegistry.Create;
reg.RootKey := HKEY_CLASSES_ROOT;
reg.OpenKey(ekstenzija,true);
definicija:=reg.ReadString('');
reg.CloseKey;
reg.OpenKey(definicija+'\shell\'+komanda,true);
reg.WriteString('',tekst);
reg.CloseKey;
reg.OpenKey(definicija+'\shell\'+komanda+'\command ', true);
reg.WriteString('',exec);
reg.CloseKey;
reg.Free;
end;