From 0e22414d042207269f916298b236f1be341ddeea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Fri, 15 Jul 2022 00:39:07 +0200 Subject: Add wrapper for LoadLibrary, FreeLibrary. --- c/main.cpp | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) (limited to 'c/main.cpp') diff --git a/c/main.cpp b/c/main.cpp index f2172ba..718ed85 100644 --- a/c/main.cpp +++ b/c/main.cpp @@ -3,8 +3,6 @@ #include #include -#include - #include "resource.h" #include "defs.h" @@ -36,26 +34,23 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow) { - HMODULE hModule; LPTSTR tszErr; /* Set constant values. */ - hModule = LoadLibrary(TEXT("uxtheme.dll")); - if (hModule && GetProcAddress(hModule, "SetWindowTheme")) { - g_bThemes = 1; - FreeLibrary(hModule); - } + if (auto upLib = Library::Load(TEXT("uxtheme.dll"))) + if (upLib->GetProcAddress("SetWindowTheme")) { + g_bThemes = 1; + } g_cxVScroll = GetSystemMetrics(SM_CXVSCROLL); /* Setup fonts. */ - hModule = LoadLibrary(TEXT("User32.dll")); - if (hModule && GetProcAddress(hModule, "SystemParametersInfoW")) { - NONCLIENTMETRICS m; - m.cbSize = sizeof(NONCLIENTMETRICS); - SystemParametersInfo(SPI_GETNONCLIENTMETRICS, - sizeof(NONCLIENTMETRICS), &m, 0); - g_hfNormal = CreateFontIndirect(&m.lfMessageFont); - FreeLibrary(hModule); + if (auto upLib = Library::Load(TEXT("User32.dll"))) { + if (upLib->GetProcAddress("SystemParametersInfo" WA)) { + NONCLIENTMETRICS m; + m.cbSize = sizeof(NONCLIENTMETRICS); + SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &m, 0); + g_hfNormal = CreateFontIndirect(&m.lfMessageFont); + } } else g_hfNormal = static_cast(GetStockObject(DEFAULT_GUI_FONT)); @@ -147,12 +142,9 @@ CBTProc(int nCode, WPARAM wParam, LPARAM lParam) g_hWnd = (HWND)wParam; /* Get DPI. */ - UINT (*GetDpiForWindow)(HWND); - HMODULE hModule = LoadLibrary(TEXT("User32.dll")); - if (hModule && (GetDpiForWindow = (UINT (*)(HWND))GetProcAddress(hModule, "GetDpiForWindow"))) { - g_iDPI = GetDpiForWindow(g_hWnd); - FreeLibrary(hModule); - } + if (auto upLib = Library::Load(TEXT("User32.dll"))) + if (auto GetDpiForWindow = (UINT (*)(HWND))upLib->GetProcAddress("GetDpiForWindow")) + g_iDPI = GetDpiForWindow(g_hWnd); /* Create child windows. */ g_lpDlv = new DataListView; -- cgit v1.2.3