tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
850
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Carndret
    Carndret Carndret ist offline Mitglied Platin
    Registriert seit
    Apr 2001
    Ort
    Schaffhausen
    Beiträge
    546
    Wieso funktioniert die Shell Funktion nur bei bestimmten Programmen?
    Ich will eine .exe eines Spiels (DAoC) aufrufen und er macht gar nichts (außer das die Maus kurz auf "beschäftigt" umschaltet). Das Notepad kann ich aber z.B. starten.
    Liegt das vielleicht daran das bei den Eigenschaften (vom Icon der Exe) bei "Ausführen in" das Verzeichnis (im alten DOS-Stil) enthalten ist (E:\DARKAG~1).
    Wie kann ich diese Anwendung dann trotzdem starten.
     

  2. #2
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    Zeig mal den Code, sonst wird es schwer Dir auch zu helfen.

    Aber aus dem Hinweis mit dem "Ausführen in..." schliesse ich mal, dass Du nicht versuchst, die Anwendung selbst zu öffnen, sondern nur eine Verknüpfung dahin.
    Das dürfte mit der Shell-Funktion Probleme geben, weil die nur richtige Anwendungen starten kann.
     

  3. #3
    Avatar von Carndret
    Carndret Carndret ist offline Mitglied Platin
    Registriert seit
    Apr 2001
    Ort
    Schaffhausen
    Beiträge
    546
    So siehts aus:
    Code :
    1
    2
    3
    4
    5
    6
    
    Private sAppName As String, sAppPath As String
     
    Private Sub Form_Load()
      sAppName = "Dark Age of Camelot"
      sAppPath = "E:\Shrouded Isles\camelot.exe"
    End Sub
    und er macht gar nichts (außer das mit der Maus).
     

  4. #4
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    Ehm... wenn das der ganze Code ist, dann ist es kein Wunder, dass da nichts passiert.
     

  5. #5
    Avatar von Carndret
    Carndret Carndret ist offline Mitglied Platin
    Registriert seit
    Apr 2001
    Ort
    Schaffhausen
    Beiträge
    546
    Ach ich Depp, natürlich fehlt da ein Stück Code. Ich hab im oberen Post den Button nicht mit reinkopiert.
    Das ist der Code bei dem nichts passiert (jedenfalls nicht bei der Anwendung):

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    Private sAppName As String, sAppPath As String
     
    Private Sub Form_Load()
      sAppName = "Dark Age of Camelot"
      sAppPath = "E:\Shrouded Isles\camelot.exe"
    End Sub
     
     
    Private Sub Command1_Click()
      Shell sAppPath, vbNormalFocus
    End Sub
    Geändert von Carndret (19.04.03 um 13:51 Uhr)
     

  6. #6
    Avatar von pReya
    pReya pReya ist offline Mitglied Gold
    Registriert seit
    Nov 2002
    Ort
    Altdorf (Bayern)
    Beiträge
    170
    Sorry das ich den Thread nochmal aus der Versenkung hol, aber ich hab auch desbezüglich eine Frage, und bevor ich extra nen neuen Thread aufmach frag ich hier:

    Wie kann ich überhaupt eine exe datei ausführen
     

  7. #7
    Avatar von DrSoong
    DrSoong DrSoong ist offline Iss was, Doc!
    tutorials.de Premium-User
    Registriert seit
    Jul 2003
    Ort
    Dem Zentrum meiner Welt
    Beiträge
    1.836
    Blog-Einträge
    85
    Ist ja klar, dass sich da nichts tut, nach dem Ende der Form_Load-Prozedur löscht er den Variableninhalt wieder. So muß es aussehen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    Private Sub Command1_Click()
     Private sAppName As String, sAppPath As String
     
     sAppName = "Dark Age of Camelot"
     sAppPath = "E:\Shrouded Isles\camelot.exe"
     
     Shell sAppPath, vbNormalFocus
    End Sub
    Alles in der gleichen Sub, so gehts.


    Der Doc!
     
    A: Hilfe, ich hab zwei Dateien hinzugefügt und nun sind die anderen weg
    B: Die Scrollbar da rechts ist dir schon mal aufgefallen?

  8. #8
    Retlaw Retlaw ist offline Mitglied Platin
    Registriert seit
    Jul 2003
    Ort
    Bayern
    Beiträge
    508
    Nein es muss nicht in der gleichen Sub stehen, die Variablen wurde auf Modul-Ebene deklariert und behält daher innerhalb des ganzen Forms mit all seinen Subs ihre Gültigkeit.

    Bei mir Funktioniert das Beispiel von Carndret übrigens.
    Aber es scheint so das Shell keine Leerzeichen im Pfad mag, also mit der Dos-Schreibweise sollte es gehen.

    mfG
     

  9. #9
    Avatar von pReya
    pReya pReya ist offline Mitglied Gold
    Registriert seit
    Nov 2002
    Ort
    Altdorf (Bayern)
    Beiträge
    170
    kann mir trotzdem jemand die generelle funktion zum ausführen ner exe sagen
     

  10. #10
    Retlaw Retlaw ist offline Mitglied Platin
    Registriert seit
    Jul 2003
    Ort
    Bayern
    Beiträge
    508
    Original geschrieben von dJ-sTyLeZ
    kann mir trotzdem jemand die generelle funktion zum ausführen ner exe sagen
    Shell eben

    oder guckst du hier
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 10.11.10, 08:27
  2. Antworten: 5
    Letzter Beitrag: 06.04.08, 14:08
  3. Antworten: 3
    Letzter Beitrag: 14.09.07, 16:57
  4. SHELL COMANDE - Programm startet
    Von FlashMX im Forum PHP
    Antworten: 0
    Letzter Beitrag: 12.11.05, 15:37
  5. pc fährt nicht richtig runter//startet nicht neu
    Von Shiivva im Forum Microsoft Windows
    Antworten: 5
    Letzter Beitrag: 01.11.01, 02:56