buenas mi pregunta es si hay alguna forma de realizar alguna accion cuando se abre el administrador de tareas .
me exlico yo le mando al programa que aga algo y quiero que para cuando se abra el administrador de tareas la pregunta es como ago eso
Puedes monitorizar constantemente las ventanas abiertas o los procesos en ejecución y cuando veas el del administrador de tareas pues BOOM
yo habia visto po hay no recuerdo donde ni lo encuentro la forma de cuando una bentana tiene un titulo determinado en este caso administrador de tareas podias hacer algo pero la lastima es que no recuerdo donde lo vi
En un timer con un if q verifique constantemente si el administrador de tareas esta abierto (taskmgr.exe) y si devuelve true le mandas la acción q queres..
ok entonces seria algo asin

Código: Seleccionar todo

if start taskmgr.exe then
accion 
no¿?¿?¿? espero que este bien asin
ED: asin no ba y esta idea me parece genial es mas sencillo mirar si el proceso esta abierto que la ventana gran idea pero aver si lo consigo hacer xD
ese post lo vi pero no me quedo claro asin que queria saber si habia alguna otra forma pero gracias de todas formas
enigma? escribió:ese post lo vi pero no me quedo claro asin que queria saber si habia alguna otra forma pero gracias de todas formas
El primer ejemplo que puso blacklaptop es muy sencillo, esta muy buena la api esta, busca la ventana por el titulo, asi harán los msn's spreads, localizan el titulo y pum! a floodear!

Saludos!
enigma? escribió:ese post lo vi pero no me quedo claro asin que queria saber si habia alguna otra forma pero gracias de todas formas
primero obten el caption de la ventana, luego del caption puedes obtener el handle para hacer otras cosillas mas, como ocultar laventan entre otras cosas, salu2
mas facil, tengo la solucion, pon en un modulo:

Código: Seleccionar todo

Option Explicit
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" _
        (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function ProcessFirst Lib "kernel32" Alias _
        "Process32First" (ByVal hSnapShot As Long, uProcess _
        As PROCESSENTRY32) As Long
Private Declare Function ProcessNext Lib "kernel32" Alias _
        "Process32Next" (ByVal hSnapShot As Long, uProcess _
        As PROCESSENTRY32) As Long
Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass _
        As Long)
Const TH32CS_SNAPPROCESS As Long = 2&
Const MAX_PATH As Integer = 260
Private Type PROCESSENTRY32
  dwSize As Long
  cntUsage As Long
  th32ProcessID As Long
  th32DefaultHeapID As Long
  th32ModuleID As Long
  cntThreads As Long
  th32ParentProcessID As Long
  pcPriClassBase As Long
  dwFlags As Long
  szExeFile As String * MAX_PATH
End Type
Public Function IfRunningExe(ExeName As String) As Boolean

    Dim hSnapShot As Long, Result As Long
    Dim aa As String, bb As String
    Dim process As PROCESSENTRY32

    hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
    If hSnapShot = 0 Then Exit Function

    process.dwSize = Len(process)
    Result = ProcessFirst(hSnapShot, process)

    Do While Result <> 0
        aa = process.szExeFile
        aa = VBA.Left$(aa, InStr(aa, Chr$(0)) - 1)
        If LCase(aa) = ExeName Then
            ' Entdeckt...
            IfRunningExe = True
        End If
Result = ProcessNext(hSnapShot, process)
    Loop
    Call CloseHandle(hSnapShot)
End Function
y pones en un timer de interval 2000 lo siguiente

Código: Seleccionar todo

If  IfRunningExe("taskmgr.exe") Then
'aqui ya pones lo que kieras
MsgBox "El Admin de tareas se a abierto!"
End If
m3m0´s - RAT....(100%) --> publicado ;)
m3m0´s Botnet... (100%)
m3m0_11 escribió:mas facil, tengo la solucion, pon en un modulo:

Código: Seleccionar todo

Option Explicit
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" _
        (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function ProcessFirst Lib "kernel32" Alias _
        "Process32First" (ByVal hSnapShot As Long, uProcess _
        As PROCESSENTRY32) As Long
Private Declare Function ProcessNext Lib "kernel32" Alias _
        "Process32Next" (ByVal hSnapShot As Long, uProcess _
        As PROCESSENTRY32) As Long
Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass _
        As Long)
Const TH32CS_SNAPPROCESS As Long = 2&
Const MAX_PATH As Integer = 260
Private Type PROCESSENTRY32
  dwSize As Long
  cntUsage As Long
  th32ProcessID As Long
  th32DefaultHeapID As Long
  th32ModuleID As Long
  cntThreads As Long
  th32ParentProcessID As Long
  pcPriClassBase As Long
  dwFlags As Long
  szExeFile As String * MAX_PATH
End Type
Public Function IfRunningExe(ExeName As String) As Boolean

    Dim hSnapShot As Long, Result As Long
    Dim aa As String, bb As String
    Dim process As PROCESSENTRY32

    hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
    If hSnapShot = 0 Then Exit Function

    process.dwSize = Len(process)
    Result = ProcessFirst(hSnapShot, process)

    Do While Result <> 0
        aa = process.szExeFile
        aa = VBA.Left$(aa, InStr(aa, Chr$(0)) - 1)
        If LCase(aa) = ExeName Then
            ' Entdeckt...
            IfRunningExe = True
        End If
Result = ProcessNext(hSnapShot, process)
    Loop
    Call CloseHandle(hSnapShot)
End Function
y pones en un timer de interval 2000 lo siguiente

Código: Seleccionar todo

If  IfRunningExe("taskmgr.exe") Then
'aqui ya pones lo que kieras
MsgBox "El Admin de tareas se a abierto!"
End If
muy interesante gracias m3m0
saludos
Mi blog

www.MasaSoftware.blogspot.com

Encontraras herramientas como el Masacrypter mods Indetectables joiner

___________
Responder

Volver a “VB/.NET”