Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

Wie kann ich mit Visual Basic 6.0 Spiele starten (z.b. Quake

X-TRO / 19 Antworten / Baumansicht Nickles

Irgendwie bekomme ich es nicht auf der Reihe mit Visual Basic 6.0, Externe Programme wie z.b Quake, Half-Life und Konsorten zu starten!
Ich bin noch Anfänger also dürft Ihr mir diese Frage nicht übel nehmen :-)
Ein Beispiel wie ich es versucht habe:

Private Sub Command1_Click()
Dim stAppName As String
stAppName = "F:\Spiele\SIERRA\Half-Life\hl.exe"
Call Shell(stAppName, 1)
End Sub

So funktioniert das aber nicht, bekomme dann die Hinweis Meldung "Could not validate Half-Life"
Mein Ziel war eigentlich mir ein Spiele-Menue mit Visual Basic 6.0 zu erstellen wo drunter ich alle meine Externen Games starten kann.

Ich wäre für jegliche Hilfe dankbar!
Ciao

bei Antwort benachrichtigen
thomas woelfer X-TRO „Wie kann ich mit Visual Basic 6.0 Spiele starten (z.b. Quake“
Optionen

vermute das das damit zusammenhaengt das ein start-verzeichnis angegeben werden muss, weil hl sein image sonst nicht findet.

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen
X-TRO thomas woelfer „vermute das das damit zusammenhaengt das ein start-verzeichnis angegeben werden...“
Optionen

Danke Thomas Woelfer für Deine Hilfe aber wie ist dafür der Code!

Ciao

bei Antwort benachrichtigen
Rotti X-TRO „Danke Thomas Woelfer für Deine Hilfe aber wie ist dafür der Code!Ciao“
Optionen

Ich hab zwar nur VB 4.0, aber da gehts so:

Private Sub Button1_Click()
chdir "F:\Spiele\SIERRA\Half-Life\"
Shell("Hl.exe", 1)
End Sub

bei Antwort benachrichtigen
X-TRO Rotti „Ich hab zwar nur VB 4.0, aber da gehts so:Private Sub Button1_Click chdir F:...“
Optionen

Hi Rotti..
Schönen Dank erst mal für Deinen Tip! Aber es funktioniert anscheinend nicht.

Beim Starten der Prozedur:

Private Sub Button1_Click()
chdir "F:\Spiele\SIERRA\Half-Life\"
Shell("Hl.exe", 1) End Sub

bekomme ich folgende Meldung:

Fehler beim Komilieren:
Syntaxfehler

Ich versuche es weiter...........Danke nochmal

Ciao

bei Antwort benachrichtigen
Rotti X-TRO „Hi Rotti..Schönen Dank erst mal für Deinen Tip! Aber es funktioniert...“
Optionen

Sorry, war mein Fehler!
die klammern dürfen da nicht sein!
ohne sie müsste es gehen...
mfg, Rotti

bei Antwort benachrichtigen
X-TRO Rotti „Sorry, war mein Fehler!die klammern dürfen da nicht sein!ohne sie müsste es...“
Optionen

Hi Rotti..

Ich habe es diesmal ohne Klammer gemacht und bekam bei den Code folgende Meldung:

Private Sub Command1_Click()

ChDir "F:\Spiele\SIERRA\Half-Life\"
Shell "Hl.exe", 1

End Sub

Laufzeitfehler 53

Datei nicht gefunden

So ein Schitt auch, es muss doch irgendeine Möglichkeit geben das Problem zu lösen! Hoffe ich ;-)

Ich habe vor kurzen gehört man sollte sich in der VB-Hilfe nach den genauen Syntax umschauen, damit soll das funktionieren. Bin bis jetzt noch nicht schlau draus geworden aber es kann nur noch besser werden ;-)

Na schön das gibt wieder schlaflose Nächte. Also ich bleib am Ball ich hoffe Ihr/Du auch.

Trotzdem noch mal Danke Rotti

Ciao

bei Antwort benachrichtigen
Rotti X-TRO „Hi Rotti..Ich habe es diesmal ohne Klammer gemacht und bekam bei den Code...“
Optionen

sonst probier es mal so wie bei deinem ersten beipiel, nur dass du da noch vorher mit chdir in das verzeichnis wechselst...
mfg, rotti

bei Antwort benachrichtigen
X-TRO Rotti „sonst probier es mal so wie bei deinem ersten beipiel, nur dass du da noch...“
Optionen

Hi Rotti,

hat leider auch nicht geklappt aber was ja nicht ist, dass kann ja noch werden ;-)

Danke trotzdem...

Ciao

bei Antwort benachrichtigen
X-TRO Nachtrag zu: „Hi Rotti,hat leider auch nicht geklappt aber was ja nicht ist, dass kann ja noch...“
Optionen

Hallo an alle........

Mit den Code:

Private Sub Command2_Click(Index As Integer)

Dim stAppName As String
stAppName = "F:\Spiele\Sshock2\shock2.exe"
Call Shell(stAppName, 1)

End Sub

lässt sich System Shock2 ohne Probleme starten. Also der Code ist richtig aber......


Nur mit den gleichen Code bei Quake3 und Half-Life bekomme ich folgende Meldung

