mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 17:44:45 +00:00
- remove old experimental shell hook code
svn path=/trunk/; revision=14189
This commit is contained in:
parent
0692378689
commit
cf95dc8b1b
3 changed files with 0 additions and 271 deletions
|
@ -1,114 +0,0 @@
|
|||
/*
|
||||
* Copyright 2003 Martin Fuchs
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Explorer clone
|
||||
//
|
||||
// shellhook.cpp
|
||||
//
|
||||
// Martin Fuchs, 17.08.2003
|
||||
//
|
||||
|
||||
|
||||
#include "../utility/utility.h"
|
||||
|
||||
#include "shellhook.h"
|
||||
|
||||
|
||||
static HINSTANCE s_hInstance;
|
||||
|
||||
struct SharedMem {
|
||||
HWND _callback_hwnd;
|
||||
UINT _callback_msg;
|
||||
HHOOK _hshellHook;
|
||||
};
|
||||
|
||||
static HANDLE s_hMapObject;
|
||||
static SharedMem* s_pSharedMem;
|
||||
|
||||
|
||||
BOOL APIENTRY DllMain(HINSTANCE hInst, DWORD dwReason, LPVOID)
|
||||
{
|
||||
switch(dwReason) {
|
||||
case DLL_PROCESS_ATTACH: {
|
||||
s_hInstance = hInst;
|
||||
DisableThreadLibraryCalls(hInst);
|
||||
s_hMapObject = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE,
|
||||
0, sizeof(SharedMem), _T("ROSExplorerShellHookSharedMem"));
|
||||
if (!s_hMapObject)
|
||||
return FALSE;
|
||||
|
||||
// The first process to attach initializes memory.
|
||||
BOOL bInit = GetLastError()!=ERROR_ALREADY_EXISTS;
|
||||
|
||||
// Get a pointer to the file-mapped shared memory.
|
||||
s_pSharedMem = (SharedMem*) MapViewOfFile(s_hMapObject, FILE_MAP_WRITE, 0, 0, 0);
|
||||
if (!s_pSharedMem)
|
||||
return FALSE;
|
||||
|
||||
// Initialize memory if this is the first process.
|
||||
if (bInit)
|
||||
memset(s_pSharedMem, 0, sizeof(SharedMem));
|
||||
break;}
|
||||
|
||||
case DLL_PROCESS_DETACH:
|
||||
UnmapViewOfFile(s_pSharedMem);
|
||||
s_pSharedMem = NULL;
|
||||
CloseHandle(s_hMapObject);
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static void DoCallBack(int code, WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
UINT callback_msg = s_pSharedMem->_callback_msg;
|
||||
HWND callback_hwnd = s_pSharedMem->_callback_hwnd;
|
||||
|
||||
if (callback_msg)
|
||||
PostMessage(callback_hwnd, callback_msg, wparam, code); // lparam unused
|
||||
}
|
||||
|
||||
|
||||
LRESULT CALLBACK ShellHookProc(int code, WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
DoCallBack(code, wparam, lparam);
|
||||
|
||||
return CallNextHookEx(s_pSharedMem->_hshellHook, code, wparam, lparam);
|
||||
}
|
||||
|
||||
|
||||
void InstallShellHook(HWND callback_hwnd, UINT callback_msg)
|
||||
{
|
||||
s_pSharedMem->_callback_hwnd = callback_hwnd;
|
||||
s_pSharedMem->_callback_msg = callback_msg;
|
||||
|
||||
s_pSharedMem->_hshellHook = SetWindowsHookEx(WH_SHELL, ShellHookProc, s_hInstance, 0);
|
||||
}
|
||||
|
||||
void DeinstallShellHook()
|
||||
{
|
||||
s_pSharedMem->_callback_hwnd = 0;
|
||||
s_pSharedMem->_callback_msg = 0;
|
||||
|
||||
UnhookWindowsHookEx(s_pSharedMem->_hshellHook);
|
||||
s_pSharedMem->_hshellHook = 0;
|
||||
}
|
|
@ -1,113 +0,0 @@
|
|||
# Microsoft Developer Studio Project File - Name="shellhook" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=shellhook - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "shellhook.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "shellhook.mak" CFG="shellhook - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "shellhook - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "shellhook - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.cmd
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "shellhook - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "shellhook___Win32_Release"
|
||||
# PROP BASE Intermediate_Dir "shellhook___Win32_Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_ROS_" /D _WIN32_IE=0x0501 /D _WIN32_WINNT=0x0501 /D "_SHELLHOOK_IMPL" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x407 /d "NDEBUG"
|
||||
# ADD RSC /l 0x407 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.cmd
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
# ADD LINK32 /nologo /subsystem:windows /dll /machine:I386
|
||||
|
||||
!ELSEIF "$(CFG)" == "shellhook - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "shellhook___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "shellhook___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_ROS_" /D _WIN32_IE=0x0501 /D _WIN32_WINNT=0x0501 /D "_SHELLHOOK_IMPL" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.cmd
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "shellhook - Win32 Release"
|
||||
# Name "shellhook - Win32 Debug"
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter ""
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\taskbar\shellhook.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\utility\utility.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\utility\window.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\taskbar\shellhook.cpp
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
|
@ -1,44 +0,0 @@
|
|||
/*
|
||||
* Copyright 2003 Martin Fuchs
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Explorer and Desktop clone
|
||||
//
|
||||
// shellhook.h
|
||||
//
|
||||
// Martin Fuchs, 17.08.2003
|
||||
//
|
||||
|
||||
|
||||
#ifdef _SHELLHOOK_IMPL
|
||||
#define DECL_SHELLHOOK __declspec(dllexport)
|
||||
#else
|
||||
#define DECL_SHELLHOOK __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
DECL_SHELLHOOK void InstallShellHook(HWND callback_hwnd, UINT callback_msg);
|
||||
DECL_SHELLHOOK void DeinstallShellHook();
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
Loading…
Reference in a new issue