чет я голову сломал
CODE:external(INT, "CreateFile", "CreateFileA", "kernel32.dll");
external(INT, "CloseHandle", "CloseHandle", "kernel32.dll");
external(INT, "WriteFile", "WriteFile", "kernel32.dll");
//
#define GENERIC_READ -2147483648
#define GENERIC_WRITE 1073741824
#define OPEN_EXISTING 3
#define NULL 0
#define INVALID_HANDLE_VALUE -1
//
int cbWrite=0;
string lpszPipeName="\\.\pipe\MyPipe";
int hNamedPipe;
char szBuf[256];
loop()
{
hNamedPipe=CreateFile(lpszPipeName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if(hNamedPipe!=INVALID_HANDLE_VALUE)
{
strcpy(#szBuf[0], "1;24049084;4;5000");
if(WriteFile(hNamedPipe, format(#szBuf[0]), size(#szBuf[0])+1, #cbWrite, NULL)!=0)
{
messagebox(cbWrite);
}
}else messagebox("Ошибка подключения | "+format(hNamedPipe));
CloseHandle(hNamedPipe);
sleep(500);
}
эммм почему ругается на #cbWrite?
CODE:BOOL WriteFile(
HANDLE hFile,
LPCVOID lpBuffer,
DWORD nNumberOfBytesToWrite,
LPDWORD lpNumberOfBytesWritten,
LPOVERLAPPED lpOverlapped
);
пробовал передавать не указателем, со значением 0 на сервер данные пришли но кибор потом крашнулся.
скрин(для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
007wan пишет: А зачем нужен этот сервер pipe?
dll в игре будет сервером
кибор будет клиентом который будет передавать dll что хочет а dll будет отсылать/записывать в игру данные
еще не знаю что получится по скорости обмена... но охото проверить.(Отредактировано автором: 01 Мая, 2019 - 10:34:14) |