Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ассемблер _ Вопрос по Winapi

Автор: zloy_pes 24.12.2005 23:07

Помогите плз с программой - она должна фокусирроваться на окне, handl которого получает с помощью FindWindow (в моём примере - окно блокнота с запущенным файлом f.asm), чего она делать не хочет:

.386
.model flat, stdcall
option casemap:none
includelib lib/kernel32.lib
includelib lib/user32.lib
include include/kernel32.inc
include include/user32.inc
include include/windows.inc
.data
wname db 'f.asm - Notepad',0
.data?
procid dd ?
handle dd ?
.code
start:
push offset wname
push 0
call FindWindow
mov handle, eax
push offset procid
push eax
call GetWindowThreadProcessId
call GetCurrentThreadId
push 1
push eax
push procid
call AttachThreadInput
push handle
call SetFocus
push 0
call ExitProcess
end start

Автор: zloy_pes 24.12.2005 23:39

Спасибо, разобрался сам:

.386
.model flat, stdcall
option casemap:none
includelib lib/kernel32.lib
includelib lib/user32.lib
include include/kernel32.inc
include include/user32.inc
include include/windows.inc
.data
wname db 'f.asm - Notepad',0
.data?
procid dd ?
handle dd ?
.code
start:
push offset wname
push 0
call FindWindow
mov handle, eax
push eax
call SetForegroundWindow
push 0
call ExitProcess
end start