Код Питона
код питона (Отобразить)CODE:import time
import win32pipe, win32file
def pipe_server():
print("pipe server")
count = 0
pipe = win32pipe.CreateNamedPipe(
r'\\.\pipe\Foo',
win32pipe.PIPE_ACCESS_DUPLEX,
win32pipe.PIPE_TYPE_MESSAGE | win32pipe.PIPE_READMODE_MESSAGE | win32pipe.PIPE_WAIT,
1, 65536, 65536,
0,
None)
try:
print("waiting for client")
win32pipe.ConnectNamedPipe(pipe, None)
print("got client")
while count < 10:
print(f"writing message {count}")
# convert to bytes
some_data = str.encode(f"{count}")
win32file.WriteFile(pipe, some_data)
time.sleep(1)
count += 1
print("finished now")
finally:
win32file.CloseHandle(pipe)
pipe_server()
Ссылка на скрипт - тут пробелы съелись(для просмотра ссылки Вам необходимо авторизоваться)
Взял пример из этой темы от AdryV
CODE:external(INT, "CreateFile", "CreateFileA", "kernel32.dll");
external(INT, "ReadFile", "ReadFile", "kernel32.dll");
#define GENERIC_READ -2147483648
#define GENERIC_WRITE 1073741824
#define OPEN_EXISTING 3
#define NULL 0
string lpszPipeName="\\.\pipe\Foo";
int k;
k=CreateFile(lpszPipeName, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
messagebox(k);
Запускаем pipe сервер. Запускаем кибор. Я так понимаю подключаемся к серверу. Как считать что передаёт сервер?(Отредактировано автором: 04 Ноября, 2020 - 09:14:39) |