From 56239fcddd46400d812d83e38597d593b5c0356d Mon Sep 17 00:00:00 2001
From: Mataes <mataes2007@gmail.com>
Date: Wed, 16 May 2018 22:58:35 +0300
Subject: HistoryLinkList, HistoryStats, historysweeperlight, httpserver,
 HwHotKeys: cmplugin adaptation

---
 plugins/HwHotKeys/src/HwHotKeys_DllMain.cpp | 18 +++++-------------
 plugins/HwHotKeys/src/stdafx.h              | 10 +++++++---
 2 files changed, 12 insertions(+), 16 deletions(-)

(limited to 'plugins/HwHotKeys/src')

diff --git a/plugins/HwHotKeys/src/HwHotKeys_DllMain.cpp b/plugins/HwHotKeys/src/HwHotKeys_DllMain.cpp
index dce4f52a75..7910ed2219 100644
--- a/plugins/HwHotKeys/src/HwHotKeys_DllMain.cpp
+++ b/plugins/HwHotKeys/src/HwHotKeys_DllMain.cpp
@@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111 - 1307, USA.
 
 #include "stdafx.h"
 
-HINSTANCE hInstance;
+CMPlugin g_plugin;
 int hLangpack;
 HWND hDialogWnd = nullptr; // хэндл окна настроек, он глобально используется для вывода туда в реалтайме сканкодов клавы из хука
 HHOOK hHook;
@@ -67,14 +67,6 @@ CHAR key_name_buffer[150]; // буфер куда печатается имя к
 
 // ============================================================================
 
-BOOL APIENTRY DllMain( HMODULE hModule, DWORD, LPVOID)
-{
-	hInstance = hModule;
-	return TRUE;
-}
-
-// ============================================================================
-
 PLUGININFOEX PluginInfoEx = {
 	sizeof(PLUGININFOEX),
 	__PLUGIN_NAME,
@@ -112,10 +104,10 @@ extern "C" __declspec(dllexport) int Load(void)
 	HookEvent(ME_OPT_INITIALISE, initializeOptions);
 
 	// установка хука для низкоуровневой обработки хоткеев
-	hHook = SetWindowsHookExA(WH_KEYBOARD_LL, key_hook, hInstance, 0);
+	hHook = SetWindowsHookExA(WH_KEYBOARD_LL, key_hook, g_plugin.getInst(), 0);
 
-//	StringCbPrintfA(key_name_buffer, 100, "hHook = 0x%x, Err = %u", hHook, GetLastError);
-//	MessageBoxA(0, key_name_buffer, 0, 0);
+	//	StringCbPrintfA(key_name_buffer, 100, "hHook = 0x%x, Err = %u", hHook, GetLastError);
+	//	MessageBoxA(0, key_name_buffer, 0, 0);
 
 	return 0;
 }
@@ -126,7 +118,7 @@ int initializeOptions(WPARAM wParam, LPARAM)
 {
 	OPTIONSDIALOGPAGE OptDlgPg = { sizeof(OptDlgPg) };
 	OptDlgPg.position = 100000000;
-	OptDlgPg.hInstance = hInstance;
+	OptDlgPg.hInstance = g_plugin.getInst();
 	OptDlgPg.flags = ODPF_BOLDGROUPS | ODPF_UNICODE;
 	OptDlgPg.pszTemplate = MAKEINTRESOURCEA(dlg_options);
 	OptDlgPg.szGroup.w = LPGENW("Customize");
diff --git a/plugins/HwHotKeys/src/stdafx.h b/plugins/HwHotKeys/src/stdafx.h
index 7c2ecb0b64..192862500f 100644
--- a/plugins/HwHotKeys/src/stdafx.h
+++ b/plugins/HwHotKeys/src/stdafx.h
@@ -22,8 +22,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111 - 1307, USA.
 #include <SDKDDKVer.h>
 #include <windows.h>
 
-#define __NO_CMPLUGIN_NEEDED
-
 #include <newpluginapi.h>
 #include <m_langpack.h>
 #include <m_database.h>
@@ -43,7 +41,13 @@ LRESULT CALLBACK key_hook(INT, WPARAM, LPARAM);
 extern CLIST_INTERFACE *pcli;
 
 
-extern HINSTANCE hInstance;
+struct CMPlugin : public PLUGIN<CMPlugin>
+{
+	CMPlugin() :
+		PLUGIN<CMPlugin>(__DbModName)
+	{}
+};
+
 extern INT hLangpack;
 extern HWND hDialogWnd; // глобально используется для вывода туда в реалтайме сканкодов клавы, из хука
 extern HHOOK hHook;
-- 
cgit v1.2.3