2020-09-30 17:12:32 +02:00

94 lines
1.5 KiB
C

/*++
Copyright (c) 1994-1998, Microsoft Corporation All rights reserved.
Module Name:
indicdll.h
Abstract:
This module contains the information for handling the shell hooks for the
multilingual language indicator. It also contains information for the
on-screen keyboard, which MUST be loaded by internat.exe.
Revision History:
*/
// Include Files.
#include <windows.h>
#include <windowsx.h>
#include <winuserp.h>
#include "..\share.h"
// Shared Data structure.
// Use FileMapping shared memory not to break NT C2 security.
typedef struct _shareddata
{
HINSTANCE hinstDLL;
UINT iShellActive;
HWND hwndInternat;
HWND hwndOSK;
HHOOK hookShell;
HHOOK hookKbd;
HHOOK hookCBT;
HWND hwndNotify;
HWND hwndTaskBar;
HWND hwndTasks;
HWND hwndLastFocus;
HWND hwndLastActive;
HWND hwndConsoleIme;
UINT iIMEStatForLastFocus;
DWORD dwTidLastFocus;
HKL hklLastFocus;
UINT uMenuID;
DWORD dwMenuItemData;
} SHAREDDATA, *LPSHAREDDATA;
extern LPVOID lpvSharedMem; // pointer to shared memory
extern LPSHAREDDATA lpvSHDataHead; // header pointer of SH data
// Function Prototypes.
BOOL
IndicDll_RegisterHookSendWindow(
HWND hwnd,
BOOL bInternat);
BOOL
IndicDll_StartShell(void);
BOOL
IndicDll_StopShell(void);
HWND
IndicDll_GetLastActiveWnd(void);
HKL
IndicDll_GetLayout(void);
int
IndicDll_GetIMEStatus(void);
void
IndicDll_SaveIMEStatus(
HWND hwnd);
HWND
IndicDll_GetConsoleImeWnd(void);