VBoxHook.h revision 68d352e04e9b67fc4ecef0d890e5a591b06d80ff
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk/* $Id$ */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk/** @file
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * VBoxHook -- Global windows hook dll.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk/*
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Copyright (C) 2006-2013 Oracle Corporation
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * This file is part of VirtualBox Open Source Edition (OSE), as
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * available from http://www.virtualbox.org. This file is free software;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * you can redistribute it and/or modify it under the terms of the GNU
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * General Public License (GPL) as published by the Free Software
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Foundation, in version 2 as it comes in the "COPYING" file of the
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#ifndef ___winnt_include_VBoxHook_h
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#define ___winnt_include_VBoxHook_h
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk/* custom messages as we must install the hook from the main thread */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk/** @todo r=andy Use WM_APP + n offsets here! */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#define WM_VBOX_SEAMLESS_ENABLE 0x2001
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#define WM_VBOX_SEAMLESS_DISABLE 0x2002
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#define WM_VBOX_SEAMLESS_UPDATE 0x2003
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#define WM_VBOX_GRAPHICS_SUPPORTED 0x2004
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#define WM_VBOX_GRAPHICS_UNSUPPORTED 0x2005
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#define VBOXHOOK_DLL_NAME "VBoxHook.dll"
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#define VBOXHOOK_GLOBAL_DT_EVENT_NAME "Local\\VBoxHookDtNotifyEvent"
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#define VBOXHOOK_GLOBAL_WT_EVENT_NAME "Local\\VBoxHookWtNotifyEvent"
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkBOOL VBoxHookInstallActiveDesktopTracker(HMODULE hDll);
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkBOOL VBoxHookRemoveActiveDesktopTracker();
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkBOOL VBoxHookInstallWindowTracker(HMODULE hDll);
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkBOOL VBoxHookRemoveWindowTracker();
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#endif
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk