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