Lenguaje ensamblador findwindow

Solo disponible en BuenasTareas
  • Páginas : 2 (376 palabras )
  • Descarga(s) : 0
  • Publicado : 1 de diciembre de 2011
Leer documento completo
Vista previa del texto
FindWindow

FindWindow necesita un nombre de clase y / o un título de la ventana-...
una cadena terminada en cero es sólo un montón de bytes terminada
por 0 (cero) como cuando lo haceMyString db "testtest", 0 ...
busque en su api- ref, dice FindWindow no necesita de una ventana,
el título, pero que se puede pasar si quieres ... si usted no quiere
hacer esto api-ref dice: "enlugar de pasar NULL" Entonces, ¿qué
significa eso? NULL = 0, que significa que si se transmite un valor cero
FindWindow sabe que sólo tiene que encontrar una ventana que
se ajusta a laclase-nombre que le dio. Por cierto, ¿por qué tienes db
13,10, en la cadena? ése es el código ASCII de salto de línea y
cariagereturn (-> llegar al principio de la línea siguiente) ... en mi
vidano me encontré con una ventana que utiliza crlf en que es
el título o nombre de la clase ... uhh y lo que con ... esperar allí a
mucho pequeños errores ... a publicar un pequeño ejemplo: seabrirá
la calculadora de Windows y cerrarlo después de pulsar OK ...

.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include\masm32\include\kernel32.inc
include \masm32\include\comdlg32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\comdlg32.lib
includelib \masm32\lib\user32.lib.data
AppName db "Win32 Debug Example no.2",0
ClassName db "SimpleWinClass",0
SearchFail db "Cannot find the target process",0
TargetPatched db "Target patched!",0
buffer dw 9090h.data?
DBEvent DEBUG_EVENT
ProcessId dd ?
ThreadId dd ?
align dword
context CONTEXT

.code
start:
invoke FindWindow, addr ClassName, NULL
.if eax!=NULL
invokeGetWindowThreadProcessId, eax, addr ProcessId
mov ThreadId, eax
invoke DebugActiveProcess, ProcessId
.while TRUE
invoke WaitForDebugEvent, addr DBEvent, INFINITE
.break .if...
tracking img