Odpalenie skrotu przez ShellExecute()...

0

czesc
ostatnio probowalem odpalic na wszystkie sposoby skrot z menu start (od microsoft bootVis) i za cholere nie chcialo isc. sam skrot natomiast dzialal.
gdy mu sie przyjrzalem, okazalo sie, ze element docelowy nie jest dokladnie podany.
w sensie zamiast konkretnego pliku jest wpisane tylko "Microsoft Bootvis" :|
chcial bym aby rowniez i moj program mogl odpalic tak dziwnie ustawiony skrot.
skad wlasciwie explorer wie, ktory plik uruchomic w takim wypadku?

P.S. przed chwila z ciekawosci sprawdzilem programowo do czego sie ten skrot odwoluje... otrzymalem takie dziwne cos:
C:\Documents and Settings\username\Dane aplikacji\Microsoft\Installer\{0F9196C6-58B4-445B-B56E-B1200FECC151}\_18be6784.exe
plik istnieje ale po uruchomieniu.. "16-bitowy podsystem ms-dos. wykonano niedozwolona operacje bla bla bla".
nie wiem juz co myslec o microsofcie, nawet skroty do ich programow musza byc walniete :|

dzieki
pozdro

0

=D

po prostu nie wiemy wszystkiego o skrótach =]
np Office ( przynajmniej 2003 na który się patrzę teraz ) ma podobnie ukryte skróty =]

na szybko wygrzebałem takie coś ale żadnego readera pdf'ów nie mama ( łapać złodzieja! )
http://en.wikipedia.org/wiki/.lnk
http://mediasrv.ns.ac.yu/extra/fileformat/windows/lnk/shortcut.pdf
http://www.i2s-lab.com/Papers/The_Windows_Shortcut_File_Format.pdf

=]

0

dzieki.
microsoft jest dziwny. widac maja swoje tajemnice ;]
rozwiazalem to tak:

err:=shellexecute(0,'open',PChar(filename),nil,nil, sw_show);
if err<=32
        then shellexecute(0,'open','cmd.exe',PChar('/c "'+filename+'"'),nil, sw_hide);

gdyby ktos pytal dlaczego 32: "shellexecute zwraca wartosc wieksza niz 32 jezeli operacja wykonana pomyslnie" - znalezione w sdk ;]
nie podoba mi sie to bo troche taka prowizorka... ale ostatecznie lepsze to niz nic.
najpierw chcialem odpalic przez explorera ale sie mnie pytal co ma zdobic z tym plikiem, czy zapisac na dysk czy otworzyc... :d

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