Deutsch
Forum

Quickstart - ein Ladeprogramm

 
- Seite 1 -


Leider war nicht vorgesehen, dass der Thread Prog_Loader von mir so belegt wurde. Sorry Alfred ! - An sich wollte ich nur ein kleines Beispiel posten. Dann aber hat Jörg Sellmeyer meinen Ergeiz angestachelt. - Ich bitte
iF oder einen anderen Admin ,
meine Beiträge aus dem oben genannten Thread zu löschen. Hier habe ich einen neuen aufgemacht.
Die neue Version von Quickstart - 1.07 steht hier zum Download. Es ist nur eine EXE-Datei. Man sollte ein Verzeichnis erstellen und die EXE da hinein kopieren. Beim ersten Start werden zwei Dateien angelegt und dann ist es besser, man hat ein Verzeichnis. - Für die, die das Programm schon haben: Einfach die EXE-Datei über die Vorgängerversion kopieren. So bleiben alle Einstellungen erhalten.

WICHTIG ! Dringend ein Tester mit dem Betriebssystem Windows-ME gesucht !!!

323 kB
Kurzbeschreibung: exe-Datei 1.07...
Hochgeladen:02.05.2007
Ladeanzahl29
Herunterladen
 
02.05.2007  
 



 
- Seite 2 -


An Alle (Genies und Normalos )
Die ISL.DLL von MaiK Strohfeld ist eine phantastische Sache, aber sehr gross und eben eine DLL, die mitgeliefert werden muss.
Meine Frage:
Gibt es irgendwo einen Codefetzen auf irgendeiner Festplatte, mit dem man eine LNK-Datei innerhalb eines Programmes (in den Einstellungen) erstellen kann ?
Ich will eine LNK-Datei in den Autostart eintragen können (Anwenderabhängig) - Das Löschen ist kein Problem. Wer kann helfen ? -
 
06.05.2007  
 




Rolf
Koch
Hi Horst,
wieder eine Sache von iF: Shortcut.pcu
 
06.05.2007  
 



@Rolf
Für die Hilfe von der ShortCut.pcu bin ich einfach zu blöd !


Parameter: target_$,link_$,wdir_$,args_$,shcmd&,desc_$,icnfle_$,icid&


Kann mir da nich mal jemand ein praktisches Beispiel schreiben.
Die Parameter, die hier verlangt werden, sagen mir nichts (in der Hilfe)
 
06.05.2007  
 




Alfred
Wagner
Hallo Horst
das sollte helfen
KompilierenMarkierenSeparieren
######################################################
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 LinkFile$,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(LinkFile$)*2)
    MultiByteToWideChar(0,1,addr(LinkFile$),-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 LinkFile$,Datei$,Beschreibung$,Arbeitsordner$,Argumentenliste$,IconFile$,IconNo&,Inifile$
Def Home(0) Translate$(Upper$(Par$(0)),Upper$(FindFirst$(Par$(0))),)
IniFile$ = Home()+ Profan.exe

Proc Desktop

    Datei$ = IniFile$
    Beschreibung$ =
    IconFile$ =
    IconNo& = 1
    Arbeitsordner$ =
    Argumentenliste$ =
    LinkFile$ = Space$(255)
    GSFP(0,ADDR(LinkFile$),0,0)Pfad zu Desktop
    LinkFile$ = Trim$(LinkFile$)+\Profan.exe.lnk
    Link anlegen
    CreateLink LinkFile$,Datei$,Beschreibung$,Arbeitsordner$,Argumentenliste$,IconFile$,IconNo&

Endproc

Desktop
GSFP(0,ADDR(LinkFile$),2,0)Pfad zu Startmenü-Programme
GSFP(0,ADDR(LinkFile$),5,0)Pfad zu Eigene Dateien
GSFP(0,ADDR(LinkFile$),6,0)Pfad zu Favorieten
GSFP(0,ADDR(LinkFile$),7,0)Pfad zu Autostart
GSFP(0,ADDR(LinkFile$),8,0)Pfad zu Recent
GSFP(0,ADDR(LinkFile$),9,0)Pfad zu Senden an
GSFP(0,ADDR(LinkFile$),11,0)Pfad zu Startmenü
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 Profrun32.exe)
Print
Print Die Verknüpfung wird bei einem beliebigen Tastendruck wieder gelöscht
Waitinput
Link löschen
Assign #1, LinkFile$
Erase #1
End
 
