12#define WIN32_LEAN_AND_MEAN
68 static HKEY
openKey(HKEY parent,
const TCHAR *child);
71 static HKEY
openKey(HKEY parent,
const TCHAR *
const *keyPath);
74 static HKEY
addKey(HKEY parent,
const TCHAR *child);
77 static HKEY
addKey(HKEY parent,
const TCHAR *
const *keyPath);
89 static void setValue(HKEY
key,
const TCHAR *
name,
const std::string &value);
135 static HKEY
openKey(HKEY parent,
const TCHAR *child,
bool create);
138 static HKEY
openKey(HKEY parent,
const TCHAR *
const *keyPath,
bool create);
141 static std::string readBinaryOrString(HKEY,
const TCHAR *
name,
DWORD type);
144 static void setThreadExecutionState(
DWORD);
147 static DWORD WINAPI dummySetThreadExecutionState(
DWORD);
150 static BOOL WINAPI getProcessEntry(PROCESSENTRY32 &entry,
DWORD processID);
153 static BOOL WINAPI getSelfProcessEntry(PROCESSENTRY32 &entry);
156 static BOOL WINAPI getParentProcessEntry(PROCESSENTRY32 &entry);
162 static HMODULE findLoadedModule(std::array<const char *, 2> moduleNames);
167 static DWORD s_busyState;
168 static STES_t s_stes;
169 static HICON s_largeIcon;
170 static HICON s_smallIcon;
171 static HINSTANCE s_instanceWin32;
static const struct sockaddr FAR * name
Definition ArchNetworkWinsock.cpp:27
static const WSAEVENT FAR DWORD
Definition ArchNetworkWinsock.cpp:54
static const WSAEVENT FAR BOOL
Definition ArchNetworkWinsock.cpp:54
static int type
Definition ArchNetworkWinsock.cpp:44
static int(PASCAL FAR *bind_winsock)(SOCKET s
int key
Definition KeySequence.cpp:15
Miscellaneous win32 functions.
Definition ArchMiscWindows.h:21
EBusyModes
Definition ArchMiscWindows.h:32
@ kDISPLAY
Definition ArchMiscWindows.h:35
@ kIDLE
Definition ArchMiscWindows.h:33
@ kSYSTEM
Definition ArchMiscWindows.h:34
static EValueType typeOfValue(HKEY key, const TCHAR *name)
Get type of value.
Definition ArchMiscWindows.cpp:157
static void init()
Initialize.
Definition ArchMiscWindows.cpp:61
static void addBusyState(DWORD busyModes)
Disable power saving.
Definition ArchMiscWindows.cpp:252
static void daemonFailed(int result)
Indicate failure of running daemon.
Definition ArchMiscWindows.cpp:77
static void wakeupDisplay()
Briefly interrupt power saving.
Definition ArchMiscWindows.cpp:300
static DWORD readValueInt(HKEY, const TCHAR *name)
Read a DWORD value from the registry.
Definition ArchMiscWindows.cpp:240
static void removeBusyState(DWORD busyModes)
Enable power saving.
Definition ArchMiscWindows.cpp:258
static void setValue(HKEY key, const TCHAR *name, const std::string &value)
Set a string value in the registry.
Definition ArchMiscWindows.cpp:179
static HINSTANCE instanceWin32()
Gets the window instance saved at program start.
Definition ArchMiscWindows.cpp:396
static void guardRuntimeVersion()
Prevent hard to troubleshoot errors, e.g. access violations.
Definition ArchMiscWindows.cpp:467
static UINT getDaemonQuitMessage()
Get daemon quit message.
Definition ArchMiscWindows.cpp:82
static void daemonRunning(bool running)
Indicate daemon is in main loop.
Definition ArchMiscWindows.cpp:72
std::function< int(void)> RunFunc
Definition ArchMiscWindows.h:38
static void deleteKey(HKEY parent, const TCHAR *name)
Delete a key (which should have no subkeys)
Definition ArchMiscWindows.cpp:148
static HKEY addKey(HKEY parent, const TCHAR *child)
Open/create and return a registry key, closing the parent key.
Definition ArchMiscWindows.cpp:97
static void closeKey(HKEY)
Close a key.
Definition ArchMiscWindows.cpp:140
static void setInstanceWin32(HINSTANCE instance)
Saves the window instance for later use.
Definition ArchMiscWindows.cpp:402
static std::string getActiveDesktopName()
Get the name of the active input desktop.
Definition ArchMiscWindows.cpp:408
static std::string readValueString(HKEY, const TCHAR *name)
Read a string value from the registry.
Definition ArchMiscWindows.cpp:234
static bool wasLaunchedAsService()
Returns true if this process was launched via NT service host.
Definition ArchMiscWindows.cpp:321
static HKEY openKey(HKEY parent, const TCHAR *child)
Open and return a registry key, closing the parent key.
Definition ArchMiscWindows.cpp:87
static bool getParentProcessName(std::string &name)
Returns true if we got the parent process name.
Definition ArchMiscWindows.cpp:332
static bool isProcessElevated()
Returns true if the process is running with elevated privileges (i.e. as admin).
Definition ArchMiscWindows.cpp:528
EValueType
Definition ArchMiscWindows.h:24
@ kSTRING
Definition ArchMiscWindows.h:28
@ kUNKNOWN
Definition ArchMiscWindows.h:25
@ kNO_VALUE
Definition ArchMiscWindows.h:26
@ kBINARY
Definition ArchMiscWindows.h:29
@ kUINT
Definition ArchMiscWindows.h:27
static int runDaemon(RunFunc runFunc)
Run the daemon.
Definition ArchMiscWindows.cpp:67