C'est fait sur MASM, adaptable sur autre ???
Le source dessous est complet pour assemblage.
Aucune perte de donnees car demande d'enreg si le cas.
On se retouve aussi sur:
http://www.dev.winsysdev.com/
Source / Exemple :
.586
.model flat, stdcall
option casemap :none
option prologue:none
option epilogue:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
.code
start:
ALIGN 4
push 0
push offset EnumWindowsProc
call EnumWindows
push 0
call ExitProcess
EnumWindowsProc PROC ; hwnd(esp+4),lParam(esp+8)
mov eax, [esp+4]
push edi
sub esp, 16 ; szClssName[16]
mov edi, eax ; EDI = hwnd
push eax
call IsWindowVisible
or eax, eax
jz short nextWind
push edi
call GetWindowTextLength
mov ecx, esp
or eax, eax
jz short nextWind
push 16
push ecx
push edi
call GetClassName ; "Progman" ou "Shell_TrayWnd"
mov eax, [esp]
mov edx, [esp+4]
cmp eax, 676F7250h ; "gorP"
jne short verifTaskbar
cmp edx, 6E616Dh ; 0,"nam"
je short nextWind
verifTaskbar:
mov ecx, [esp+8]
cmp eax, 6C656853h ; "lehS"
jne short goodWnd
cmp edx, 72545F6Ch ; "rT_l"
jne short goodWnd
cmp ecx, 6E577961h ; "nWya"
jne short goodWnd
cmp byte ptr[esp+12], 'd'
je short nextWind
goodWnd:
mov [esp], edi ; laisser pour demande eregistrer
call SetForegroundWindow
mov eax, esp
mov ecx, edi
mov dword ptr[eax+8], 0
mov dword ptr[eax+4], WM_CLOSE
mov edi, [eax+12]
mov dword ptr[eax], ecx
mov dword ptr[eax+12], 0
call PostMessage
jmp short enumExit
nextWind:
add esp, 16
pop edi
enumExit:
or eax, 1
ret 8
EnumWindowsProc ENDP
end start
Conclusion :
Placer un raccourci "AllClose" en racine de "Demarrer" de ce prog.
Vous verrez que c'est utile.
ciao...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.