AHK скрипт на отправку сообщений в чат

Легальный ахк скрипт для отправки сообщений в чат. Можно биндить любую консольную команду, не пользуясь интернал читами. Запускать, как ansi 32-bit. Клавиши биндов, естественно, можно менять. F1 по-умолчанию:

DetectHiddenWindows, On
Setbatchlines -1

ConsoleCommand := "say привет" ; отправить консольную команду

F1::
WinGet, hWnd, ID, ahk_class Valve001
VarSetCapacity(message, SizeInBytes := StrPut(ConsoleCommand, "UTF-8") * (A_IsUnicode ? 2 : 1), 0)
StrPut(ConsoleCommand, &message, "UTF-8")

VarSetCapacity(COPYDATASTRUCT, A_PtrSize*3, 0)

;NumPut(0, COPYDATASTRUCT, 0, "Uint")
NumPut(SizeInBytes, COPYDATASTRUCT, A_PtrSize, "UInt")
NumPut(&message, COPYDATASTRUCT, A_PtrSize*2, "Ptr")
  
DllCall("SendMessage", "Ptr", hWnd, UInt, WM_COPYDATA := 0x4A, "Ptr", 0, "Ptr", &COPYDATASTRUCT)
return

C++ source:

#include <iostream>
#include <windows.h>

int main()
{
    const char* m_pTestCommand = "say \"SendMessageA Test\"";

    const HWND m_hEngine = FindWindowA("Valve001", 0);
    COPYDATASTRUCT m_cData;
    m_cData.cbData = strlen(m_pTestCommand) + 1;
    m_cData.dwData = 0;
    m_cData.lpData = (void*)m_pTestCommand;
    SendMessageA(m_hEngine, WM_COPYDATA, 0, (LPARAM)&m_cData);
}
2 Likes

Хорошо , только для чего это , ксго уже научилась биндить такие вещи …

bind “x” “say Привет”

Очень часто просят подобный скрипт. Удобней что-ли.

Таким способом можно биндить отправку в чат для игры Apex Legends, например, там может нет такой привязки.

Но и в апексе нету триггера say :relieved:

Вот можно сделать, по этому примеру в апексе.

Было бы все так просто ) В открытом доступе не лежит триггер на отправку сообщений в чат для апекса , не уверен , что он существует .

Сам только , что заметил хотел уже извиняться , сорян да нашел уже