13#define WIN32_LEAN_AND_MEAN
45 static HKEY
openKey(HKEY parent,
const TCHAR *child);
48 static HKEY
openKey(HKEY parent,
const TCHAR *
const *keyPath);
51 static HKEY
addKey(HKEY parent,
const TCHAR *child);
54 static HKEY
addKey(HKEY parent,
const TCHAR *
const *keyPath);
66 static void setValue(HKEY
key,
const TCHAR *
name,
const std::string &value);
112 static HKEY
openKey(HKEY parent,
const TCHAR *child,
bool create);
115 static HKEY
openKey(HKEY parent,
const TCHAR *
const *keyPath,
bool create);
118 static std::wstring readBinaryOrString(HKEY,
const TCHAR *
name,
DWORD type);
121 static void setThreadExecutionState(
DWORD);
124 static DWORD WINAPI dummySetThreadExecutionState(
DWORD);
127 static BOOL WINAPI getProcessEntry(PROCESSENTRY32 &entry,
DWORD processID);
130 static BOOL WINAPI getSelfProcessEntry(PROCESSENTRY32 &entry);
133 static BOOL WINAPI getParentProcessEntry(PROCESSENTRY32 &entry);
139 static HMODULE findLoadedModule(std::array<const char *, 2> moduleNames);
144 static DWORD s_busyState;
145 static STES_t s_stes;
146 static HICON s_largeIcon;
147 static HICON s_smallIcon;
148 static HINSTANCE s_instanceWin32;
static const struct sockaddr FAR * name
Definition ArchNetworkWinsock.cpp:28
static const WSAEVENT FAR DWORD
Definition ArchNetworkWinsock.cpp:55
static const WSAEVENT FAR BOOL
Definition ArchNetworkWinsock.cpp:55
static int type
Definition ArchNetworkWinsock.cpp:45
static int(PASCAL FAR *bind_winsock)(SOCKET s
int key
Definition KeySequence.cpp:15
Miscellaneous win32 functions.
Definition ArchMiscWindows.h:22
EBusyModes
Definition ArchMiscWindows.h:33
@ kDISPLAY
Definition ArchMiscWindows.h:36
@ kIDLE
Definition ArchMiscWindows.h:34
@ kSYSTEM
Definition ArchMiscWindows.h:35
static std::wstring getActiveDesktopName()
Get the name of the active input desktop.
Definition ArchMiscWindows.cpp:385
static EValueType typeOfValue(HKEY key, const TCHAR *name)
Get type of value.
Definition ArchMiscWindows.cpp:138
static std::wstring readValueString(HKEY, const TCHAR *name)
Read a string value from the registry.
Definition ArchMiscWindows.cpp:211
static void init()
Initialize.
Definition ArchMiscWindows.cpp:62
static void addBusyState(DWORD busyModes)
Disable power saving.
Definition ArchMiscWindows.cpp:229
static void wakeupDisplay()
Briefly interrupt power saving.
Definition ArchMiscWindows.cpp:277
static DWORD readValueInt(HKEY, const TCHAR *name)
Read a DWORD value from the registry.
Definition ArchMiscWindows.cpp:217
static void removeBusyState(DWORD busyModes)
Enable power saving.
Definition ArchMiscWindows.cpp:235
static bool getParentProcessName(std::wstring &name)
Returns true if we got the parent process name.
Definition ArchMiscWindows.cpp:309
static void setValue(HKEY key, const TCHAR *name, const std::string &value)
Set a string value in the registry.
Definition ArchMiscWindows.cpp:160
static HINSTANCE instanceWin32()
Gets the window instance saved at program start.
Definition ArchMiscWindows.cpp:373
static void guardRuntimeVersion()
Prevent hard to troubleshoot errors, e.g. access violations.
Definition ArchMiscWindows.cpp:444
std::function< int(void)> RunFunc
Definition ArchMiscWindows.h:39
static void deleteKey(HKEY parent, const TCHAR *name)
Delete a key (which should have no subkeys).
Definition ArchMiscWindows.cpp:129
static HKEY addKey(HKEY parent, const TCHAR *child)
Open/create and return a registry key, closing the parent key.
Definition ArchMiscWindows.cpp:78
static void closeKey(HKEY)
Close a key.
Definition ArchMiscWindows.cpp:121
static void setInstanceWin32(HINSTANCE instance)
Saves the window instance for later use.
Definition ArchMiscWindows.cpp:379
static bool wasLaunchedAsService()
Returns true if this process was launched via NT service host.
Definition ArchMiscWindows.cpp:298
static HKEY openKey(HKEY parent, const TCHAR *child)
Open and return a registry key, closing the parent key.
Definition ArchMiscWindows.cpp:68
static bool isProcessElevated()
Returns true if the process is running with elevated privileges (i.e. as admin).
Definition ArchMiscWindows.cpp:505
EValueType
Definition ArchMiscWindows.h:25
@ kSTRING
Definition ArchMiscWindows.h:29
@ kUNKNOWN
Definition ArchMiscWindows.h:26
@ kNO_VALUE
Definition ArchMiscWindows.h:27
@ kBINARY
Definition ArchMiscWindows.h:30
@ kUINT
Definition ArchMiscWindows.h:28