WinXP-Home ,XProfan10

Alfreds ... Freeware :  [...] 
06.05.2007  
 



@Hallo Alfred
...es hilft !
Danke
 
06.05.2007  
 




Rolf
Koch
Hi Horst,
im Ordner von iF, gibt es eine Datei: shortcut-demo.src.prf
Da sieht man doch die Parameter
 
06.05.2007  
 



@Hi Rolf


Da sieht man doch die Parameter


na hoffentlich sehe ich das

Eine weitere Frage steht im Raum:

Mit dll&=USEDLL(....) kann ich ein Handle für eine DLL erstellen.
Wenn ich aber das Handle einer Datei haben möchte, wie mache ich das ???
 
07.05.2007  
 




Jörg
Sellmeyer
Was willst Du denn mit der Datei machen? Wenn Du etwas reinschreiben willst, oder so, ist Assign Dein Freund.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
07.05.2007  
 



 
- Seite 3 -


@Jörg
Du solltest mir schon zutrauen, dass ich mit Textdateien umgehen kann

Wahrscheinlich habe ich mich aber falsch ausgedrückt:
KompilierenMarkierenSeparieren
but$ =  create(ITextbutton,%hwnd,Hilfe ,icon_dll&,#1, 10,25,60,25,10,R)
but1& = val(substr$(but$,1,|))

So wie hier mit der Variable icon_dll& aus einer DLL-Datei die Icons gelesen werden können (#1) möchte ich aus einer EXE-Datei das Programm-Icon lesen können. Der Gag dabei wäre der, dass ich dann Icon und EXE-Datei auf einem Button anzeigen könnte. Dafür muss aber ein Handle her und wie bekomme ich das ???

Aussehen würde der Button dann so wie im Beispiel...

4 kB
Kurzbeschreibung: nur ein Beispiel...
Hochgeladen:07.05.2007
Ladeanzahl169
Herunterladen
 
07.05.2007  
 




Jörg
Sellmeyer
Horst Horn
@Jörg
Du solltest mir schon zutrauen, dass ich mit Textdateien umgehen kann


Ich dachte so nach der OP...

Das sollte Dir weiterhelfen:
KompilierenMarkierenSeparieren
 $H messages.ph
 $H windows.ph
Def ExtractIcon(3) !SHELL32,ExtractIconA
Declare Prog$,hIcon&,index%,Btn&
Prog$=$SysPath + \calc.exe
index%=0
Cls
hIcon&=ExtractIcon(%hinstance,Addr(Prog$),index%)
Btn& = Create(IconButton,%hwnd,,100,100,40,40)
Sendmessage(Btn&,~BM_SETIMAGE,~IMAGE_ICON,hIcon&)
WaitInput
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
07.05.2007  
 



@Jörg


Ich dachte so nach der OP...


Irgendwann komme ich Dich mal bei
[web]https://wuestensand.info[/web]
besuchen und spiele an der grossen Pauke bei Euch mit -

Trotzdem Danke - ich werde mal versuchen, weiterzukommen
 
07.05.2007  
 




Frank
Abbing

So wie hier mit der Variable icon_dll& aus einer DLL-Datei die Icons gelesen werden können (#1) möchte ich aus einer EXE-Datei das Programm-Icon lesen können. Der Gag dabei wäre der, dass ich dann Icon und EXE-Datei auf einem Button anzeigen könnte. Dafür muss aber ein Handle her und wie bekomme ich das ???


Den Handle einer Exe oder Dll bekommst du mit der API LoadLibrary(). Das Icon erhälst du dann mit ExtractAssociatedIcon().
Du kannst auch ExtractIconEx() benutzen, das funktioniert nur mit dem Dateinamen. Liefert aber meistens Icons mit niedrigen Auflösungen zurück. Ich denke, dass Profans DrawExtIcon diese API (leider) benutzt.
Die optimalen Icons (beste Auflösung) gibt aber die API SHGetFileInfo() zurück, weswegen ich selber es daher verwende.
 
07.05.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.550 Betrachtungen

Unbenanntvor 0 min.
mene22.12.2012
Julian Schmidt28.07.2011

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