📄 libmain.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 + -