Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

73 lines
1.5 KiB

//
// imecls.h
//
#ifndef IMECLS_H
#define IMECLS_H
#include "private.h"
#include "globals.h"
//////////////////////////////////////////////////////////////////////////////
//
// misc func
//
//////////////////////////////////////////////////////////////////////////////
BOOL CheckExistingImeClassWnd(SYSTHREAD *psfn);
BOOL UninitImeClassWndOnProcess();
//////////////////////////////////////////////////////////////////////////////
//
// CSysImeClassWnd
//
//////////////////////////////////////////////////////////////////////////////
class CSysImeClassWnd
{
public:
CSysImeClassWnd();
~CSysImeClassWnd();
static BOOL CheclExistingImeClassWnd(SYSTHREAD *psfn);
static BOOL IsImeClassWnd(HWND hwnd);
BOOL Init(HWND hwnd);
static LRESULT WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
HWND GetWnd() {return _hwnd;}
void Start();
void Stop();
private:
HWND _hwnd;
WNDPROC _pfn;
DBG_ID_DECLARE;
};
//////////////////////////////////////////////////////////////////////////////
//
// CSysImeClassWndArray
//
//////////////////////////////////////////////////////////////////////////////
class CSysImeClassWndArray : public CPtrArray<CSysImeClassWnd>
{
public:
CSysImeClassWndArray();
BOOL StartSubclass();
BOOL StopSubclass();
CSysImeClassWnd *Find(HWND hwnd);
void Remove(CSysImeClassWnd *picw);
void RemoveAll();
private:
DBG_ID_DECLARE;
};
#endif // IMECLS_H