diff options
Diffstat (limited to 'modules/example')
-rw-r--r-- | modules/example/Makefile | 20 | ||||
-rw-r--r-- | modules/example/main.cpp | 27 |
2 files changed, 44 insertions, 3 deletions
diff --git a/modules/example/Makefile b/modules/example/Makefile new file mode 100644 index 0000000..cdb01c8 --- /dev/null +++ b/modules/example/Makefile @@ -0,0 +1,20 @@ +CFLAGS=-O2 -msse -fomit-frame-pointer -pipe -mdll -mwindows -I../../api/ -D DEBUG +CXXFLAGS=${CFLAGS} +LDFLAGS=-Wl,-O1 -shared -static-libgcc +CPPFLAGS = +CC=i686-pc-mingw32-gcc +CXX=i686-pc-mingw32-g++ +STRIP=i686-pc-mingw32-strip +LD=i686-pc-mingw32-ld +LNK_COMMON= +MAINOBJS=main.o + +all: main +main: $(MAINOBJS) + $(CXX) $(MAINOBJS) $(LNK_COMMON) $(LDFLAGS) -o example.dll + #$(STRIP) example.dll + #upx -9 example.dll +clean: + rm *.o + rm example.dll + diff --git a/modules/example/main.cpp b/modules/example/main.cpp index 3ba6fb5..7194f72 100644 --- a/modules/example/main.cpp +++ b/modules/example/main.cpp @@ -1,13 +1,34 @@ #include <windows.h> -#include "../api/api.h" +#include <api.h> HINSTANCE hDllInstance=NULL; -BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, -LPVOID lpReserved ) +BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) //default dll entry point { if (ul_reason_for_call == DLL_PROCESS_ATTACH) hDllInstance = (HINSTANCE)hModule; return TRUE; } +void GetPluginInfo(PluginInfo* pPluginInfo, DWORD *pdwResult) +{ + pPluginInfo->szPluginName = (char*)"Simple Plugin example"; + *pdwResult=0; +} +void PluginHandler(DWORD dwCode,HostInfo *pHostInfo,DWORD *pdwResult) +{ + switch(dwCode) + { + case 1: + //первое действие + *pdwResult=1; + break; + case 2: + //второе действие + *pdwResult=1; + break; + default: + *pdwResult=0; + } +} + |