/* Standard idle state module for Myranda IM Copyright (C) 2012 George Hazan This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "commonheaders.h" int LoadIdleModule(void); void UnloadIdleModule(void); CLIST_INTERFACE* pcli; TIME_API tmi; HINSTANCE hInst; int hLangpack; pfnMyMonitorFromWindow MyMonitorFromWindow; pfnMyGetMonitorInfo MyGetMonitorInfo; pfnOpenInputDesktop openInputDesktop; pfnCloseDesktop closeDesktop; PLUGININFOEX pluginInfo = { sizeof(PLUGININFOEX), __PLUGIN_NAME, MIRANDA_VERSION_DWORD, __DESCRIPTION, __AUTHOR, __AUTHOREMAIL, __COPYRIGHT, __AUTHORWEB, UNICODE_AWARE, // 53ac190b-e223-4341-825f-709d8520215b { 0x53ac190b, 0xe223, 0x4341, {0x82, 0x5f, 0x70, 0x9d, 0x85, 0x20, 0x21, 0x5b}} }; BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { hInst = hinstDLL; return TRUE; } extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) { return &pluginInfo; } extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_IDLE, MIID_LAST }; extern "C" int __declspec(dllexport) Load(void) { mir_getLP(&pluginInfo); mir_getTMI(&tmi); HINSTANCE hUser32 = GetModuleHandleA("user32"); openInputDesktop = (pfnOpenInputDesktop)GetProcAddress (hUser32, "OpenInputDesktop"); closeDesktop = (pfnCloseDesktop)GetProcAddress (hUser32, "CloseDesktop"); MyMonitorFromWindow = (pfnMyMonitorFromWindow)GetProcAddress(hUser32, "MonitorFromWindow"); MyGetMonitorInfo = (pfnMyGetMonitorInfo)GetProcAddress(hUser32, "GetMonitorInfoW"); pcli = ( CLIST_INTERFACE* )CallService(MS_CLIST_RETRIEVE_INTERFACE, 0, (LPARAM)hInst); LoadIdleModule(); return 0; } extern "C" int __declspec(dllexport) Unload(void) { UnloadIdleModule(); return 0; }