LibVncClient получить информацию об операционной системе

Я использую libvncclient, чтобы создать средство просмотра, в котором я пытаюсь интегрировать определенные горячие клавиши, которые выполняют немного сценариев, которые выполняются как опции меню, такие как enable taskmanager, "запустить cmd" для окна, "открыть терминал", "обновить репозитории" и т. д. Мне нужно обнаружить информацию об операционной системе, но я не вижу ничего, чтобы получить эту информацию в rfb proto

rfbClient *client = new client();

if(!ConnectToRFBServer(client,client->serverHost,client->serverPort))
      return FALSE;

if (!InitialiseRFBConnection(client))
     return FALSE;

Я посмотрел через rfbclient.h и структура rfbClient не содержит никаких колбэков / или полей, в которых хранится эта информация, а также, по-видимому, нет никаких apis для этого. Но в rfc есть такая вещь https://tools.ietf.org/html/rfc6143

После получения сообщения ClientInit сервер отправляет сообщение ServerInit. Это сообщает клиенту ширину и высоту кадрового буфера сервера, его формат пикселей и имя, связанное с рабочим столом:

Ричардсон и Левин Информационные [стр. 11]

RFC 6143 Протокол удаленного кадрового буфера, март 2011 г.

  +--------------+--------------+------------------------------+
  | No. of bytes | Type [Value] | Description                  |
  +--------------+--------------+------------------------------+
  | 2            | U16          | framebuffer-width in pixels  |
  | 2            | U16          | framebuffer-height in pixels |
  | 16           | PIXEL_FORMAT | server-pixel-format          |
  | 4            | U32          | name-length                  |
  | name-length  | U8 array     | name-string                  |
  +--------------+--------------+------------------------------+

Но кажется, что libvnc не справляется с этим, есть ли способ получить эту информацию?

0 ответов

Другие вопросы по тегам