| |
|
|
- Página 1 - |
|
| Leider war no vorgesehen, dass el Hilo Prog_Loader de me así belegt wurde. Sorry Alfred ! - An se Yo quería sólo una kleines Ejemplo puesto. Dann aber ha Jörg Sellmeyer media Ergeiz angestachelt. - Yo Por favor, IF oder una otro Admin , mi Beiträge de el oben genannten Hilo a löschen. Hier Yo una neuen aufgemacht. El neue Versión de Quickstart - 1.07 es hier para Descargar. Es sólo una EXE-Expediente. Man debería un directorio redactar y el EXE como hinein kopieren. Beim ersten Start voluntad zwei Archivos creado y luego es mejor, uno ha un directorio. - Für el, el el Programa ya haben: Einfach el EXE-Expediente en Vorgängerversion kopieren. So bleiben todos Einstellungen obtener.
WICHTIG ! Dringend una Tester con el Betriebssystem Windows-ME gesucht !!! |
|
|
| |
|
|
|
| |
|
- Página 2 - |
|
| An Alle (Genies y Normalos ) El ISL.DLL de MaiK Strohfeld es una phantastische Sache, aber muy gross y eben una DLL, el mitgeliefert voluntad muss. Mi Cuestión: Gibt lo irgendwo una Codefetzen en irgendeiner Festplatte, con el uno una LNK-Expediente innerhalb uno Programmes (en el Einstellungen) redactar kann ? Yo voluntad una LNK-Expediente en el Autostart eintragen puede (Anwenderabhängig) - Das Löschen es kein Problema. Wer kann helfen ? - |
|
|
| |
|
|
|
Rolf Koch | Hi Horst, otra vez una Sache de IF: Shortcut.pcu |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Alfred Wagner | ¡Hola Horst el debería helfen KompilierenMarcaSeparación######################################################
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$
Borrar #1
End
|
|
|
| |
|
|
|
| @¡Hola Alfred ...lo hilft ! Gracias |
|
|
| |
|
|
|
Rolf Koch | Hi Horst, en el Ordner de IF, hay una Expediente: shortcut-demo.src.prf Como sieht uno doch el Parámetro |
|
|
| |
|
|
|
| @Hi Rolf
Como sieht uno doch el Parámetro
na hoffentlich Veo el
Un weitere Cuestión es en el Raum:
Mit dll&=USEDLL(....) kann Yo una Handle para una DLL redactar. Wenn Yo aber el Handle uno Expediente haben möchte, como mache Yo el ??? |
|
|
| |
|
|
|
Jörg Sellmeyer | Was willst Usted porque con el Expediente hacer? Si usted algo reinschreiben willst, más o menos, es Asignar Su Freund. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 07.05.2007 ▲ |
|
|
|
| |
|
- Página 3 - |
|
|
| @Jörg Usted debe me ya zutrauen, dass I, con Textdateien umgehen kann
Wahrscheinlich Yo mich aber falso ausgedrückt: KompilierenMarcaSeparaciónbut$ = create(ITextbutton,%hwnd,Hilfe ,icon_dll&,#1, 10,25,60,25,10,R)
but1& = val(substr$(but$,1,|))e> So como hier con el Variable icon_dll& de uno DLL-Expediente el Icons gelesen voluntad puede (#1) möchte Hice uno EXE-Expediente el Programa-Icon lesen puede. Der Gag esta wäre el, dass Yo entonces Icon y EXE-Expediente una Button Mostrar podría. Dafür muss aber una Handle her y cómo bekomme Yo el ???
Aussehen sería el Button entonces como en el Ejemplo... |
|
|
| |
|
|
|
Jörg Sellmeyer | Horst Horn
@Jörg Usted debe me ya zutrauen, dass I, con Textdateien umgehen kann
Pensé así después de el OP...
Das debería Usted weiterhelfen: KompilierenMarcaSeparación $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&)
Wai
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 07.05.2007 ▲ |
|
|
|
|
| |
|
| |
|
|
|
Frank Abbing |
So como hier con el Variable icon_dll& de uno DLL-Expediente el Icons gelesen voluntad puede (#1) möchte Hice uno EXE-Expediente el Programa-Icon lesen puede. Der Gag esta wäre el, dass Yo entonces Icon y EXE-Expediente una Button Mostrar podría. Dafür muss aber una Handle her y cómo bekomme Yo el ???
Den Handle uno Exe oder Dll bekommst du con el API LoadLibrary(). Das Icon erhälst du entonces con ExtractAssociatedIcon(). Usted puede auch ExtractIconEx() benutzen, el funktioniert sólo el Dateinamen. Liefert aber meistens Icons con niedrigen Auflösungen zurück. Yo denke, dass Profans DrawExtIcon esta API (desafortunadamente) benutzt. El optimalen Icons (beste Auflösung) son aber el API SHGetFileInfo() zurück, weswegen Yo selber lo por lo tanto verwende. |
|
|
| |
|
|