Download Pelles C here: http://www.smorgasbordet.com/pellesc/
D:\PellesC\ConsoleTest>ConsoleTest.exe
hConWnd 00000000000708E8h
CTitle: Administrator: C:\Windows\System32\cmd.exe - ConsoleTest.exe
WTitle:
hWnd 0000000000010174h
WndProc 0000000000000000h
WndProc 0000000000000000h
include EnumWnd.inc
includelib user32.lib
STD_OUTPUT_HANDLE equ -11
GetStdHandle PROTO :DWORD
WriteFile PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
.data
f1 db '%s',13,10,0
.data?
hStdOut dd ?
buffer db 128 dup(?)
buffer2 db 128 dup(?)
.code
start:
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov hStdOut, eax
invoke EnumWindows,ADDR EnumWndProc,0
invoke ExitProcess,0
EnumWndProc PROC hwnd:DWORD,lParam:DWORD
invoke GetWindowText,hwnd,ADDR buffer,64
invoke wsprintf,ADDR buffer2,ADDR f1,ADDR buffer
cmp eax,2
je @f
invoke WriteFile, hStdOut, ADDR buffer2, eax, 0, 0
@@:
mov eax,1
ret
EnumWndProc ENDP
END start
include EnumWnd.inc
.data
f1 db '%s',13,10,0
.data?
buffer db 128 dup(?)
buffer2 db 128 dup(?)
.code
start:
invoke EnumWindows,ADDR EnumWndProc,0
invoke ExitProcess,0
EnumWndProc PROC hwnd:DWORD,lParam:DWORD
invoke GetWindowText,hwnd,ADDR buffer,64
invoke wsprintf,ADDR buffer2,ADDR f1,ADDR buffer
cmp eax,2
je @f
invoke StdOut,ADDR buffer2
@@:
mov eax,1
ret
EnumWndProc ENDP
END start
Page created in 0.037 seconds with 15 queries.