From 25c56d3b661defa3c85a33a6dab07e71482b4745 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Thu, 25 Jul 2019 21:55:12 +0800 Subject: [PATCH] Make use of Utils::Misc::loadWinAPI --- src/app/qtlocalpeer/qtlocalpeer.cpp | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/app/qtlocalpeer/qtlocalpeer.cpp b/src/app/qtlocalpeer/qtlocalpeer.cpp index 701e9fa79..a8517a77a 100644 --- a/src/app/qtlocalpeer/qtlocalpeer.cpp +++ b/src/app/qtlocalpeer/qtlocalpeer.cpp @@ -80,12 +80,7 @@ #include #include -#if defined(Q_OS_WIN) -#include - -typedef BOOL(WINAPI*PProcessIdToSessionId)(DWORD,DWORD*); -static PProcessIdToSessionId pProcessIdToSessionId = 0; -#endif +#include "base/utils/misc.h" namespace QtLP_Private { @@ -121,17 +116,16 @@ QtLocalPeer::QtLocalPeer(QObject* parent, const QString &appId) + QLatin1Char('-') + QString::number(idNum, 16); #if defined(Q_OS_WIN) - if (!pProcessIdToSessionId) { - QLibrary lib("kernel32"); - pProcessIdToSessionId = (PProcessIdToSessionId)lib.resolve("ProcessIdToSessionId"); - } - if (pProcessIdToSessionId) { + using PPROCESSIDTOSESSIONID = BOOL (WINAPI *)(DWORD, DWORD *); + const auto processIdToSessionId = Utils::Misc::loadWinAPI("kernel32.dll", "ProcessIdToSessionId"); + + if (processIdToSessionId) { DWORD sessionId = 0; - pProcessIdToSessionId(GetCurrentProcessId(), &sessionId); - socketName += QLatin1Char('-') + QString::number(sessionId, 16); + processIdToSessionId(GetCurrentProcessId(), &sessionId); + socketName += (QLatin1Char('-') + QString::number(sessionId, 16)); } #else - socketName += QLatin1Char('-') + QString::number(::getuid(), 16); + socketName += (QLatin1Char('-') + QString::number(::getuid(), 16)); #endif server = new QLocalServer(this);