RunApplicationEx                              (XAPI2000)

Deklaration VB 6.0
Function RunApplicationEx (ByVal FName As String, ByVal Parameters As String, ProcessID As Long) As Boolean

Deklaration VB.NET
Function RunApplicationEx (ByVal FName As String, ByVal Parameters As String, ProcessID As Integer) As Boolean

Beskrivning
Startar ett program och returnerar applikationens process-ID. Denna ID kan sedan bl a användas för att stänga ett program utifrån eller bevaka programmet. Parametern FName specificerar filnamnet på applikationen (inkl. sökväg) och via parametern Parameters anger du eventuella inparametrar till programmet. Ska inga inparametrar skickas sätts denna parameter till en tom sträng (""). Applikationens process-ID returnerars via parametern ProcessID.

Funktionen TerminateApplication kan användas för att stänga programmet utifrån och funktionen IsApplicationActive kan användas för att testa om applikationen är aktiv. Dessa båda funktioner tar den process-ID som erhållits med denna funktion som inparameter.

Begränsningar i Windows Vista / Windows 7
Denna funktion kan inte starta program som kräver administratörsrättigheter ifall funktionen anropas från ett program som körs med standardrättigheter. Om programmet som ska startas ska köras med standardrättigheter eller om det program som funktionen anropas i redan har administratörsrättigheter fungerar funktionen utan begränsningar.

Returvärden
Har allt gått bra och programmet startats på ett lyckat sätt returnerar funktionen True. Vid fel returnerar funktionen False.
.

Se även
TerminateApplication, IsApplicationActive

 
 
Exempel (VB 6.0)

Exemplet nedan startar Windows miniräknare (CALC.EXE) när användaren trycker på knappen CmdStart och stänger samma räknare när användaren trycker på knappen CmdTerminate. Applikationens process-Id lagras i den globala variabeln ProcessID.

Dim ProcessID As Long

' Starta ett program och lagra undan process-ID
Private Sub CmdStart_Click()
    If ProcessID = 0 Then RunApplicationEx GetWindowsDir() + "\Calc.exe", "", ProcessID
End Sub

' Stäng aktivt program
Private Sub CmdTerminate_Click()
    If ProcessID <> 0 Then TerminateApplication ProcessID, 100
    ProcessID = 0
End Sub
 
    
  
SamLogic