Français
Forum

Verknüpfung erstellen

 

Alfred
Wagner
hab un Problemchen avec folgendem Code
KompilierenMarqueSéparation
######################################################
Eine Verknüpfung anlegen
######################################################
Original von Andreas Miethe * Juli 2002
######################################################
Geändert von Alfred Wagner * April 2007
######################################################
Definitionen
DEF MultiByteToWideChar(6) ! Kernel32,MultiByteToWideChar
DEF CoInitialize(1)        ! OLE32,CoInitialize
DEF CoUnInitialize(0)      ! OLE32,CoUninitialize
DEF CoCreateInstance(5)    ! OLE32,CoCreateInstance
Konstanten
DEF &PShell_Release     8
DEF &PShell_SetDescription 28
DEF &PShell_SetWorkingDirectory 36
DEF &PShell_SetArguments 44
DEF &PShell_SetIconLocation 68
DEF &PShell_SetPath 80
DEF &PFile_Release 8
DEF &PFile_Save 24
globale Variablen
Declare CLSID_IShellLink#
Declare IID_IShellLink#
Declare IID_IPersistFile#

Proc CreateLink

    Declare Pshell&,PFile&,Command&
    Declare WideFile$
    Parameters Verknüpfung$,Datei$,Beschreibung$,Arbeitsordner$,Argumentenliste$,IconFile$,IconNo&
    Dim CLSID_IShellLink#,16
    Long CLSID_IShellLink#,0 = $00021401
    Word CLSID_IShellLink#,4 = $0000
    Word CLSID_IShellLink#,6 = $0000
    Byte CLSID_IShellLink#,8 = $C0
    Byte CLSID_IShellLink#,9 = $00
    Byte CLSID_IShellLink#,10 = $00
    Byte CLSID_IShellLink#,11 = $00
    Byte CLSID_IShellLink#,12 = $00
    Byte CLSID_IShellLink#,13 = $00
    Byte CLSID_IShellLink#,14 = $00
    Byte CLSID_IShellLink#,15 = $46
    Dim IID_IShellLink#,16
    Long IID_IShellLink#,0 = $000214EE
    Word IID_IShellLink#,4 = $0000
    Word IID_IShellLink#,6 = $0000
    Byte IID_IShellLink#,8 = $C0
    Byte IID_IShellLink#,9 = $00
    Byte IID_IShellLink#,10 = $00
    Byte IID_IShellLink#,11 = $00
    Byte IID_IShellLink#,12 = $00
    Byte IID_IShellLink#,13 = $00
    Byte IID_IShellLink#,14 = $00
    Byte IID_IShellLink#,15 = $46
    Dim IID_IPersistFile#,16
    Long IID_IPersistFile#,0 = $0000010b
    Word IID_IPersistFile#,4 = $0000
    Word IID_IPersistFile#,6 = $0000
    Byte IID_IPersistFile#,8 = $C0
    Byte IID_IPersistFile#,9 = $00
    Byte IID_IPersistFile#,10 = $00
    Byte IID_IPersistFile#,11 = $00
    Byte IID_IPersistFile#,12 = $00
    Byte IID_IPersistFile#,13 = $00
    Byte IID_IPersistFile#,14 = $00
    Byte IID_IPersistFile#,15 = $46
    CoInitialize(0)
    CoCreateInstance(CLSID_IShellLink#,0,1,IID_IShellLink#,Addr(PShell&))
    Command& = Long(Pshell&,0)
    CALL(LONG(COMMAND&,0),PShell&,IID_IPersistFile#,Addr(PFile&))QueryInterface ermitteln
    CALL(LONG(COMMAND&,&PShell_SetPath),PShell&,Addr(Datei$))Datei
    CALL(LONG(COMMAND&,&PShell_SetDescription),PShell&,Addr(Beschreibung$))Beschreibung
    CALL(LONG(COMMAND&,&PShell_SetWorkingDirectory),PShell&,Addr(Arbeitsordner$))Arbeits-Ordner
    CALL(LONG(COMMAND&,&PShell_SetArguments),PShell&,Addr(Argumentenliste$))Argumentenliste
    CALL(LONG(COMMAND&,&PShell_SetIconLocation),PShell&,Addr(IconFile$),IconNo&)IconLocation
    WideFile$ = Space$(Len(Verknüpfung$)*2)
    MultiByteToWideChar(0,1,addr(Verknüpfung$),-1,addr(WideFile$),Len(WideFile$))LinkFile umwandeln
    Command& = Long(PFile&,0)
    CALL(LONG(COMMAND&,&PFile_Save),PFile&,Addr(WideFile$),1)LinkFile speichern
    Command& = Long(PShell&,0)
    CALL(LONG(COMMAND&,&PShell_Release),PShell&)
    Command& = Long(PFile&,0)
    CALL(LONG(COMMAND&,&PFile_Release),PFile&)
    CoUnInitialize()
    Dispose CLSID_IShellLink#
    Dispose IID_IShellLink#
    Dispose IID_IPersistFile#

EndProc

DEF @GSFP(4) ! Shell32,SHGetSpecialFolderPathA
Declare Verknüpfung$,Datei$,Beschreibung$,Arbeitsordner$,Argumentenliste$,IconFile$,IconNo&,Inifile$
Def Home(0) Translate$(Upper$(Par$(0)),Upper$(FindFirst$(Par$(0))),)
IniFile$ = Home()+ Profan.exe

Proc Link_erstellen

    Datei$ = IniFile$
    Beschreibung$ =
    IconFile$ =
    IconNo& = 1
    Arbeitsordner$ =
    Argumentenliste$ =
    Verknüpfung$ = Space$(255)
    GSFP(0,ADDR(Verknüpfung$),2,0)Pfad zu Startmenü-Programme
    GSFP(0,ADDR(Verknüpfung$),5,0)Pfad zu Eigene Dateien
    GSFP(0,ADDR(Verknüpfung$),6,0)Pfad zu Favorieten
    GSFP(0,ADDR(Verknüpfung$),7,0)Pfad zu Autostart
    GSFP(0,ADDR(Verknüpfung$),8,0)Pfad zu Recent
    GSFP(0,ADDR(Verknüpfung$),9,0)Pfad zu Senden an
    GSFP(0,ADDR(Verknüpfung$),11,0)Pfad zu Startmenü
    GSFP(0,ADDR(Verknüpfung$),0,0)Pfad zu Desktop
    ***************  PROBLEM  ************************************************************************************
    Hier wird Hier sollte Profan stehen (oder was man sonst vor dem .lnk hinschreibt)
    unter das Icon auf dem Desktop geschrieben!
    Hat jemand eine Lösung wie Profan ohne das (+\Hier sollte Profan stehen.lnk) geschrieben werden kann?
    Verknüpfung$ = Trim$(Verknüpfung$)+\Hier sollte Profan stehen.lnk
    Problem ENDE
    Link anlegen
    CreateLink Verknüpfung$,Datei$,Beschreibung$,Arbeitsordner$,Argumentenliste$,IconFile$,IconNo&

Endproc

Link_erstellen
Cls
Print IniFile$ +
Verknüpfung der Profan.exe auf dem Desktop erstellen
Print
Print Bitte Beachten !
Print Das zu verknüpfende Programm muß sich im selben Ordner befinden wie
das ausführende (hier die Prfrun32.exe)
Print
Print Die Verknüpfung wird bei einem beliebigen Tastendruck wieder gelöscht
Waitinput
Link löschen
Assign #1, Verknüpfung$
Effacer #1
Fin

Funktioniert einwandfrei seulement comment peux je cela im Code angesprochene Problem lösen?
sais quelqu'un conseil

mfg.
Alfred avec la famille
 
WinXP-Home ,XProfan10

Alfreds ... Freeware :  [...] 
20.04.2007  
 



si cela Problem im Code steht ensuite schreibe es la fois simple ici hin - si und dir avec quelque chose anderen Worten là je cela Problem im Rem pas wirklich verstehe.
 
20.04.2007  
 




Alfred
Wagner
allô IF

Es handelt sich sous dem Text sous qui Veknüpfung

Verknüpfung$ = Trim$(Verknüpfung$)+\ici sollte Profan stehen.lnk

comment pourrait on une Text sous qui Verknüpfung apporter qui aus qui Dossier ausgelesen wird (alors qui nom qui Dossier).

so ungefähr

Verknüpfung$ = Trim$(Verknüpfung$)+\nom$.lnk

Hoffe hab mich verständlich ausgedrückt (suis ne...aucune großer Schreiber)

mfg.

Alöfred avec la famille
 
WinXP-Home ,XProfan10

Alfreds ... Freeware :  [...] 
20.04.2007  
 



je glaub je habs encore pas kappiert.

Avez- Du

nom$=meinName
Verknüpfung$ = Trim$(Verknüpfung$)+\+nom$+.lnk

?
 
20.04.2007  
 



Incidemment - je hatte un paire Fehlerchen dans Andreas seinem Code trouvé (je n'en sais rien plus quelle) et c'est pourquoi une Shortcut-Unit gebaut. je personnelle nutze daher lieber mon Unit.

va aussi la fois dans qui Profileinstellungen (dessus à droite grünes Popupmenü) et schreib dans Votre Signatur cela OS et qui XProfanVersion. cela avons wir uns ici so angewöhnt.
 
20.04.2007  
 




Alfred
Wagner


je glaub je habs encore pas kappiert.

Avez- Du

nom$=meinName
Verknüpfung$ = Trim$(Verknüpfung$)+\+nom$+.lnk


oui oui c'est ca IF cela wars DANKE
sorry mon späte Antwort (hab es d'abord pas so richtig überissen!)

mfg

Alfred avec la famille
 
WinXP-Home ,XProfan10

Alfreds ... Freeware :  [...] 
22.04.2007  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

4.294 Views

Untitledvor 0 min.
Uwe Lang29.01.2022
Walter28.12.2018
boh118.05.2013
Andre Rohland09.09.2012
plus...

Themeninformationen

cet Thema hat 2 participant:

iF (3x)
Alfred Wagner (3x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie