libvncclient を使用してビューアーを構築します。ビューアーでは、ウィンドウの「コマンドenable taskmanager
実行」や「ターミナルを開く」、「更新」などのメニュー オプションとして実行される、少しスクリプトを実行する特定のホットキーを統合しようとします。 repos' など。オペレーティング システム情報を検出する必要がありますが、rfb proto でこの情報を取得するものは何もありません。
rfbClient *client = new client();
if(!ConnectToRFBServer(client,client->serverHost,client->serverPort))
return FALSE;
if (!InitialiseRFBConnection(client))
return FALSE;
rfbClientrfbclient.h
構造は、この情報を格納するコールバック/またはフィールドを保持していません。また、そのための API もないようです。しかし、rfc にはこのようなものがあります https://www.rfc-editor.org/rfc/rfc6143#section-7.3.2
ClientInit メッセージを受信した後、サーバーは ServerInit メッセージを送信します。これにより、サーバーのフレームバッファの幅と高さ、ピクセル形式、およびデスクトップに関連付けられた名前がクライアントに通知されます。
Richardson & Levine Informational [Page 11]
RFC 6143 リモート フレームバッファ プロトコル 2011 年 3 月
+--------------+--------------+------------------------------+
| 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 はそれを処理していないようです。この情報を取得する方法はありますか?