From 5dfdb6b58b2dc7bbd3348004c1fcd17e23fea48b Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 28 Jul 2020 00:30:33 +0800 Subject: *embed resource in exe --- src/platform/win.c | 20 ++++++++++++++++++++ src/platform/win.h | 6 ++++++ 2 files changed, 26 insertions(+) create mode 100644 src/platform/win.c create mode 100644 src/platform/win.h (limited to 'src/platform') diff --git a/src/platform/win.c b/src/platform/win.c new file mode 100644 index 0000000..da864b2 --- /dev/null +++ b/src/platform/win.c @@ -0,0 +1,20 @@ +#include "win.h" +#include "../util/assert.h" +#include + +void* resource_get(const char* name, int* out_size) { + HRSRC handle = FindResource(0, name, "RESOURCE"); + assert(handle); + + HGLOBAL data = LoadResource(0, handle); + assert(data); + + void *ptr = LockResource(data); + assert(ptr); + + DWORD t_size = SizeofResource(0, handle); + assert(t_size); + + *out_size = t_size; + return ptr; +} diff --git a/src/platform/win.h b/src/platform/win.h new file mode 100644 index 0000000..bc2a10c --- /dev/null +++ b/src/platform/win.h @@ -0,0 +1,6 @@ +#ifndef RESOURCE_H_ +#define RESOURCE_H_ + +void* resource_get(const char* name, int* out_size); + +#endif \ No newline at end of file -- cgit v1.1-26-g67d0