AHK HOOK

Статус
В этой теме нельзя размещать новые ответы.

Smer4

Известный
Автор темы
425
51
Ну это поидеи должно проверять открыт ли диалог, но в итоге тупо не работает, а затем гта вылетает.
Код:
; Dialog hook
#include ahkHook.ahk
#Persistent
global dwSAMP := 0, dwFunc := 0
global SAMP_DIALOG_STRUCT_PTR := 0x21A0B8
global SAMP_DIALOG_OPEN_OFFSET := 0x28
numpad1::
if (!dwSAMP)
{
    MsgBox, Base address for samp.dll not found.
    ExitApp
}

global DialogIsOpen := new Hook

Hook_DialogIsOpen(state)
{
dwPointer := dwSAMP + SAMP_DIALOG_STRUCT_PTR
dwIsOpen := dwPointer + SAMP_DIALOG_OPEN_OFFSET
MsgBox, %dwIsOpen%
}
 
Последнее редактирование:

Smer4

Известный
Автор темы
425
51
Хуки нужны не для того что ты привел выше.
Узнать статус можно через NumGet.
Ну можно же использывать хук для того что- бы узнать состояние диалога?, в теории хотя бы.

Хуки нужны не для того что ты привел выше.
Узнать статус можно через NumGet.
И еще один вопрос, как получение статуса диалога через NumGet выглядеть будет?
 

#Rin

Известный
Всефорумный модератор
1,214
1,043
И еще один вопрос, как получение статуса диалога через NumGet выглядеть будет?
AutoHotKey:
global SAMP_DIALOG_OPEN_OFFSET := 0x28, SAMP_DIALOG_STRUCT_PTR := 0x21A0B8
dwIsOpen := NumGet(NumGet(dwSAMP, SAMP_DIALOG_STRUCT_PTR), SAMP_DIALOG_OPEN_OFFSET, "UInt")
MsgBox, % dwIsOpen

Ну можно же использывать хук для того что- бы узнать состояние диалога?, в теории хотя бы.
Только если отследить вызов функции показа диалога.
 

Smer4

Известный
Автор темы
425
51
AutoHotKey:
global SAMP_DIALOG_OPEN_OFFSET := 0x28, SAMP_DIALOG_STRUCT_PTR := 0x21A0B8
dwIsOpen := NumGet(NumGet(dwSAMP, SAMP_DIALOG_STRUCT_PTR), SAMP_DIALOG_OPEN_OFFSET, "UInt")
MsgBox, % dwIsOpen


Только если отследить вызов функции показа диалога.
Код:
#Include ahkHook.ahk
#Persistent
global SAMP_DIALOG_OPEN_OFFSET := 0x28, SAMP_DIALOG_STRUCT_PTR := 0x21A0B8
global dwSAMP := 0, dwFunc := 0
if (!dwSAMP)
{
    MsgBox, Base address for samp.dll not found.
    ExitApp
}
dwIsOpen := NumGet(NumGet(dwSAMP, SAMP_DIALOG_STRUCT_PTR), SAMP_DIALOG_OPEN_OFFSET, "UInt")
MsgBox, % dwIsOpen
Компилирую в .asi, закидываю в папку, и пишет "Ошибка запуска dialogCheck.asi"
 
Статус
В этой теме нельзя размещать новые ответы.