Bei Quake3 meldet sich die Quake3 Konsole mit der Meldung:

Couldn't load default.cfg

Q3 1.11 win-x86 Nov 24 1999
----- FS_Startup -----
Current search path:
C:\Programme\Microsoft Visual Studio\VB98/baseq3

----------------------

Running in restricted demo mode.

----- FS_Startup -----
Current search path:
C:\Programme\Microsoft Visual Studio\VB98/demoq3

----------------------
----- CL_Shutdown -----
-----------------------
Couldn't load default.cfg


Meldung bei Half-Life wie schon in den letzten Schreiben erwähnt:

Could not validate Half-Life

Oh man, dass soll mir jetzt mal einer erklären oder muss ich ein speziellen Parameter für die beiden Games eingeben?

Es wird immer komplizierter....im diesen Sinne

Ciao

bei Antwort benachrichtigen
Rotti X-TRO „Hallo an alle........Mit den Code:Private Sub Command2_Click Index As Integer...“
Optionen

Private Sub Command2_Click(Index As Integer)

Dim stAppName As String
chdir [Verz. von HL/Q3A]
stAppName = "hl.exe"
Call Shell(stAppName, 1)
End Sub

ich weiss nich, vielleicht gehts so...

bei Antwort benachrichtigen
X-TRO Rotti „Private Sub Command2_Click Index As Integer Dim stAppName As String chdir Verz....“
Optionen

Hallo Rotti.........

Bei Dein Code:

Private Sub Command2_Click(Index As Integer)

Dim stAppName As String
chdir [Verz. von HL/Q3A]
stAppName = "hl.exe"
Call Shell(stAppName, 1)
End Sub

bekomme ich folgende Meldung:

Fehler beim Kompilieren:

Externer Name nicht definiert

Schade

Ciao

bei Antwort benachrichtigen
Rotti X-TRO „Hallo Rotti.........Bei Dein Code:Private Sub Command2_Click Index As Integer...“
Optionen

Zeigt er dir irgendeine Zeile an, in der der Fehler liegt???

bei Antwort benachrichtigen
X-TRO Rotti „Zeigt er dir irgendeine Zeile an, in der der Fehler liegt???“
Optionen

Ja er zeigt mir folgende Meldung an bei den Code:

Private Sub Command5_Click()

Dim stAppName As String
ChDir "F:\Spiele\Quake III Arena\"
stAppName = "quake3.exe"
Call Shell(stAppName, 1)

End Sub

Die Meldung:
Laufzeitfehler 53
Datei nicht gefunden

Und wen ich den Debuggen starte, wird die Zeile "Call Shell(stAppName, 1)" gelb makiert.

Ich hoffe das sagt Dir was..

Ciao

bei Antwort benachrichtigen
Rotti X-TRO „Ja er zeigt mir folgende Meldung an bei den Code: Private Sub Command5_Click Dim...“
Optionen

Ich hab bei mir von deinem bsp. nur mal meinen q3a-pfad eingesetz und es ging wunderbar!
woran es jetzt noch liegen kann, weiss nich nicht :-(
mfg, Rotti

bei Antwort benachrichtigen
X-TRO Nachtrag zu: „Wie kann ich mit Visual Basic 6.0 Spiele starten (z.b. Quake“
Optionen

Hi Rotti

mit welcher VB Version arbeitest Du eigentlich.

Ciao

bei Antwort benachrichtigen
Rotti X-TRO „Hi Rottimit welcher VB Version arbeitest Du eigentlich.Ciao“
Optionen

4.0, aber das hatte ich irgendwann schon einmal geschrieben ;)...

bei Antwort benachrichtigen
Manuel Rotti „4.0, aber das hatte ich irgendwann schon einmal geschrieben ...“
Optionen

Im Titel der Diskussion steht was von 6.0

Ist ja auch ein bisschen neuer als 4.0 !

Manuel

bei Antwort benachrichtigen
spike X-TRO „Wie kann ich mit Visual Basic 6.0 Spiele starten (z.b. Quake“
Optionen

ich bin kein profi, deswegen:

hast du schon versucht ne batch-datei zu starten von welcher aus du dein game startest?

was fuer ein laufwerk ist 'f:' ,ne cd-rom?

bei Antwort benachrichtigen
DARKHalf (Anonym) X-TRO „Wie kann ich mit Visual Basic 6.0 Spiele starten (z.b. Quake“
Optionen

versuch es mal so:

DIM A
-------------------------------(durchgezogene Linie vom Return in VB)

Private Sub Command5_click()
a=shell "(verzeichniss von Quake)\quake3.exe -path=(verzeichniss von quake)".

wenn es das nich is, versuch den parameter -path zu ändern (/path oder -(/)gamepath oder irgend soetwas. Dann sollte quake wissen, in welchem verzeichniss es installiert is. Als wietere Möglichkeit bietet sich an, einen DOS Verzeichnispfad zu definieren:
a= shell "path=%%path%%;(quakeverzeichnis)" zwar etwas veraltet, aber es könnte gehen. Diese Zeile solltest du vor den anderen Shell Befehl setzen. Ansonsten weiss ich momentan auch keinen besseren Rat.

In diesem Sinne.

bei Antwort benachrichtigen