diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2016-10-14 00:00:22 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2016-10-14 00:00:22 +0300 |
commit | 69905917cf2c46fa0093df7323e5326450d1246b (patch) | |
tree | 2ec12ee6f588f7bcefab713c976ed64aa1e729ec /src/resource.cpp | |
parent | rename the project (diff) | |
download | privilege-check-69905917cf2c46fa0093df7323e5326450d1246b.tar.gz privilege-check-69905917cf2c46fa0093df7323e5326450d1246b.zip |
move code from headers to .cpp files
Diffstat (limited to '')
-rw-r--r-- | src/resource.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/resource.cpp b/src/resource.cpp new file mode 100644 index 0000000..e8ac300 --- /dev/null +++ b/src/resource.cpp @@ -0,0 +1,37 @@ +// Copyright (c) 2016 Egor Tensin <Egor.Tensin@gmail.com> +// This file is part of the "Privilege check" project. +// For details, see https://github.com/egor-tensin/privilege-check. +// Distributed under the MIT License. + +#include "error.hpp" +#include "resource.hpp" + +#include <Windows.h> + +#include <cstddef> + +#include <string> + +namespace resource +{ + HMODULE load_exe_module() + { + const auto module = GetModuleHandle(NULL); + if (module == NULL) + error::raise("GetModuleHandle"); + return module; + } + + std::wstring load_string(unsigned int id) + { + wchar_t* s = nullptr; + + const auto ret = LoadStringW( + load_exe_module(), id, reinterpret_cast<wchar_t*>(&s), 0); + + if (ret <= 0) + error::raise("LoadStringW"); + + return {s, static_cast<std::size_t>(ret)}; + } +} |