Dateien starten

galdasc

Erfahrenes Mitglied
hi

gibt es eine möglichkeit OHNE in der registry oder sonst wo rumpfuschen zu müssen eine beliebige datei (z.B. ein bild *.bmp, *.jpg) zu starten?? also nicht mit "shell <programm.exe> bild.bmp"??

hoffe ihr versteht...


-/cu\-
 
C

CodeXP

Also ich wies nicht genau was du meinst aber
vieleicht könnte ich dir helfen!

Also um eine BMP Datei mit dem Standard App zu starten,
geht so:

********************************************

Shell "START C:\Windows\Wolken.bmp", vbHide

********************************************

Das funzt!
;)
 

galdasc

Erfahrenes Mitglied
thx, aber ich hab es anders gelöst, mit der API:

Private Declare Function ShellExecuteA Lib "shell32.dll" ( _
ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long _
) As Long

danke

-/cu\-
 

Dario Linsky

Erfahrenes Mitglied
nur mal so als verständnisfrage ...
die Shell()-funktion ist doch eigentlich nichts anderes als die ShellExecute()-funktion. das sind grundlegende funktionen unter windows und somit immer verfügbar.
der funktionsaufruf von Shell() kapselt die funktion ShellExecute(), der aufruf von MsgBox() kapselt die funktion MessageBox(), etc. oder lieg ich damit jetzt völlig falsch? :rolleyes:
 

Daniel Toplak

Erfahrenes Mitglied
das sind grundlegende funktionen unter windows und somit immer verfügbar.
der funktionsaufruf von Shell() kapselt die funktion ShellExecute(), der aufruf von MsgBox() kapselt die funktion MessageBox(), etc. oder lieg ich damit jetzt völlig falsch?
Nö das denk ich net, daß du da falsch liegst, denn in VB sind ja eben diese Funktionen schon als Standart drin und die machen auch nix anderes als auf die API zuzugreifen.

Gruss Homer
 

Dario Linsky

Erfahrenes Mitglied
damit wollte ich eigentlich nur sagen, dass es meines wissens nach keinen unterschied macht, ob man die integrierte Shell()-funktion benutzt, oder erst noch ShellExecute() aus dem api importiert.
der einzige unterschied ist der, dass man sich arbeit sparen kann, weil die beide das gleiche machen. glaub ich jedenfalls.
 

galdasc

Erfahrenes Mitglied
Original geschrieben von asphyxia
der einzige unterschied ist der, dass man sich arbeit sparen kann, weil die beide das gleiche machen. glaub ich jedenfalls.

nicht wirklich. shell() kann nur executables (*.exe) starten, jedoch shellexec() kann JEDE datei starten (bzw. startet das standartprogramm, das mit der dateiendung verbunden ist).
so stehts in der MSDN library geschrieben (und das war auch mein problem, weil ich wollte JEDE datei starten und mit shell() gingen nur EXEs.)

verbesserung bei falschliegen erwünscht