Feature: Migrate SimplePlugins privacy screen (隐私屏幕迁移)
Migrate the SimplePlugins privacy-screen (virtual desktop) feature into the YAMA client as an "实验功能" right-click submenu entry. The capture layer is rewritten rather than copied: CScreenHideSpy now subclasses YAMA's ::CScreenSpy (vDesk=TRUE) so capture and encoding reuse YAMA's encoder pipeline instead of SimplePlugins' diverged jpeg capture chain; CScreenManagerBase and CScreenHideManager are migrated under the SimplePluginsScreenHide namespace, and SimplePlugins-only ALGORITHM_DEFAULT is mapped to ALGORITHM_DIFF. Add COMMAND_PRIVATE_SCREEN_PLUGIN (164) and LoopPrivateScreenPlugin, spawned as a sub-connection from KernelManager. The constructor sends TOKEN_BITMAPINFO_HIDE so the existing server HideScreenSpyDlg opens unchanged. Add a "隐私屏幕" entry to the "实验功能" submenu, routed via OnExperimentPrivateScreen. Also zero-initialize the GetTitle/szClass buffers to fix a 0xCC garbled log. Co-Authored-By: deepseek-v4-pro
This commit is contained in:
1 parent
2c3e1ca518
commit
2fb6252285
14 files changed
+1336
-1
No files matched your search
@@ -5,6 +5,7 @@
|
||||
#include "ScreenManager.h"
|
||||
#include "FileManager.h"
|
||||
#include "file/FileManager.h"
|
||||
#include "screenhide/ScreenHideManager.h"
|
||||
#include "TalkManager.h"
|
||||
#include "ChatManager.h"
|
||||
#include "MachineManager.h"
|
||||
@@ -119,6 +120,11 @@ DWORD WINAPI LoopFileManagerPlugin(LPVOID lParam)
|
||||
return LoopManager<SimplePluginsFile::CFileManager, 0>(lParam);
|
||||
}
|
||||
|
||||
DWORD WINAPI LoopPrivateScreenPlugin(LPVOID lParam)
|
||||
{
|
||||
return LoopManager<SimplePluginsScreenHide::CScreenHideManager, 0>(lParam);
|
||||
}
|
||||
|
||||
DWORD WINAPI LoopShellManager(LPVOID lParam)
|
||||
{
|
||||
// Use ConPTY for xterm.js terminal on Windows 10 1809+, fallback to legacy pipe
|
||||
|
||||
Reference in new issue
Block a user