/[rdesktop]/sourceforge.net/trunk/seamlessrdp/ServerExe/HookDll/hook.cpp
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /sourceforge.net/trunk/seamlessrdp/ServerExe/HookDll/hook.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 938 - (show annotations)
Fri Jul 1 07:01:00 2005 UTC (18 years, 11 months ago) by astrand
File size: 1285 byte(s)
Added proper copyright headers

1 //
2 // Copyright (C) 2004-2005 Martin Wickett
3 //
4
5 #include "hook.h"
6
7 HINSTANCE WTSWinClipper::mCbtDllHinst = 0;
8 SETHOOKS WTSWinClipper::mSetCbtHook = 0;
9 REMOVEHOOKS WTSWinClipper::mRemoveCbtHook = 0;
10 GETINSTANCECOUNT WTSWinClipper::mGetInstanceCount = 0;
11
12 bool WTSWinClipper::Init()
13 {
14 if (mCbtDllHinst)
15 return true;
16
17 while (true) {
18 // try to load hookdll.dll
19 if (!(mCbtDllHinst = LoadLibrary("hookdll.dll")))
20 break;
21
22 // check number of instances
23 if (!
24 (mGetInstanceCount =
25 (GETINSTANCECOUNT) GetProcAddress(mCbtDllHinst,
26 "GetInstanceCount")))
27 break;
28
29
30 // get our hook function
31 if (!
32 (mSetCbtHook =
33 (SETHOOKS) GetProcAddress(mCbtDllHinst, "SetCbtHook")))
34 break;
35
36 // get our unkook function
37 if (!
38 (mRemoveCbtHook =
39 (REMOVEHOOKS) GetProcAddress(mCbtDllHinst, "RemoveCbtHook")))
40 break;
41
42 // report success
43 return true;
44 }
45
46 // if we got here something went wrong
47 if (mCbtDllHinst) {
48 FreeLibrary(mCbtDllHinst);
49 mCbtDllHinst = 0;
50 }
51
52 return false;
53 }

  ViewVC Help
Powered by ViewVC 1.1.26