initial oogynize check in _ this actually used to work!
This commit is contained in:
151
Hooks/ButtonHook/HookList.h
Normal file
151
Hooks/ButtonHook/HookList.h
Normal file
@@ -0,0 +1,151 @@
|
||||
//#pragma once
|
||||
//
|
||||
//#include "malloc.h"
|
||||
//
|
||||
//namespace Ooganizer
|
||||
//{
|
||||
//
|
||||
// enum ButtonState{BUTTON_UP,BUTTON_DOWN};
|
||||
//
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// // Clss: HookItem
|
||||
// // Desc: Hook Item is used in the HookList. Each HookItem keeps track
|
||||
// // of all the addresses needed for each hook, as well as the
|
||||
// // hookstate.
|
||||
// //
|
||||
// // Note: Add State Items for a Window as neccessary
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// class HookItem
|
||||
// {
|
||||
// public:
|
||||
// HWND m_hWnd;
|
||||
// WNDPROC m_HookWndProc;
|
||||
// WNDPROC m_DefWndProc;
|
||||
// ButtonState m_btnState;
|
||||
//
|
||||
// // Constructor
|
||||
// HookItem(HWND hWnd, WNDPROC hookWndProc, WNDPROC defWndProc):
|
||||
// m_hWnd(hWnd),
|
||||
// m_HookWndProc(hookWndProc),
|
||||
// m_DefWndProc(defWndProc),
|
||||
// m_btnState(BUTTON_UP)
|
||||
// {
|
||||
// }
|
||||
// };
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// // Clss: HookList
|
||||
// // Desc: Generic List / Custom written list for the sake of speed.
|
||||
// // Hook list is made up of individual HookItems.
|
||||
// //
|
||||
// // Note: You can use GetNext() to iterate thru all the items in the list.
|
||||
// // ~adding or removing an item causes GetNext() to start over.
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// class HookList
|
||||
// {
|
||||
// public:
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// // Func: AddItem()
|
||||
// // Desc: Adds a HookItem to the List
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// void AddItem(HookItem* pItem)
|
||||
// {
|
||||
// m_NbrItems++;
|
||||
//
|
||||
// if ( m_pHookItem == NULL )
|
||||
// m_pHookItem = (HookItem*) malloc( m_NbrItems * sizeof( HookItem ) );
|
||||
// else
|
||||
// m_pHookItem = (HookItem*) realloc( m_pHookItem, m_NbrItems * sizeof( HookItem ) );
|
||||
//
|
||||
// log(pItem->m_hWnd,"hase been added");
|
||||
//
|
||||
// memcpy( m_pHookItem+(m_NbrItems-1), pItem, sizeof( HookItem ) );
|
||||
// }
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// // Func: GetItem()
|
||||
// // Desc: Get a HookItem from the List
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// HookItem* GetItem(HWND hWnd)
|
||||
// {
|
||||
// UINT i;
|
||||
// HookItem * pItem = m_pHookItem;
|
||||
// for( i=0; i<m_NbrItems && pItem->m_hWnd!=hWnd; i++, pItem++ );
|
||||
// return ( i < m_NbrItems ) ? pItem : NULL;
|
||||
// }
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// // Func: DelItem()
|
||||
// // Desc: Deletes a HookItem from the List
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// void DelItem(HWND hWnd)
|
||||
// {
|
||||
// UINT i;
|
||||
// HookItem * pItem = m_pHookItem;
|
||||
// for( i =0; i<m_NbrItems && pItem->m_hWnd!=hWnd; i++, pItem++ );
|
||||
// if ( i < m_NbrItems )
|
||||
// {
|
||||
// m_NbrItems--;
|
||||
// memcpy( pItem, pItem+1, ( m_NbrItems - i ) * sizeof( HookItem ) );
|
||||
// m_pHookItem = (HookItem*) realloc( m_pHookItem, m_NbrItems * sizeof( HookItem ) );
|
||||
//
|
||||
// log(pItem->m_hWnd,"hase been deleted");
|
||||
// }
|
||||
// }
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// // Func: DelAllItems()
|
||||
// // Desc: Deletes all HookItems from the List
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// void DelAllItems()
|
||||
// {
|
||||
// if ( m_pHookItem != NULL )
|
||||
// free( m_pHookItem );
|
||||
// m_pHookItem = NULL;
|
||||
// m_NbrItems = 0;
|
||||
// }
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// // Func: UnhookAllItems()
|
||||
// // Desc: Responsible for iterating through entire list and 'unhooking'
|
||||
// // the WndProc function of every HookItem
|
||||
// //
|
||||
// // Note: has to be put in here since the list has to be iterated here
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// void UnhookAllItems()
|
||||
// {
|
||||
// HookItem * pItem;
|
||||
//
|
||||
// while ( m_NbrItems > 0 )
|
||||
// {
|
||||
// pItem = m_pHookItem+(m_NbrItems-1);
|
||||
//
|
||||
// // Unhook window
|
||||
// HWND hWnd = pItem->m_hWnd;
|
||||
//
|
||||
// log(hWnd,"Unhooking...");
|
||||
// SetWindowLong( hWnd, GWL_WNDPROC, (LONG) pItem->m_DefWndProc );
|
||||
// SendMessage( hWnd, WM_NCPAINT, 1, 0 );
|
||||
// log(hWnd,"Sending WM_NCPAINT message...");
|
||||
//
|
||||
// // Delete item
|
||||
// DelItem( hWnd );
|
||||
// }
|
||||
// }
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// // Func: CleanUp()
|
||||
// // Desc: Unhooks all HookItems in the list and deletes the list
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// void CleanUp()
|
||||
// {
|
||||
// UnhookAllItems();
|
||||
// DelAllItems();
|
||||
// }
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// //********************************************************************
|
||||
// // Construction / Destruction
|
||||
// //********************************************************************
|
||||
// //////////////////////////////////////////////////////////////////////
|
||||
// HookList():m_NbrItems(0),m_pHookItem(NULL){}
|
||||
// ~HookList(){CleanUp();}
|
||||
//
|
||||
// protected:
|
||||
// UINT m_NbrItems;
|
||||
// HookItem* m_pHookItem;
|
||||
// };
|
||||
//}
|
||||
Reference in New Issue
Block a user