⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libmain.c

📁 windows环境下的一套汉字处理引擎,可以对汉字进行相应的处理
💻 C
字号:
/***********************************************************************
    File:
	LibMain.C
    Module:
	WSENGINE.DLL
    Date:
	Sep. 1993 - Jan. 1995
    Created By:
	Wang Zhidong
    Imports:
	_InitEvents
	_ExitEvents
	_InitFontRes
	_ExitFontRes
	_InitMsgBar
	_ExitMsgBar
	_InitECDct
	_ExitECDct
	_InitMlr
	_ExitMlr
	_InitGrayDlg
	_ExitGrayDlg
	_InitDialogCard
	_ExitDialogCard
	_InitSBCSApps
	_ExitSBCSApps
***********************************************************************/
#include <Windows.h>
#include <mate.h>

extern char szSystem[];
extern char szDefaultCode[];
extern char szDisplay[];
extern char szProfileName[];
extern char szGDI[];

BOOL FAR _InitEvents ();
BOOL FAR _ExitEvents ();
BOOL FAR _InitFontRes ();
BOOL FAR _ExitFontRes ();
BOOL FAR _InitMsgBar ();
BOOL FAR _ExitMsgBar ();
BOOL FAR _InitECDct ();
BOOL FAR _ExitECDct ();
BOOL FAR _InitMlr ();
BOOL FAR _ExitMlr ();
BOOL FAR _InitGrayDlg ();
BOOL FAR _ExitGrayDlg ();
BOOL FAR _InitDialogCard ();
BOOL FAR _ExitDialogCard ();

// BOOL FAR _InitSBCSApps ();
// BOOL FAR _ExitSBCSApps ();

typedef BOOL (FAR *FPINIT) ();
typedef BOOL (FAR *FPEXIT) ();
typedef struct {
    FPINIT  fpInit;
    FPEXIT  fpExit;
}   SUBSYSTEM;

SUBSYSTEM SubSystem[] = {
//    _InitEvents,
//    _ExitEvents,
//    _InitFontRes,
//    _ExitFontRes,
    _InitMsgBar,
    _ExitMsgBar,
    _InitECDct,
    _ExitECDct,
//    _InitMlr,
//    _ExitMlr,
    _InitGrayDlg,
    _ExitGrayDlg,
//    _InitDialogCard,
//    _ExitDialogCard,
//    _InitSBCSApps,
//    _ExitSBCSApps
};

char	szSysProfile[64]="";
HANDLE	hInst;
UINT	ColorBits   = 4;
int	bCWinVer    = 0;

BOOL	WINAPI FreeAllProcTrap (void);

DWORD WINAPI LibMain (
	HINSTANCE	hInstance,
	DWORD		dwReason,
	LPVOID		lpRes)
{
	switch (dwReason)
		{
		case DLL_PROCESS_ATTACH:
			{
		    HDC     hDC;
		    int     i;

		//	Save Instance of this Module.
		    hInst = hInstance;

		//	Get System Profile name
		    WseGetModuleFilePath (hInst, szSysProfile, 64);
		    lstrcat (szSysProfile, szProfileName);

		//	Get Display Color Information.
		    hDC = CreateIC (szDisplay, NULL, NULL, NULL);
		    ColorBits = (GetDeviceCaps (hDC, PLANES   ) *
				 GetDeviceCaps (hDC, BITSPIXEL));
		    DeleteDC (hDC);

		//	Set P-Windows Informations
		    if (GetProcAddress (GetModuleHandle (szGDI), MAKEINTRESOURCE(488)))
			bCWinVer = 1;

		//	Set Default Code System
		    WseSetEngineMetrics (GEM_DEFAULTCODE,
					 WseGetProfileInt (szSystem, szDefaultCode, HCODE_GB));

		    for (i = 0; i < sizeof(SubSystem) / sizeof(SUBSYSTEM); i++)
			SubSystem[i].fpInit ();

		    return TRUE;
			}
			break;

		case DLL_PROCESS_DETACH:
			{
		    int i;

		    for (i = sizeof(SubSystem)/sizeof(SUBSYSTEM)-1; i >= 0; i--)
			SubSystem[i].fpExit ();

		    FreeAllProcTrap ();
		    return TRUE;
			}
			break;
		}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -