Italia
Foro

Desktop Verknüpfung

 

Thomas
Freier
Da selbst kein WIN7 und nichts probieren kann: Hat einer einen Code, mit dem alle Desktopverknüpfungen ermittelt werden können?
Anlegen und das Ziel ggf. ändern, habe ich schon mit Andreas Ole_ShellLink.inc, unter WIN7 bei einem erfolgreich testen lassen.
Nur das Auflisten ging opposto XP voll daneben.
 
Gruß Thomas
Windows XP SP2, XProfan X2
14.12.2012  
 



Hab kein Win7 zur Hand -

hast Du sinngemäß aber mit XProfan schon folgendes Versucht... ?
cd desktoppfad
cd ..
cd ..
dir /a:D// verzeichnisse auflisten

und dann einfach in alle gelisteten Verzeichnisse\Desktop gehen.
 
14.12.2012  
 




Thomas
Freier
Ich denke.
'Rekursive Cerca nach File
'aufgeschrieben von Thomas Glockmann unter Mithilfe
'von David Strutz und Frank Abbing
Def FindFirstFile(2) !"kernel32","FindFirstFileA"
Def FindNextFile(2) !"kernel32","FindNextFileA"
Def FindClose(1) !"kernel32","FindClose"
Def Desktop(0) ReadIni$("Hkey_1","Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Desktop")
Def StartMenueProgramme(0) ReadIni$("Hkey_1","Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Programs")
Struct WIN32_FIND_DATA=dwFileAttributes&,ftCreationTime#(8),ftLastAccessTime#(8),\
ftLastWriteTime#(8),nFileSizeHigh&,nFileSizeLow&,dwReserved0&,dwReserved1&,\
cFileName#(260),cAlternate#(14)
Declare Pos&
Declare HandleA&[]
Declare HandleA$[]
Declare Verz&
Declare Datei&
Declare FH&
Declare FindData#
Declare PM$
Dim FindData#, Win32_Find_Data
Declare Pfad$
Declare Maske$

