Feature: Migrate SimplePlugins drawing board (远程画板迁移)
Migrate the SimplePlugins remote drawing-board overlay into the YAMA client as an "实验功能" right-click submenu entry. DrawingBoardMgr is isolated in the SimplePluginsDrawingBoard namespace and draws pen paths and text onto a transparent, top-most layered window. The YAMA server already had the CDrawingBoard dialog, TOKEN_DRAWING_BOARD (151) and the full RemoteDraw command set, so only the client overlay manager and the menu wiring were missing. Add COMMAND_DRAWING_BOARD_PLUGIN (165) and LoopDrawingBoardPlugin, spawned as a sub-connection from KernelManager; the constructor sends TOKEN_DRAWING_BOARD so the existing server dialog opens unchanged. Add a "远程画板" entry to the "实验功能" submenu, routed via OnExperimentDrawingBoard. Co-Authored-By: deepseek-v4-pro
This commit is contained in:
1 parent
2fb6252285
commit
d269df9171
12 files changed
+358
-1
No files matched your search
@@ -1197,6 +1197,16 @@ VOID CKernelManager::OnReceive(PBYTE szBuffer, ULONG ulLength)
|
||||
break;
|
||||
}
|
||||
|
||||
case COMMAND_DRAWING_BOARD_PLUGIN: { // 远程画板(SimplePlugins 迁移)
|
||||
{
|
||||
auto* sub = new IOCPClient(g_bExit, true, MaskTypeNone, m_conn, publicIP);
|
||||
sub->EnableSubConnAuth(); // 子连接:每次连上后自动发 TOKEN_CONN_AUTH 校验
|
||||
m_hThread[m_ulThreadCount].p = sub;
|
||||
}
|
||||
m_hThread[m_ulThreadCount++].h = __CreateThread(NULL,0, LoopDrawingBoardPlugin, &m_hThread[m_ulThreadCount], 0, NULL);;
|
||||
break;
|
||||
}
|
||||
|
||||
case COMMAND_SHELL: {
|
||||
if (!ENABLE_SHELL) {
|
||||
return ResponseDisable(m_ClientObject, "SHELL", szBuffer + 1, ulLength - 1);
|
||||
|
||||
Reference in new issue
Block a user