Deutsch
Quelltexte/ Codesnippets

Auslesen Pfad Verknüpfung

 
- Seite 1 -



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  
 



 
- Seite 2 -



Dieter
Zornow
Man muss aber dann sehr viele Links testen. um eine Aussage zu treffen
Ich hatte mal vor Jahren einen ähnlichen Code in ein Programm eingebaut, der hat bei ca 95 % der Linkdateien auch funktioniert aber eben nicht bei allen. Habe dann zur Sicherheit abgefragt ob das Ergebnis existiert bevor ich es weiterverarbeitet habe. Ich denke der sicherste Weg dürfte sein, man holt sich die Beschreibung der Linkdateien und liest die dann gemäß der Beschreibung aus.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
21.08.2008  
 



Dieter Zornow
...der sicherste Weg dürfte sein, man holt sich die Beschreibung der Linkdateien...


Ich glaube soetwas gibt es (leider) nicht.
 
21.08.2008  
 




Frank
Abbing
Die OLE bietet hierfür das Interface IShellLink::GetPath, das genau für diesen Zweck gedacht ist.
 
21.08.2008  
 




Dieter
Zornow
Doch es gibt eine Beschreibung und noch nicht mal schlecht erklärt

39 kB
Hochgeladen:21.08.2008
Ladeanzahl189
Herunterladen
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
21.08.2008  
 




Jörg
Sellmeyer
Eine Beschreibung findet man unter  [...] 
Bei mir kann ich nur einen Link nicht auslesen und der Link läßt sich auch mit der iShellLink-Methode nicht auslesen. Es ist der "Programmkompatibilitäts-Assistent" und er verweist auf eine  [...]  im Verzeichnis %HOMEDRIVE%%HOMEPATH%
Die Informationen darin scheinen als Widestring abgelegt zu sein, da immer ein Nullbyte zwischen den einzelnen Buchstaben ist.

Dieter Z.
Man muss aber dann sehr viele Links testen. um eine Aussage zu treffen


Das war ja meine Anregung. Hat es denn mal jemand ausprobiert? Der Testcode untersucht alle Links im Startmenü. Wenn das 20 Leute machen, dürfte es einigermaßen verläßlich sein.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
21.08.2008  
 




Uwe
''Pascal''
Niemeier
Hi Leute!

Der Vollständigkeit halber :
--XProfan 10 + Windows XP SP2
 $H Windows.ph
 $H ocx2.ph
 $I ocx2.inc
var Lnk$="C:1TestInternet Explorer.lnk"
var Lnk$="C:Dokumente und EinstellungenAll UsersStartmenüProgrammeubehörProgrammkompatibilitäts-Assistent.lnk"
ocxInit()
var Shell&=ocxCreate("WScript.Shell")
var Link&=ocxMethod(Shell&,"CreateShortcut","*"+Lnk$)
--CreateShortcut öffnet auch bereits existierende Verknüpfungen
print "Arguments       :",ocxGet(Link&,"Arguments")
print "Description     :",ocxGet(Link&,"Description")
print "FullName        :",ocxGet(Link&,"FullName")
print "Hotkey          :",ocxGet(Link&,"Hotkey")
print "IconLocation    :",ocxGet(Link&,"IconLocation")
print "TargetPath      :",ocxGet(Link&,"TargetPath")
print "WindowStyle     :",ocxGet(Link&,"WindowStyle")
print "WorkingDirectory:",ocxGet(Link&,"WorkingDirectory")
ocxRelease(Link&,Shell&)
ocxDeInit()
waitinput

SeeYou
Pascal
 
21.08.2008  
 




Jörg
Sellmeyer
Sehr schön! Jetzt mußt Du nur noch mitteilen, wo man die Includes herbekommt.

...und das läuft glaube ich wirklich erst ab XP oder?
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
21.08.2008  
 



Danke Uwe!
 
21.08.2008  
 




Manfred
Barei
Hallo Jörg,

hier das Ergebniss bei mir, siehe Screenshot.
Ausgeführt unter Windows Vista.

Gruß
Manfred

28 kB
Hochgeladen:21.08.2008
Ladeanzahl249
Herunterladen
 
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
21.08.2008  
 




Frank
Abbing
Bei mir gehen all Lnks, Jörg. Ohne Fehler.
 
21.08.2008  
 




Dieter
Zornow
Bei mir gehen die Handles für Assign aus, denn du gibst sie nicht wieder frei. Bei mir scheinen jede Menge Links nicht lesbar zu sein, nachdem ich die Handles frei gegeben habe.

(Siehe Anhang)

5 kB
Hochgeladen:21.08.2008
Ladeanzahl236
Herunterladen
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
21.08.2008  
 




Jörg
Sellmeyer
Dieter Zornow
Bei mir gehen die Handles für Assign aus, denn du gibst sie nicht wieder frei. Bei mir scheinen jede Menge Links nicht lesbar zu sein, nachdem ich die Handles frei gegeben habe.

(Siehe Anhang)


Dieter Zornow
Close hFile&

Das steht in meinem Code. Freier kann ich die Datei nicht geben.
Ich sehe auf dem Bild nur Punkte und Striche. Ist da in der Ausgabe was verrutscht oder kommt das wirklich raus. Vielleicht liegts am Servicepack 3.

Na, insgesamt scheint das Verfahren dann ja nur bis XP SP2 zu funktionieren.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
21.08.2008  
 




Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

22.920 Betrachtungen

Unbenanntvor 0 min.
E.T.12.06.2023
Uwe Lang29.01.2022
Sven Bader24.09.2021
Thomas Freier26.01.2013
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie