Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2010, 12:25   #1
ассемблер123
Пользователь
 
Регистрация: 18.04.2010
Сообщений: 24
По умолчанию MASM, определить хендл другого приложения

подскажите пожалусто как можно определить хендл другого приложения зная название exe файла или хендл его окна
ассемблер123 вне форума Ответить с цитированием
Старый 20.04.2010, 14:46   #2
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

Получить хендл другого процесса можно двумя способами, вы их оба назвали.

Имея хендл окна можно получить ProcessID функцией GetWindowThreadProcessID.

Что касается поиска процесса только по имени, это делается с помощью ToolHelp API. Например вот так:

Код:
proc FindProcess
    pushad
    invoke CreateToolhelp32Snapshot,TH32CS_SNAPALL,0
    mov [hSnap],eax
    mov [prc.dwSize],296
    invoke Process32First,[hSnap],prc ;296
@@:
    invoke Process32Next,[hSnap],prc
    push eax
    xor eax,eax
    cinvoke strcmp,processName,prc.szExeFile
    test eax,eax
    jnz @nequal
      mov eax,[prc.th32ProcessID]
      mov [ProcessID],eax
      jmp @exit
@nequal:
    pop eax
    test eax,eax
    jnz @b
@exit:
    popad
    ret
.localData:
    hSnap dd 0
    prc PROCESSENTRY32
    processName db "calc.exe",0
endp
Это код для FASM-а с Writeable секцией кода.

В обоих случаях получите ProcessID, с помощью которого можно открытть процесс функцией OpenProcess
"Тяжело в учении, легко в бою" - А.В. Суворов

Последний раз редактировалось Ivan_32; 20.04.2010 в 14:52.
Ivan_32 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск другого приложения Sparky Общие вопросы по Java, Java SE, Kotlin 3 18.10.2009 11:03
Вызов одного приложения из другого zalum Общие вопросы Delphi 8 24.04.2009 10:05
Как работать с меню другого приложения ? Stimer Win Api 1 17.12.2008 16:30
Как определить хендл SeRhy Помощь студентам 1 20.11.2007 20:14