Deskflow 1.24.0.365
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
MSWindowsDesks.cpp File Reference
#include "platform/MSWindowsDesks.h"
#include "arch/Arch.h"
#include "base/IEventQueue.h"
#include "base/IJob.h"
#include "base/Log.h"
#include "base/TMethodJob.h"
#include "deskflow/IScreenSaver.h"
#include "deskflow/ScreenException.h"
#include "deskflow/win32/AppUtilWindows.h"
#include "mt/Lock.h"
#include "mt/Thread.h"
#include "platform/MSWindowsHook.h"
#include "platform/MSWindowsScreen.h"
#include <malloc.h>
Include dependency graph for MSWindowsDesks.cpp:

Macros

#define SPI_GETMOUSESPEED   112
#define SPI_SETMOUSESPEED   113
#define SPI_GETSCREENSAVERRUNNING   114
#define WM_XBUTTONDOWN   0x020B
#define WM_XBUTTONUP   0x020C
#define WM_XBUTTONDBLCLK   0x020D
#define WM_NCXBUTTONDOWN   0x00AB
#define WM_NCXBUTTONUP   0x00AC
#define WM_NCXBUTTONDBLCLK   0x00AD
#define MOUSEEVENTF_XDOWN   0x0080
#define MOUSEEVENTF_XUP   0x0100
#define XBUTTON1   0x0001
#define XBUTTON2   0x0002
#define VK_XBUTTON1   0x05
#define VK_XBUTTON2   0x06
#define DESKFLOW_MSG_SWITCH   DESKFLOW_HOOK_LAST_MSG + 1
#define DESKFLOW_MSG_ENTER   DESKFLOW_HOOK_LAST_MSG + 2
#define DESKFLOW_MSG_LEAVE   DESKFLOW_HOOK_LAST_MSG + 3
#define DESKFLOW_MSG_FAKE_KEY   DESKFLOW_HOOK_LAST_MSG + 4
#define DESKFLOW_MSG_FAKE_BUTTON   DESKFLOW_HOOK_LAST_MSG + 5
#define DESKFLOW_MSG_FAKE_MOVE   DESKFLOW_HOOK_LAST_MSG + 6
#define DESKFLOW_MSG_FAKE_WHEEL   DESKFLOW_HOOK_LAST_MSG + 7
#define DESKFLOW_MSG_CURSOR_POS   DESKFLOW_HOOK_LAST_MSG + 8
#define DESKFLOW_MSG_SYNC_KEYS   DESKFLOW_HOOK_LAST_MSG + 9
#define DESKFLOW_MSG_SCREENSAVER   DESKFLOW_HOOK_LAST_MSG + 10
#define DESKFLOW_MSG_FAKE_REL_MOVE   DESKFLOW_HOOK_LAST_MSG + 11
#define DESKFLOW_MSG_FAKE_INPUT   DESKFLOW_HOOK_LAST_MSG + 12

Functions

static void send_keyboard_input (WORD wVk, WORD wScan, DWORD dwFlags)
static void send_mouse_input (DWORD dwFlags, DWORD dx, DWORD dy, DWORD dwData)
void setCursorVisibility (bool visible)

Macro Definition Documentation

◆ DESKFLOW_MSG_CURSOR_POS

#define DESKFLOW_MSG_CURSOR_POS   DESKFLOW_HOOK_LAST_MSG + 8

◆ DESKFLOW_MSG_ENTER

#define DESKFLOW_MSG_ENTER   DESKFLOW_HOOK_LAST_MSG + 2

◆ DESKFLOW_MSG_FAKE_BUTTON

#define DESKFLOW_MSG_FAKE_BUTTON   DESKFLOW_HOOK_LAST_MSG + 5

◆ DESKFLOW_MSG_FAKE_INPUT

#define DESKFLOW_MSG_FAKE_INPUT   DESKFLOW_HOOK_LAST_MSG + 12

◆ DESKFLOW_MSG_FAKE_KEY

#define DESKFLOW_MSG_FAKE_KEY   DESKFLOW_HOOK_LAST_MSG + 4

◆ DESKFLOW_MSG_FAKE_MOVE

#define DESKFLOW_MSG_FAKE_MOVE   DESKFLOW_HOOK_LAST_MSG + 6

◆ DESKFLOW_MSG_FAKE_REL_MOVE

#define DESKFLOW_MSG_FAKE_REL_MOVE   DESKFLOW_HOOK_LAST_MSG + 11

◆ DESKFLOW_MSG_FAKE_WHEEL

#define DESKFLOW_MSG_FAKE_WHEEL   DESKFLOW_HOOK_LAST_MSG + 7

◆ DESKFLOW_MSG_LEAVE

#define DESKFLOW_MSG_LEAVE   DESKFLOW_HOOK_LAST_MSG + 3

◆ DESKFLOW_MSG_SCREENSAVER

#define DESKFLOW_MSG_SCREENSAVER   DESKFLOW_HOOK_LAST_MSG + 10

◆ DESKFLOW_MSG_SWITCH

#define DESKFLOW_MSG_SWITCH   DESKFLOW_HOOK_LAST_MSG + 1

◆ DESKFLOW_MSG_SYNC_KEYS

#define DESKFLOW_MSG_SYNC_KEYS   DESKFLOW_HOOK_LAST_MSG + 9

◆ MOUSEEVENTF_XDOWN

#define MOUSEEVENTF_XDOWN   0x0080

◆ MOUSEEVENTF_XUP

#define MOUSEEVENTF_XUP   0x0100

◆ SPI_GETMOUSESPEED

#define SPI_GETMOUSESPEED   112

◆ SPI_GETSCREENSAVERRUNNING

#define SPI_GETSCREENSAVERRUNNING   114

◆ SPI_SETMOUSESPEED

#define SPI_SETMOUSESPEED   113

◆ VK_XBUTTON1

#define VK_XBUTTON1   0x05

◆ VK_XBUTTON2

#define VK_XBUTTON2   0x06

◆ WM_NCXBUTTONDBLCLK

#define WM_NCXBUTTONDBLCLK   0x00AD

◆ WM_NCXBUTTONDOWN

#define WM_NCXBUTTONDOWN   0x00AB

◆ WM_NCXBUTTONUP

#define WM_NCXBUTTONUP   0x00AC

◆ WM_XBUTTONDBLCLK

#define WM_XBUTTONDBLCLK   0x020D

◆ WM_XBUTTONDOWN

#define WM_XBUTTONDOWN   0x020B

◆ WM_XBUTTONUP

#define WM_XBUTTONUP   0x020C

◆ XBUTTON1

#define XBUTTON1   0x0001

◆ XBUTTON2

#define XBUTTON2   0x0002

Function Documentation

◆ send_keyboard_input()

void send_keyboard_input ( WORD wVk,
WORD wScan,
DWORD dwFlags )
static

◆ send_mouse_input()

void send_mouse_input ( DWORD dwFlags,
DWORD dx,
DWORD dy,
DWORD dwData )
static

◆ setCursorVisibility()

void setCursorVisibility ( bool visible)

Wraps the ShowCursor function and calls it repeatedly until the cursor visibility is at the desired state. Windows maintains an internal counter for cursor visibility, and only shows or hides the cursor when it reaches a certain threshold.