[Vb] execute een .exe file

Pagina: 1
Acties:

  • DeZwarteKip
  • Registratie: Februari 2002
  • Niet online
op mijn werk werken we met virtual cd v5, dit programma maakt virtuele cd-spelers aan waar imagefiles ingelezen kunnen worden.

Het programma kan ook een script voor je genereren waarmee een bepaalde image word ingelezen in een virtuele cd-speler. Dit is dan een "VBScript script file".

Wat ik nu graag wil is dat script zo bewerken dat na het invoeren van de image een bepaald bestandje op die 'virtuele cd' wordt geopend.

het gaat om een bestandje 'menu.exe' die bijv. in de volgende map op de cd staat:
E:\edurom_7\taal2\menu.exe

onderaan het bestaande script zal dus een soort execute commando moeten staan gok ik.

Iemand die mij hier een duidelijke oplossing voor kan geven?, alvast bedankt!

Verwijderd

Ik weet niet of dit werkt in VBscript maar in VB(A) wel.

Visual Basic:
1
Shell "C:\winnt\notepad"

Verwijderd

werkt ook in VBscript

  • DeZwarteKip
  • Registratie: Februari 2002
  • Niet online
Bedankt voor de tip, maar het werkt nog niet. misschien doe ik wel iets fout, dit is het script:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Option Explicit

Const VCD_ERROR_NONE = 0
Const DLGTITLE = "Virtual CD Script"
Const DLGERRORMSG = "Error while inserting a virtual CD "
Const DLGEC = " EC: "

DIM IApi            ' Virtual CD v4 SDK API Object

' Init the VCD SDK object
Set IApi = CreateObject("Vc5api.Api")

' Insert the virtual CDs
call InsertVCD("", "\\Server1\programs\cd_img\eduroms1_12.vc4")

Set IApi = Nothing
WScript.Quit(0)

' **************************************************
' Insert a virtual CD
' strVCDDrive - Drive letter (empty for default)
' strVCDName - Name of the virtual CD
' **************************************************
Function InsertVCD(strVCDDrive, strVCDName)
    DIM strDrive        ' current drive of a VCD
    DIM strVCDDrives    ' Available virtual dirves

    ' If there is no file name stop
    If Len(strVCDName) <> 0 Then
        ' get the virtual drive where the CD is inserted
        strDrive = IApi.VCDGetMountDrive(strVCDName)
        
        ' eject the CD if it was inserted
        If Len(strDrive) <> 0 then
            IApi.VCDEject(strDrive)
        End If
    
        ' insert the virtual CD
        InsertVCD = IApi.VCDInsert(strVCDDrive, strVCDName, "")
        
        ' if something was wrong come up with an error
        If InsertVCD <> VCD_ERROR_NONE then
            MsgBox DLGERRORMSG & strVCDName & DLGEC & InsertVCD, vbExclamation, DLGTITLE
        End If
    End If
End Function

Shell "E:\Edurom_7\TAAL2\menu.exe"


Iemand een idee wat er fout gaat of veranderd moet worden?

  • Nexopheus
  • Registratie: Juni 2001
  • Laatst online: 28-01 13:50
Weet je zeker dat het pad aanduiding goed is? Krijg je meldingen, errors etc.

Komt het script wel verder dan de functie aanroep?

Wat niet kan is nog nooit gebeurd


  • momania
  • Registratie: Mei 2000
  • Laatst online: 13:29

momania

iPhone 30! Bam!

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Option Explicit

Const VCD_ERROR_NONE = 0
Const DLGTITLE = "Virtual CD Script"
Const DLGERRORMSG = "Error while inserting a virtual CD "
Const DLGEC = " EC: "

DIM IApi            ' Virtual CD v4 SDK API Object

' Init the VCD SDK object
Set IApi = CreateObject("Vc5api.Api")

' Insert the virtual CDs
call InsertVCD("", "\\Server1\programs\cd_img\eduroms1_12.vc4")

' ****  Hier moet ie staan denk ik ***
Shell "E:\Edurom_7\TAAL2\menu.exe"
Set IApi = Nothing
WScript.Quit(0)

' **************************************************
' Insert a virtual CD
' strVCDDrive - Drive letter (empty for default)
' strVCDName - Name of the virtual CD
' **************************************************
Function InsertVCD(strVCDDrive, strVCDName)
    DIM strDrive        ' current drive of a VCD
    DIM strVCDDrives    ' Available virtual dirves

    ' If there is no file name stop
    If Len(strVCDName) <> 0 Then
        ' get the virtual drive where the CD is inserted
        strDrive = IApi.VCDGetMountDrive(strVCDName)
        
        ' eject the CD if it was inserted
        If Len(strDrive) <> 0 then
            IApi.VCDEject(strDrive)
        End If
    
        ' insert the virtual CD
        InsertVCD = IApi.VCDInsert(strVCDDrive, strVCDName, "")
        
        ' if something was wrong come up with an error
        If InsertVCD <> VCD_ERROR_NONE then
            MsgBox DLGERRORMSG & strVCDName & DLGEC & InsertVCD, vbExclamation, DLGTITLE
        End If
    End If
End Function

Ik ken geen VB, maar als ik ff zo snel kijk ,lijkt mij de regel 'WScript.Quit(0)' de afsluiting van het script en heb je je regel voor de exe gedefinieerd na een functie declaratie. Dan zal ie nooit uitgevoerd worden.

[ Voor 17% gewijzigd door momania op 13-05-2003 10:13 ]

Neem je whisky mee, is het te weinig... *zucht*


  • Nexopheus
  • Registratie: Juni 2001
  • Laatst online: 28-01 13:50
IDD

Wat niet kan is nog nooit gebeurd


  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 00:17
momania schreef op 13 May 2003 @ 10:11:
Ik ken geen VB, maar als ik ff zo snel kijk ,lijkt mij de regel 'WScript.Quit(0)' de afsluiting van het script en heb je je regel voor de exe gedefinieerd na een functie declaratie. Dan zal ie nooit uitgevoerd worden.
De volgorde is ok. Dat moet werken, maar je moet het shell commando wel anders typen:

code:
1
2
3
4
Set objShell    = createobject("WScript.Shell")

objShell.Exec("E:\Edurom_7\TAAL2\menu.exe")
objShell.Run("E:\Edurom_7\TAAL2\menu.exe"), 0, True


De verschillen van .Exec en .Rus moet je maar op MSDN opzoeken evenals de syntax van .Run

[ Voor 34% gewijzigd door jvdmeer op 13-05-2003 10:52 ]


  • DeZwarteKip
  • Registratie: Februari 2002
  • Niet online
Nexopheus schreef op 13 mei 2003 @ 10:07:
Weet je zeker dat het pad aanduiding goed is? Krijg je meldingen, errors etc.

Komt het script wel verder dan de functie aanroep?
Ik krijg geen foutmeldingen ofzo, alles gaat ok lijkt het behalve dat het programmaa'tje niet wordt gestart. Heb ook al de manier in de post hierboven geprobeerd maar dat werkt ook niet.

blijft vaag, jammer dat ik er ook de ballen verstand van heb eigenlijk.
Ik had zelf het idee dat je met die IF ook wel wat kan doen zoiets als:
IF image insert is, launch menu.exe

simpel gezegd maar zou wel beter in het script passen denk ik.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 18-08 22:57

Gerco

Professional Newbie

Je moet de Shell of Exec aanroep ook VOOR de regel met WScript.Quit(0) zetten, anders zal 'ie niet uitgevoerd worden.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!

Pagina: 1