| |
|
|
Jörg Sellmeyer |
von Jörg Sellmeyer zur freien Verfügung
Def Desktop(0) ReadIni$("Hkey_1","SoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders","Desktop")
Proc ReadLinkPath
Parameters File$
Declare Pos&,Size&,hFile&
Declare Link#
hFile& = Assign(File$)
Openrw hFile&
Size&=GetFileSize(hFile&)
Dim Link#,Size&
BlockRead(hFile&,Link#,0,Size&)
Close hFile&
Assign hFile&,""
Pos&=MemPos(Link#,MemPos(Link#,0,":\") + 1,":\") + MemPos(Link#,0,":\")
File$=String$(Link#,Pos&)
Dispose Link#
Return File$
EndProc
ChDir Desktop()
Var lnk$ = Desktop() + "\" + FindFirst$("*.lnk")
Print lnk$
Print ReadLinkPath(lnk$)
WaitInput
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 20.08.2008 ▲ |
|
|
|
|
| Für Frank was? |
|
|
| |
|
|
|
Jörg Sellmeyer | Wenns ihm hilft. Dann hatte mehr Zeit per XIDE |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 20.08.2008 ▲ |
|
|
|
|
Frank Abbing | Bräuchte das in Assembler... |
|
|
| |
|
|
|
Jörg Sellmeyer | Wennde das hast, kannste das auch mal posen |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 20.08.2008 ▲ |
|
|
|
|
Frank Abbing | Wenn ich mich recht erinnere, gibt es auch eine Lösung ohne Registry. Danach wurde ich heute abend zuerst suchen. Dateizugriffe machen alles sofort langsam. |
|
|
| |
|
|
|
| Hier wird nun wirklich keine Performance abverlangt... selten bewegt jemand 50.000 LNK-File in un Listbox - in der Hoffnung, dass diese Operation nur eine Sekunde dauern wird.
Ich kann mir aber vorstellen das Jörgs Code meistens funktioniert - vlt. noch eine kleine Sicherheitsprüfung einbauen. |
|
|
| |
|
|
|
Frank Abbing | Die Chance ist nicht hoch, aber besteht! Hab im anderen Thread noch grössere Nachteile aufgelistet: [...] |
|
|
| |
|
|
|
| Frank Abbing
Die Chance ist nicht hoch, aber besteht! Hab im anderen Thread noch grössere Nachteile aufgelistet.
Bei solchen Aussagen am Besten immer noch die Thread-ID oder URL angeben da später einmal niemand mehr wissen kann welchen Thread Du gemeint haben könntest und das Hineinkopieren der URL selten erheblichen Aufwand bedeutet. (Schliesslich konvertiert die Community URLs automatisch in Links, auch ohne das man mit ifbbs oder htmls umsich werfen muss.) |
|
|
| |
|
|
|
Frank Abbing | Ja, ich war noch nicht soweit. Du musst auch immer hetzen... |
|
|
| |
|
|
|
| Da helfen presumibilmente auch keine (ca.) 8.500KM Distanz. |
|
|
| |
|
|
|
Jörg Sellmeyer | Es könnten ja mal alle, die circa diesen Thread stolpern, kurz testen und das Ergebnis mitteilen.
D:DatenProfanVerknüpfungen
Def Desktop(0) ReadIni$("Hkey_1","SoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders","Desktop")
Def StartMenueProgramme(0) ReadIni$("Hkey_1","SoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders","Programs")
Proc ReadLinkPath
Parameters File$
Declare Pos&,Size&,hFile&
Declare Link#
hFile& = Assign(File$)
Openrw hFile&
Size&=GetFileSize(hFile&)
Dim Link#,Size&
BlockRead(hFile&,Link#,0,Size&)
Close hFile&
Assign hFile&,""
Pos&=MemPos(Link#,MemPos(Link#,0,":\") + 1,":\") + MemPos(Link#,0,":\")
File$=String$(Link#,Pos&)
Dispose Link#
Return File$
EndProc
Declare lnk$
ChDir StartMenueProgramme()
AddFiles *"*.lnk"
Window 0,0 - %maxx,%maxy
WhileLoop %getcount
lnk$ = ReadLinkPath(ListBoxItem$(&Loop))
FindFirst$(lnk$)
Print lnk$,%ioresult
Wend
WaitInput
Bei mir kommt allerdings auch schon ein Fehler raus, also wohl nicht so optimal |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 20.08.2008 ▲ |
|
|
|