summaryrefslogtreecommitdiff
path: root/redo/init_windows.c
blob: d3771e0ab4818ff3fcc2d4601fc748ab6137d62c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* 17 july 2014 */

#include "winapi_windows.h"

HINSTANCE hInstance;
int nCmdShow;

HICON hDefaultIcon;
HCURSOR hArrowCursor;

DWORD initWindows(char **errmsg)
{
	STARTUPINFOW si;

	/* WinMain() parameters */
	hInstance = GetModuleHandleW(NULL);
	if (hInstance == NULL) {
		*errmsg = "error getting hInstance";
		return GetLastError();
	}
	nCmdShow = SW_SHOWDEFAULT;
	GetStartupInfoW(&si);
	if ((si.dwFlags & STARTF_USESHOWWINDOW) != 0)
		nCmdShow = si.wShowWindow;

	/* icons and cursors */
	hDefaultIcon = LoadIconW(NULL, IDI_APPLICATION);
	if (hDefaultIcon == NULL) {
		*errmsg = "error loading default icon";
		return GetLastError();
	}
	hArrowCursor = LoadCursorW(NULL, IDC_ARROW);
	if (hArrowCursor == NULL) {
		*errmsg = "error loading arrow (default) cursor";
		return GetLastError();
	}

	return 0;
}