Autor | Thema: Suchen und finden von .EXE Dateien | | Datum:20.08.02 06:34 
(Toppixxxx@web.de) | |
hab mal wieder eine frage mit: @WinExecWait("eine datei.EXE",1)
öffne ich einige anwendungen aber andere werden nicht gefunden
gebe ich den weg an @WinExecWait("C:\.....*exe",1)
geht das!! aber da z.B. nicht in allen betriebssytemen der pfad gleich ist währe diese lösung nicht angebracht
genauso ist das mit :LoadBmp "C:\Programme\Test\bild.BMP",0,0;0
wenn der benutzer das programm aber auf D:\....... ablegt stimmt der weg auch nicht mehr
was müsste ich tun um trotzdem diese dateien auszuführen ?? oder wie sollte das script dazu aussehen??
mfg Toppi(version5.0)
|
| | Datum:20.08.02 11:00 
(galaxy@mrk-soft.de) | |
Ich Persönlich arbeite NIE mit festen Pfaden, sondern
immer variabel. ew. den Pfad am Anfang des Programms mit
PAR$(0) hohlen, mit CHDIR diesen setzen und dann beziehen sich
alle weiteren Zugriffe auf dieses Verz.
LOADBMP "BILD.BMP" oder PLAYSOUND "musik.wav", bzw.
WINEXEX("programm.exe",1), usw.
|
| | Datum:20.08.02 13:06 
(Toppixxxx@web.de) | |
kannste mir mal ein beispiel script dazu posten (kenn mich noch nicht so gut aus,habe erst angefangen)
mfg Toppi und DANKE
|
| | Datum:20.08.02 15:57 
(joerse@gmx.de) | |
Hallo,
Def VerzeichnisTiefe(1) int(Sub(Len(@$(1)),Len(Translate$(@$(1),"\\",""))))
Def PfadTeil(2) SubStr$(@$(1),@%(2),"\\")'Vorher sollte man die Verzeichnistiefe ermitteln
Def DateiName(1) SubStr$(@$(1),VerzeichnisTiefe(@$(1)) + 1,"\\")
Def DateiPfad(1) Translate$(@$(1),"\\" + DateiName(@$(1)),"")
'Diese Funktionen helfen Pfade zu zerlegen
Cls
Declare homeDir$,MeinBild$,MeineDatei$,s$
homeDir$=DateiPfad(@par$(0))
print homeDir$
MeinBild$=homeDir$ + "\\Bitmaps\\MeinBild.bmp"
'oder:
ChDir homeDir$
MeineDatei$="Texte\\MeineDatei.txt"
Assign #1,MeineDatei$
Reset #1
input #1,s$
Close #1
print s$
WaitInput
Das funktioniert bei Dateien, die Du selber mit Deinem Programm
lieferst und Du die Verzeichnisstruktur kennst.
Bei beliebigen Programmen kannst Du nur raten.
Der Ordner für "Eigene Dateien" läßt sich aber auch aus der Registry auslesen:
Def EigeneDateien(0) readini$("Hkey_1","Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Personal")
Gruß
Jörg
|
| | Datum:20.08.02 16:46 
(Toppixxxx@web.de) | |
mm sorry, aber leider kappiere ich das nicht ganz (stehe wohl auf der leitung)deshalb nerve ich mal weiter :o)mein script sieht so aus:
Elseif @Menuitem (1)
LoadBmp "C:\Programme\Bilder\blau.BMP",0,0;0
usefont "arial",20,7,0,0,0
textcolor @rgb(100,100,100),-1
drawtext 5,5,"text text text text"
@WinExecWait("C:\Programme\Zubehör\WORDPAD.EXE",1)
so aber wie muss ich das machen das er nun diese dateien findet? (ohne pfad)also :
Elseif @Menuitem (1)
LoadBmp "blau.BMP",0,0;0
usefont "arial",20,7,0,0,0
textcolor @rgb(100,100,100),-1
drawtext 5,5,"text text text text"
@WinExecWait("WORDPAD.EXE",1)
danke schonmal für die hilfe !!
mfg Toppi (version 5.0)
|
| | Datum:20.08.02 16:08 
(galaxy@mrk-soft.de) | |
declare ram1#, ram2#
DEF GetFileTitle(3) ! "COMDLG32.DLL","GetFileTitleA"
proc GetPath
declare ram$
dim ram1#,255
dim ram2#,255
String ram1#,0=par$(0)
GetFileTitle(ram1#,ram2#,255)
If lower$(String$(ram2#,0)) = "profan"
ram$ = lower$(GetDir$("@")) + "\"
Else
ram$ = lower$(mid$(par$(0),1,len(par$(0))-(4+len(String$(ram2#,0)))))
Endif
Dispose ram1#
Dispose ram2#
Return ram$
endproc
'-----------------------------------------------------------------
getPath
chDir @$(0)
'print @$(0)
die Procedure liefert IMMER, egal ob als Runtime (Quellcode)
oder als EXE Programm den richtigen Pfad, wo das Programm
selber zu finden ist.
|
| | Datum:20.08.02 17:07 
(Toppixxxx@web.de) | |
der text ist oben schon einmal ist irgenwie noch oben gerutscht
mm sorry, aber leider kappiere ich das nicht ganz (stehe wohl auf der leitung)deshalb nerve ich mal weiter :o)mein script sieht so aus:
Elseif @Menuitem (1)
LoadBmp "C:\Programme\Bilder\blau.BMP",0,0;0
usefont "arial",20,7,0,0,0
textcolor @rgb(100,100,100),-1
drawtext 5,5,"text text text text"
@WinExecWait("C:\Programme\Zubehör\WORDPAD.EXE",1)
so aber wie muss ich das machen das er nun diese dateien findet? (ohne pfad)also :
Elseif @Menuitem (1)
LoadBmp "blau.BMP",0,0;0
usefont "arial",20,7,0,0,0
textcolor @rgb(100,100,100),-1
drawtext 5,5,"text text text text"
@WinExecWait("WORDPAD.EXE",1)
danke schonmal für die hilfe !!
mfg Toppi (version 5.0)
|
| | Datum:21.08.02 01:01 
(joerse@gmx.de) | |
Hallo Torsten,
Wie ich vorher schon geschrieben habe, kannst Du alle Datei die Du selber
im Pfad oder im Verzeichnis Deines Programmes gespeichert hast, direkt ohne
Pfad b. z. w. mit relativen Pfadangaben ansprechen.
Probier einfach mal mit meinem oder Thorstens (mrk-soft) Code herum.
Alle anderen Dateien müssen mit pfadangaben versehen sein.
Das hat nix mit Profan zu tun sondern mit den Strukturen eines PCs.
Ausnahme:
Wenn etwas im PFAD deines Computers ist, findet das der Computer automatisch.
In der Regel ist das das Windowsverzeichnis und Windows\System.
Du kannst den PFAD Deines Computers ermitteln indem Du im Startmenü einfach
mal die MS-Dos-Eingabeaufforderung startest und dort PATH eingibst.
Du kannst mit Addfiles *"*.exe" aber eine Liste erzeugen, die alle Programme enthält und diese nach den gesuchten Programmen durchforsten:
Cls
Declare Liste&
Liste&=CreateSortedListbox(%hwnd,"",10,10,200,400)
ChDir "C:\\"
Addfiles *"*.exe"
MoveListToList(Liste&)
Vielleicht hilft das Dir erst mal weiter.
Gruß
Jörg
|
| | Datum: 21.08.02 02:17 
(Toppixxxx@web.de) | |
jo danke euch beiden klappt prima und ich finde es spitze das ihr auch "anfängern" alles so klasse erklärt !!!
macht weiter so *dickes lob*
mfg Toppi
|
|
|