WTW - Podstawowa wtyczka
Z K2T
Kod dzięki uprzejmości Dziaddu. ;)
#include <windows.h>
#include "..\_wtw2\.api\plInterface.h"
WTWFUNCTIONS *pF = NULL;
WTWPLUGINFO plugInfo = {
sizeof(WTWPLUGINFO),
L"Hello world!",
L"Najprostszy możliwy plugin",
L"© 2009",
L"Autor",
L"mail@autora",
L"www.",
L"", //link do pliku xml na potrzeby autoupdate'u
PLUGIN_API_VERSION,
MAKE_QWORD_VERSION(0, 1, 0, 0),
WTW_CLASS_UNKNOWN,
NULL,
0,
0,
0,
0
}
WTWPLUGINFO * __stdcall queryPlugInfo(DWORD apiVersion, DWORD masterVersion)
{
return &plugInfo;
}
int __stdcall pluginLoad(DWORD callReason, WTWFUNCTIONS *fC)
{
pF = fC;
/* tu będzie wszystko, co wtyczka będzie robiła podczas ładowania,
* np. dodawanie "sztucznych" kontaktów, zakładanie hooków itp.
* pF = fC jest po to, żeby w każdym innym miejcu kodu można było
* wywoływać funkcje wtw przez pF->Call()
*/
// żeby udowodnić, że to się wywołało (tylko na potrzeby przykładu):
::MessageBox(NULL, L"Wtyczka załadowana", L"Hello world!", MB_OK);
return 0;
}
int __stdcall pluginUnload(DWORD callReason)
{
/* tu wtyczka po sobie posprząta
* zdejmie hooki, zniszczy okienka, usunie dodane kontakty...
*/
// żeby udowodnić, że to się wywołało (tylko na potrzeby przykładu):
::MessageBox(NULL, L"Wtyczka wyładowana", L"Hello world!", MB_OK);
return 0;
}