Register

Se esta é sua primeira visita, por favor clique no botão Registre-se para iniciar o processo de criação de sua conta para que você possa começar a postar em nosso fórum e fazer downloads! O Registo é rápido só vai ocupar cerca de um minuto de seu tempo.


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

#1default [VB.NET] Pausar, resumir e finalizar em Ter Dez 25, 2012 10:49 pm

Geek



Desinger
Muitos tem me enviaram MP's para fazer um tutorial de Pausar, resumir e finalizar um processo.
Então, lets go!

Abra seu projeto, dê 2 cliques no form e adicione o código abaixo de baixo de Public Class Form1.

Spoiler:
Declare Function SuspendThread Lib "kernel32.dll" (ByVal hThread As IntPtr) As UInteger
Declare Function ResumeThread Lib "kernel32.dll" (ByVal hThread As IntPtr) As UInteger
Public Declare Function OpenThread Lib "kernel32.dll" (ByVal dwDesiredAccess As ThreadAccess, ByVal bInheritHandle As Boolean, ByVal dwThreadId As UInteger) As IntPtr
Public Declare Function CloseHandle Lib "kernel32.dll" (ByVal hHandle As IntPtr) As Boolean

Public Enum ThreadAccess As Integer
TERMINATE = 1
SUSPEND_RESUME = 2
GET_CONTEXT = 8
SET_CONTEXT = 16
SET_INFORMATION = 32
QUERY_INFORMATION = 64
SET_THREAD_TOKEN = 128
IMPERSONATE = 256
DIRECT_IMPERSONATION = 512
End Enum

Private Sub ResumeProcess(ByVal process As System.Diagnostics.Process)
For Each t As ProcessThread In process.Threads
Dim th As IntPtr
th = OpenThread(ThreadAccess.SUSPEND_RESUME, False, t.Id)
If th <> IntPtr.Zero Then
ResumeThread(th)
CloseHandle(th)
End If
Next
End Sub

Private Sub SuspendProcess(ByVal process As System.Diagnostics.Process)
For Each t As ProcessThread In process.Threads
Dim th As IntPtr
th = OpenThread(ThreadAccess.SUSPEND_RESUME, False, t.Id)
If th <> IntPtr.Zero Then
SuspendThread(th)
CloseHandle(th)
End If
Next
End Sub

Agora crie um button e adicione o código abaixo, que vai ser o Pausar.

Spoiler:
Dim note As Process() = Process.GetProcessesByName("PointBlank")
SuspendProcess(note(0))

Crie outro button, esse vai ser o Resumir.

Spoiler:
Dim note As Process() = Process.GetProcessesByName("PointBlank")
ResumeProcess(note(0))

E por último, mais um button que será o Finalizar.

Spoiler:
Dim Processos As Process() = Process.GetProcessesByName("PointBlank")
For Each Processo As Process In Processos
Processo.Kill()
Next

#2default Re: [VB.NET] Pausar, resumir e finalizar em Qua Jan 16, 2013 2:12 pm

zMaster



Melhor Seria Assim.

Suspend:
Spoiler:
Dim note As Process() = Process.GetProcessesByName("SuaTextBox")
SuspendProcess(note(0))

Resumir:
Spoiler:
Dim note As Process() = Process.GetProcessesByName("SuaTextBox")
ResumeProcess(note(0))

Finalizar:
Spoiler:
Dim Processos As Process() = Process.GetProcessesByName("SuaTextBox")
For Each Processo As Process In Processos
Processo.Kill()
Next

#3default Re: [VB.NET] Pausar, resumir e finalizar em Sab Jan 19, 2013 8:08 pm

Geek



Desinger
zMaster escreveu:
Melhor Seria Assim.

Suspend:
Spoiler:
Dim note As Process() = Process.GetProcessesByName("SuaTextBox")
SuspendProcess(note(0))

Resumir:
Spoiler:
Dim note As Process() = Process.GetProcessesByName("SuaTextBox")
ResumeProcess(note(0))

Finalizar:
Spoiler:
Dim Processos As Process() = Process.GetProcessesByName("SuaTextBox")
For Each Processo As Process In Processos
Processo.Kill()
Next

Tbm Pode Ser

Conteúdo patrocinado



Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum

 

  • Fale Conosco
  • Topo
All times are GMT.-3.
Powered by vBulletin® Version 4.2.0
Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.
vBulletin Skin By: CheatsInvasion - Adaptado por Daemon