Суббота, 18.05.2024, 16:46
Добро пожаловать! ГлавнаяРегистрацияВход
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Cтатьи [23]
}I{ack [13]
Мои статьи [1]
MASM [14]
Наш опрос
Оцените мой сайт
Всего ответов: 110
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Форма входа
 Каталог статей 
Главная » Статьи » MASM

Завершить процесс MASM
Завершаем процесс на MASM


.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\shell32.inc
include \masm32\include\advapi32.inc
include \masm32\macros\macros.asm
includelib \masm32\lib\user32.lib
includelib \masm32\lib\shell32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\advapi32.lib

szText MACRO Name, Text:VARARG
LOCAL lbl
jmp lbl
Name db Text,0
lbl:
ENDM

.data?
hSnapshot HANDLE ?
ProcEnt PROCESSENTRY32 <?>

.code
start:
szText AppName ,"Terminate"
szText Problem_child ,"calc.exe"

invoke CreateToolhelp32Snapshot, TH32CS_SNAPPROCESS,0
.IF (eax != INVALID_HANDLE_VALUE)
mov hSnapshot,eax
mov [ProcEnt.dwSize],SIZEOF ProcEnt
invoke Process32First, hSnapshot,ADDR ProcEnt
.IF (eax)
@@:
invoke lstrcmpi, ADDR Problem_child ,ADDR [ProcEnt.szExeFile]
.IF (eax == 0)
invoke OpenProcess, PROCESS_TERMINATE,FALSE,[ProcEnt.th32ProcessID]
.IF (eax)
invoke TerminateProcess, eax,0
.ELSE
.ENDIF
.ENDIF
invoke Process32Next, hSnapshot,ADDR ProcEnt
test eax,eax
jnz @B
.ENDIF
.ENDIF
invoke CloseHandle, hSnapshot
END start
Категория: MASM | Добавил: TERMINATOR (18.06.2011)
Просмотров: 841 | Комментарии: 1 | Рейтинг: 5.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024Конструктор сайтов - uCoz