FAT12 | Bonjour,
Je souhaite lancer un prg avec VB sous un user et récupérer le PID du processus.
J'ai déja testé le code suivant:
Code :
- Set WshShell = CreateObject("WScript.Shell" )
- Set oExec = WshShell.Exec(applicationName)
- Wscript.Echo "PID de l'aapli lancée: " & oExec.ProcessID
|
mais je ne peux pas spécifier le user.
Ensuite j'ai utilisé ceci:
Code :
- RunAppUser=WshShell.Run("runas /user:" & user & " " & CHR(34) & applicationName & CHR(34), 2, FALSE)
|
mais la je n'arrive pas à récupérer le PID
J'ai également trouvé ceci:
Code :
- Const CommandLine = "notepad.exe"
- Const Computer = "192.168.1.1"
- Const UserName = "EU\st09346"
- Const Password = "nounou"
- Dim lngRet
- lngRet = CreateProcess(CommandLine, Computer, UserName, Password)
- Function CreateProcess(szCommandLine, szComputer, szUserName, szPassword)
- Dim objProcesses
- Dim objLocator
- Dim objService
- Dim lngRet
- Dim lngPID
- Dim MesStr
- Set WshNetwork = WScript.CreateObject("WScript.Network" )
- WScript.Echo "Domain = " & WshNetwork.UserDomain
- WScript.Echo "Computer Name = " & WshNetwork.ComputerName
- WScript.Echo "User Name = " & WshNetwork.UserName
-
- Set objLocator = CreateObject("WbemScripting.SWbemLocator" )
- Set objService = objLocator.ConnectServer(WshNetwork.ComputerName, , szUserName, szPassword)
- Set objService = objLocator.ConnectServer(, , szUserName, szPassword)
-
- Set objProcesses = objService.Get("Win32_Process" )
-
- lngRet = objProcesses.Create(szCommandLine, Null, Null, lngPID)
- Set objProcesses = Nothing
- Set objService = Nothing
- Set objLocator = Nothing
- CreateProcess = lngPID
- End Function
|
mais la la ligne
Code :
- Set objService = objLocator.ConnectServer(WshNetwork.ComputerName, , szUserName, szPassword)
|
provoque le message suivant:
les références utilisateurs ne peuve,nt pas être utilisées pour des connexions locales
J'ai la containte suivante: je nepeux pas utilisé le nom de l'application pour rechercher son PID (en listant ts les processus et en recuperant leur nom puis en le comparant avec le nom du programme lancé).
Voila j'èspère avoir été assz clair.
Merci pour vos réponses.
|