Proc DateiListe

    Parameters Pfad$,Maske$
    PM$ = Pfad$ + "\\" + Maske$
    FH& = FindFirstFile(Addr(PM$),FindData#)

    While (Pos& >= 1) And (FH& >= 0) = 1

        Repeat

            If (@String$(FindData#,44) <> ".") And (@String$(FindData#,44) <> "..")

                If (FindData#.dwFileAttributes& & $10) = $10

                    Inc Verz&
                    HandleA&[Pos&] = FH&
                    HandleA$[Pos&] = Pfad$
                    Pfad$ = Pfad$ + "\\" + @String$(FindData#,44)
                    Inc Pos&
                    Dateiliste(Pfad$,Maske$)

                Else

                    Inc Datei&
                    AddString(DAT_LV%,Pfad$ + "\\" + @String$(FindData#,44))

                EndIf

            EndIf

        Until FindNextFile(FH&,FindData#) = 0

        Dec Pos&

        If Pos& >= 1

            FH& = HandleA&[Pos&]
            Pfad$ = HandleA$[Pos&]
            Case FindNextFile(FH&,FindData#) = 0 : Break

        Else

            Break

        EndIf

    EndWhile

EndProc

Pos& = 1
Cls
var font&=CreateFont("Arial",16,0,0,0,0)
var DAT_LV%=CreateListBox(%hwnd,"",10,30,610,376)
SetFont DAT_LV%,font&
var a$=translate$(Desktop(0),"\","\\")
Print "Suche..."+a$
DateiListe(a$,"*")
FindClose(FH&)
WaitInput
DeleteObject font&
end
 
Gruß Thomas
Windows XP SP2, XProfan X2
15.12.2012  
 



Warum sol höllenkompliziert bzw. was spricht dagegen ... ?
chdir $AppDataDir
chdir "../../"
addfiles "*"
listbox$("",1)

Windows-Versionen mit UAC können dabei naturalmente das Wechseln in die Verzeichnisse
verhindern.
 
15.12.2012  
 




Thomas
Freier
Geht um ein Update bei einem DAU. Hatte schon früher vor Ort mehrere Altversionen gefunden. Zukünftig wollte ich via Email und Programm updaten. Also erst einmal alle alten ***.exe suchen und umbennen.
Um den gültigen Arbeitsordner zu erfahren dann das Ziel der Verknüpfung auf dem Desktop ermitteln. . Deshalb der etwas "höllenkomplizierte" Code, der, hier entfernt, alle gefundenen Verknüpfungen und ***.exe in un **.txt schreibt, die ich dann bekomme per die Updateanpassung.

Nachtrag
Im Prinzip sollte es so sein
Windows 7: Pfad zum Desktop

Der Desktop des gerade angemeldeten Benutzers ist im folgenden Ordner zu finden:

Original-Windows-7-Pfad:
C:\Users\[Benutzername]\Desktop
Pfad-Bezeichnung in der deutschen Windows-7-Version:
C:\Benutzer\[Benutzername]\Desktop

Pfad unter Windows XP, 2000, 2003 (dt.):
C:\Dokumente und Einstellungen\[Benutzername]\Desktop



In der erzeugten **.txt fand ich dann eine Zeile, die presumibilmente die gesuchte Verknüpfung sein potuto
C:\Users\Lund\AppData\Roaming\\\\\\\Microsoft\Windows\Recent\JLKurier.lnk

Damit kann ich presumibilmente die alte ***.lnk nicht löschen.
 
Gruß Thomas
Windows XP SP2, XProfan X2
15.12.2012  
 




Andreas
Miethe


Wenn ich das richtig verstehe willst Du alle *.lnk auflisten und den Pfad extrahieren ?

Anbei eine Include und ein kleiner Testcode

1 kB
Hochgeladen:15.12.2012
Downloadcounter141
Download
6 kB
Hochgeladen:15.12.2012
Downloadcounter153
Download
 
XProfan X2
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
15.12.2012  
 




Thomas
Freier
Danke Andreas, auf WIN7 hast du es sicher getestet. Bei mir mit XP kommt alles wie erwartet (nicht).....eine Endlosschleife....da keine *.lnk vorhanden. Bitte einmal anpassen:
Var I& = -1
 
Gruß Thomas
Windows XP SP2, XProfan X2
15.12.2012  
 




Andreas
Miethe


Dann versuch doch mal den Pfad per alle Benutzer
GSFP(0,ADDR(Desktop$),25,0)'Pfad Alle Benutzer-Desktop

Es gibt ja mehrere Möglichkeiten.

Bei mir funktioniert das übrigens auch mit XP
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
15.12.2012  
 




Thomas
Freier
Andreas, ist doch alles super. Ich habe keine *.lnk . Die gängigen Programme sind im Launcher . Und die Schleife endet nicht bei:
Var Count& = GetCount(0)
Var I& =0' hier besser -1

Repeat

    Print GetDir$("@")+"\\"+GetString$(0,I&)
    Print
    Print "Das Programm è sich hier :"
    Print GetLinkPath(GetString$(0,I&))
    Inc I&

Until I& = count&


Gönnst du deiner Ole_ShellLink.inc noch einen kleinen Hinweis auf den letzten Stand.


28 kB
Hochgeladen:16.12.2012
Downloadcounter183
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
16.12.2012  
 




Andreas
Miethe


Ok, ich habe das mal per X2 angepasst. Die Include sowie die Beispiele.

Bei Dir sollte jetzt auch etwas beim Auslesen angezeigt werden, da im Beispiel das Startmenü ausgelesen wird.

3 kB
Hochgeladen:16.12.2012
Downloadcounter188
Download
 
XProfan X2
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
16.12.2012  
 




Thomas
Freier
Danke, corre alles wie es soll.
 
Gruß Thomas
Windows XP SP2, XProfan X2
17.12.2012  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

11.235 Views

Untitledvor 0 min.
Uwe Lang29.01.2022
funkheld15.01.2022
Stringray05.01.2022
maroro15.06.2018
Di più...

Themeninformationen

Dieses Thema hat 3 subscriber:

Thomas Freier (6x)
Andreas Miethe (3x)
iF (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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