ExecFile gibt's nicht mehr?
Übersicht

![]() |
juse4proBetreff: ExecFile gibt's nicht mehr? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
arbeite grade an einem Luncher und brache einen Befehl, welcher eine andere Exe ausführt, wie geht das? Den Befehl ExecFile scheint es ja nicht mehr zu geben... |
||
Portfolio |LinkedIn |XING |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] system_("calc.exe")
|
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
juse4pro |
![]() Antworten mit Zitat ![]() |
---|---|---|
also, tut mir echt leid, aber du musst dich schon "entwas" genauer ausdrücken... ![]() |
||
Portfolio |LinkedIn |XING |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() Kopier das man in ne neue bmx-Datei und führe es aus. Und *zackboombang* öffnet sich der Taschenrechner (a.k.a "calc.exe"). So, und wenn du nun ein anderes Programm öffnen willst, dann musst du da in den Klammern ein anderes angeben. Klingt komisch, ist aber so! |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
geht auch mit OpenURL | ||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
juse4pro |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok, danke!
@D2006: Sorry, konnte ich ja nicht wissen, dass das BlitzMax Code war... |
||
Portfolio |LinkedIn |XING |
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist aber von abzuraten...
Funktioniert nicht immer... Jedenfals nicht auf allen Windows-Systemen. Ich habe es damals mit hilfe von C gelöst. Dann hab ich noch eine funktion eingebaut, die prüft, ob es eine URL ist. ggf. wurde OpenURL(URL) aufgerufen... lg MD €dit: So habe ich es gemacht: Code: [AUSKLAPPEN] --------------------- helper.c -------------------- void ExecFile(char *cmd) { system(cmd); } --------------------execfile.bmx------------------- Import "helpers.c" Extern Function __ExecFile(cmd:Byte Ptr) = "ExecFile@4" End Extern ' Startet eine Datei Function ExecFile(cmd:String) If(Right(cmd, 1) = "\" Or Right(cmd, 1) = "/") Then cmd = Mid(cmd, 1, Len(cmd) - 1) If(FileType(cmd) = 2) Then OpenURL(cmd) Return EndIf ' ---> URL ausschließen ( Sonst mit dem Browser öffnen) Select(Lower(Left(cmd, 4))) Case("www.") OpenURL(cmd) Return Case("http") If(Lower(Left(cmd, 5)) = "http:" Or Lower(Left(cmd, 5)) = "https:") Then OpenURL(cmd) Return EndIf End Select ' ---> Die Datei öffnen Local temp:TStream = WriteFile(getenv_("temp") + "\ExecFile.bat") WriteLine(temp, "@ECHO off") WriteLine(temp, "set temp_path=" + Chr(34) + cmd + Chr(34)) WriteLine(temp, "start " + Chr(34) + Chr(34) + " %temp_path%") temp.Close() __ExecFile(getenv_("temp") + "\ExecFile.bat") End Function PS.: Ich habe mich auch gewundert, wieso es auf dem Umweg über C funktioniert...also fragt nicht xD aber es funktioniert so wenigstens auf allen (win-)Systemen. Pssss.: Ich habe es mit einer extra *.c Datei gelöst. War damals ordentlicher. Könnt ihr ja direkt aus "Win32" "externen". |
||
![]() |
juse4pro |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm... habe aber nur die demo (also kein c [oder?])
und ist umweg über C der einzigste richtige, gute weg? ich möchte eine andere exe (im selben verzeichniss) mit kommandozeilenparametern aufrufen |
||
Portfolio |LinkedIn |XING |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die Exe könntest du auch mit CreateProcess starten. Oder falls dein Programm nur auf Windows funktionieren soll, kannst du auch ShellExecute importieren und aufrufen. | ||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group