Bonjour à tous!
Voilà j'aimerai trouver un moyen de suspendre un processus précis, afin de faire une pause...
quelqu'un saurait-il faire ça ici?
Merci d'avance![]()
Bonjour à tous!
Voilà j'aimerai trouver un moyen de suspendre un processus précis, afin de faire une pause...
quelqu'un saurait-il faire ça ici?
Merci d'avance![]()
OUi c'est facile :
MéthodeWaitForExit de la classe Process
![]()
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+
+
=
Ne pas oublier le Tag!
salut Aspic et merci pour ta réponse.
Toutefois peux-tu detailler un peu plus stp?
en effet, je croyais que WaitForExit servait à attendre que le processus soit terminé pour passer à la suite...
mais je ne vois pas comment suspendre le processus en question?
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+
+
=
Ne pas oublier le Tag!
en fait mon programme lance un java script qui peut durer plusieurs heures...
ce que j'aimerai c'est suspendre se javascript en gelant le processus java.exe. et le remprendre là ou on l'avait geler par la suite...
faire une pause dans l'exécution du javascript quand on appuie sur un bouton...
si j'ai bien compris la source qu'il y a en lien dans mon 1er post c'est ce qui est fait en VB6 en suspendant le processus par son PID... donc si c'est faisable en VB6 je suppose que ça l'est aussi en vb.net!?
C'est plus clair ou toujours pas?
Oui c'est clair et c'est possible par API
++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Private Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Declare Function NtSuspendProcess Lib "Ntdll.dll" (ByVal hProc As Long) As Long Private Declare Function NtResumeProcess Lib "Ntdll.dll" (ByVal hProc As Long) As Long Private Declare Function CloseHandle Lib "Kernel32.dll" (ByVal hObject As Long) As Long Private Const PROCESS_SUSPEND_RESUME As Long = &H800 Public Function SuspendResumeProcess(ByVal Pid As Long, ByVal Action As Boolean) As Long Dim hProcess As Long hProcess = OpenProcess(PROCESS_SUSPEND_RESUME, 0&, Pid) If hProcess Then If Action Then SuspendResumeProcess = NtSuspendProcess(hProcess) Else SuspendResumeProcess = NtResumeProcess(hProcess) End If CloseHandle(hProcess) End If End Function
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+
+
=
Ne pas oublier le Tag!
salut!
je ne sais pas si je m'y prend mal, mais quand j'essaye ta fonction j'ai cette erreur :
une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Un appel à la fonction PInvoke 'WindowsApplication1!WindowsApplication1.Form1::OpenProcess' a déséquilibré la pile. Cela peut se produire, car la signature PInvoke managée ne correspond pas à la signature cible non managée. Vérifiez que la convention d'appel et les paramètres de la signature PInvoke correspondent à la signature non managée cible.
Il ne faudrait pas remplacer Long par Integer dans la déclaration ?
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
salut SaumonAgile,
tu parles pour quelle déclaration? toutes?
sinon j'ai trouvé ça qui marche
Ca fait passer par une commande, mais bon au moins ça marche![]()
Dans
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public Function SuspendResumeProcess(ByVal Pid As Long, ByVal Action As Boolean)
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
nan même message...
mais ca marche avec pssuspend.exe donc c'est bon je vais me contenter de ça...
merci pour tout quand même...![]()
Biensur que si
Mais dans toutes les déclarations, donc le bon code est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer Private Declare Function NtSuspendProcess Lib "Ntdll.dll" (ByVal hProc As Integer) As Integer Private Declare Function NtResumeProcess Lib "Ntdll.dll" (ByVal hProc As Integer) As Integer Private Declare Function CloseHandle Lib "Kernel32.dll" (ByVal hObject As Integer) As Integer Private Const PROCESS_SUSPEND_RESUME As Integer= &H800 Public Function SuspendResumeProcess(ByVal Pid As Integer, ByVal Action As Boolean) As Integer
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+
+
=
Ne pas oublier le Tag!
Partager