📄 gwmesrv.c
字号:
ARG1_MAKE( DWORD ),//GetClientDC,
ARG2_MAKE( DWORD, DWORD ),//ReleaseDC,
ARG1_MAKE( DWORD ),//GetWindowDC,
ARG4_MAKE( DWORD, DWORD, PTR, DWORD ),//DrawCaption,
ARG8_MAKE( DWORD, DWORD, DWORD, PTR, PTR, DWORD, PTR, DWORD ),//Scroll,
ARG3_MAKE( DWORD, DWORD, DWORD ),//GetDCEx,
ARG3_MAKE( DWORD, PTR, DWORD ),//InvalidateRect,
ARG3_MAKE( DWORD, DWORD, DWORD ),//InvalidateRgn,
ARG2_MAKE( DWORD, PTR ),//ValidateRect,
ARG2_MAKE( DWORD, DWORD ),//ValidateRgn,
ARG2_MAKE( DWORD, PTR ),//GetThreadProcessId,
ARG3_MAKE( DWORD, DWORD, DWORD ),//EnableScrollBar,
ARG3_MAKE( DWORD, DWORD, PTR ),//GetScrollInfo,
ARG4_MAKE( DWORD, DWORD, PTR, DWORD ),//SetScrollInfo,
ARG3_MAKE( DWORD, PTR, DWORD ),//GetClassName,
ARG1_MAKE( DWORD ),//Clear,
// class
ARG1_MAKE( PTR ),//Register,
ARG3_MAKE( DWORD, PTR, PTR ),//GetInfo,
ARG2_MAKE( PTR, DWORD ),//Unregister,
ARG2_MAKE( DWORD, DWORD ),//GetLong,
ARG3_MAKE( DWORD, DWORD, DWORD ),//GetLong,
ARG1_MAKE( DWORD ),//Clear,
// dialog
ARG4_MAKE( DWORD, PTR, DWORD, DWORD ),//CreateIndirect,
ARG5_MAKE( DWORD, PTR, DWORD, DWORD, DWORD ),//CreateIndirectParam,
ARG4_MAKE( DWORD, PTR, DWORD, DWORD ),//BoxIndirect,
ARG5_MAKE( DWORD, PTR, DWORD, DWORD, DWORD ),//BoxIndirectParam,
ARG2_MAKE( DWORD, DWORD ),//End,
ARG1_MAKE( DWORD ),//GetCtrlID,
ARG2_MAKE( DWORD, DWORD ),//GetItem,
ARG4_MAKE( DWORD, DWORD, PTR, DWORD ),//GetDlgItemText,
ARG3_MAKE( DWORD, DWORD, PTR ),//SetDlgItemText,
ARG4_MAKE( DWORD, DWORD, PTR, DWORD ),//GetDlgItemInt,
ARG4_MAKE( DWORD, DWORD, DWORD, DWORD ),//SetDlgItemInt,
ARG5_MAKE( DWORD, DWORD, DWORD, DWORD, DWORD ),//SendItemMessage,
ARG4_MAKE( DWORD, PTR, PTR, DWORD ),//MessageBox,
//ex
ARG4_MAKE( DWORD, PTR, DWORD, DWORD ),//CreateIndirectEx,
ARG5_MAKE( DWORD, PTR, DWORD, DWORD, DWORD ),//CreateIndirectParamEx,
ARG4_MAKE( DWORD, PTR, DWORD, DWORD ),//BoxIndirectEx,
ARG5_MAKE( DWORD, PTR, DWORD, DWORD, DWORD ),//BoxIndirectParamEx
//ex-end
ARG1_MAKE( DWORD ) // ShowDesktop
};
//定义系统API(窗口对象消息处理)函数界面
static const PFNVOID lpMsgAPI[] = {
NULL,
//#define MSG_POST 78
(PFNVOID)WinMsg_Post,
//#define MSG_POSTTHREAD 79
(PFNVOID)WinMsg_PostThread,
//#define MSG_GET 80
(PFNVOID)WinMsg_Get,
//#define MSG_PEEK 81
(PFNVOID)WinMsg_Peek,
//#define MSG_POSTQUIT 82
(PFNVOID)WinMsg_PostQuit,
//#define MSG_DISPATCH 83
(PFNVOID)WinMsg_Dispatch,
//#define MSG_TRANSLATE 84
(PFNVOID)NULL,//WinMsg_Translate,
//#define MSG_SEND 85
(PFNVOID)WinMsg_Send,
//#define MSG_WAIT 86
(PFNVOID)WinMsg_Wait,
//#define MQ_FREETHREADQUEUE
// (PFNVOID)MQ_FreeThreadQueue
(PFNVOID)WinEvent_MouseEvent,
(PFNVOID)WinEvent_KeybdEvent,
(PFNVOID)WinMsg_WaitForMultipleObjects,
(PFNVOID)WinMsg_Beep,
(PFNVOID)WinMsg_GetKeyState,
(PFNVOID)WinMsg_SendTimeout
};
//定义系统API(窗口对象消息处理)参数界面
static const DWORD dwMsgArgs[] = {
NULL,
ARG4_MAKE( DWORD, DWORD, DWORD, DWORD ),//WinMsg_Post,
ARG4_MAKE( DWORD, DWORD, DWORD, DWORD ),//PostThread,
ARG4_MAKE( PTR, DWORD, DWORD, DWORD ),//Get,
ARG5_MAKE( PTR, DWORD, DWORD, DWORD, DWORD ),//Peek,
ARG1_MAKE( DWORD ),//PostQuit,
ARG1_MAKE( PTR ),//Dispatch,
ARG1_MAKE( PTR ),//Translate,
ARG4_MAKE( DWORD, DWORD, DWORD, DWORD ),//Send,
ARG0_MAKE(),//Wait,
ARG5_MAKE( DWORD, DWORD, DWORD, DWORD, DWORD ),//MouseEvent,
ARG5_MAKE( DWORD, DWORD, DWORD, DWORD, DWORD ),//KeybdEvent
ARG5_MAKE( DWORD, PTR, DWORD, DWORD, DWORD ), //WinMsg_WaitForMultipleObjects
ARG1_MAKE( DWORD ), //WinMsg_Beep
ARG1_MAKE( DWORD ), // WinMsg_GetKeyState
ARG7_MAKE( DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PTR )
};
static const SERVER_CTRL_INFO sci = { sizeof( SERVER_CTRL_INFO ),
0,
GwmeServerHandler };
//定义系统API(GWME 系统管理/对象)函数界面
static const PFNVOID lpGwmeAPI[] = {
(PFNVOID)&sci,//GwmeServerHandler,//NULL,
(PFNVOID)WinSys_CloseObject,
//#define SYS_GETMETRICS 87
(PFNVOID)WinSys_GetMetrics,
//#define SYS_SETMETRICS
(PFNVOID)WinSys_SetMetrics,
//#define SYS_GETCOLOR 88
(PFNVOID)WinSys_GetColor,
//#define SYS_SETCOLORS 89
(PFNVOID)WinSys_SetColors,
//#define SYS_GETCOLORBRUSH 90
(PFNVOID)WinSys_GetColorBrush,
(PFNVOID)NULL,//WinSys_TouchCalibrate,
//#define CARET_CREATE 91
(PFNVOID)WinCaret_Create,
//#define CARET_DESTROY 92
(PFNVOID)WinCaret_Destroy,
//#define CARET_GETBLINKTIME 93
(PFNVOID)WinCaret_GetBlinkTime,
//#define CARET_GETPOS 94
(PFNVOID)WinCaret_GetPos,
//#define CARET_HIDE 95
(PFNVOID)WinCaret_Hide,
//#define CARET_SETBLINKTIME 96
(PFNVOID)WinCaret_SetBlinkTime,
//#define CARET_SETPOS 97
(PFNVOID)WinCaret_SetPos,
//#define CARET_SHOW 98
(PFNVOID)WinCaret_Show,
//////////menu
(PFNVOID)NULL,//WinMenu_Create,
(PFNVOID)NULL,//WinMenu_CreatePopup,
(PFNVOID)NULL,//WinMenu_Destroy,
(PFNVOID)NULL,//WinMenu_Remove,
(PFNVOID)NULL,//WinMenu_Delete,
(PFNVOID)NULL,//WinMenu_Insert,
(PFNVOID)NULL,//WinMenu_InsertItem,
(PFNVOID)NULL,//WinMenu_EnableItem,
(PFNVOID)NULL,//WinMenu_GetDefaultItem,
(PFNVOID)NULL,//WinMenu_SetDefaultItem,
(PFNVOID)NULL,//WinMenu_SetItemInfo,
(PFNVOID)NULL,//WinMenu_GetItemCount,
(PFNVOID)NULL,//WinMenu_GetItemID,
(PFNVOID)NULL,//WinMenu_GetItemInfo,
(PFNVOID)NULL,//WinMenu_GetSub,
(PFNVOID)NULL,//WinMenu_TrackPopup,
// code page
// 这两个函数以放到 apisrv里,因为是device等进程也会用道
NULL,//(PFNVOID)WinCP_MultiByteToWideChar,
NULL,//(PFNVOID)WinCP_WideCharToMultiByte
(PFNVOID)WinSys_SetCalibrateWindow,
(PFNVOID)WinSys_SetCalibratePoints
};
//定义系统API(GWME 系统管理/对象)参数界面
static const DWORD dwGwmeArgs[] = {
NULL,
ARG1_MAKE( DWORD ),//CloseObject,
ARG1_MAKE( DWORD ),//GetMetrics,
ARG2_MAKE( DWORD, DWORD ), //SetMetrics
ARG1_MAKE( DWORD ),//GetColor,
ARG3_MAKE( DWORD, PTR, PTR ),//SetColors,
ARG1_MAKE( DWORD ),//GetColorBrush,
ARG0_MAKE(), //TouchCalibrate
// caret
ARG4_MAKE( DWORD, DWORD, DWORD, DWORD ),//WinCaret_Create,
ARG0_MAKE(),//WinCaret_Destroy,
ARG0_MAKE(),//WinCaret_GetBlinkTime,
ARG1_MAKE( PTR ),//WinCaret_GetPos,
ARG1_MAKE( DWORD ),//WinCaret_Hide,
ARG1_MAKE( DWORD ),//WinCaret_SetBlinkTime,
ARG2_MAKE( DWORD, DWORD ),//WinCaret_SetPos,
ARG1_MAKE( DWORD ),//WinCaret_Show,
//////////menu
ARG0_MAKE(),//WinMenu_Create,
ARG0_MAKE(),//WinMenu_CreatePopup,
ARG1_MAKE( DWORD ),//WinMenu_Destroy,
ARG3_MAKE( DWORD, DWORD, DWORD ),//WinMenu_Remove,
ARG3_MAKE( DWORD, DWORD, DWORD ),//WinMenu_Delete,
ARG5_MAKE( DWORD, DWORD, DWORD, DWORD, PTR ),//WinMenu_Insert,
ARG4_MAKE( DWORD, DWORD, DWORD, PTR ),//WinMenu_InsertItem,
ARG3_MAKE( DWORD, DWORD, DWORD ),//WinMenu_EnableItem,
ARG3_MAKE( DWORD, DWORD, DWORD ),//WinMenu_GetDefaultItem,
ARG3_MAKE( DWORD, DWORD, DWORD ),//WinMenu_SetDefaultItem,
ARG4_MAKE( DWORD, DWORD, DWORD, PTR ),//WinMenu_SetItemInfo,
ARG1_MAKE( DWORD ),//WinMenu_GetItemCount,
ARG2_MAKE( DWORD, DWORD ),//WinMenu_GetItemID,
ARG4_MAKE( DWORD, DWORD, DWORD, PTR ),//WinMenu_GetItemInfo,
ARG2_MAKE( DWORD, DWORD ),//WinMenu_GetSub,
ARG7_MAKE( DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PTR ),//WinMenu_TrackPopup
// code page
0, //ARG6_MAKE( DWORD, DWORD, PTR, DWORD, PTR, DWORD ),//MultiByteToWideChar,
0, //ARG8_MAKE( DWORD, DWORD, PTR, DWORD, PTR, DWORD, PTR, PTR ),//WideCharToMultiByte
ARG1_MAKE(DWORD),
ARG5_MAKE( DWORD, PTR, PTR, PTR, PTR )
};
//定义系统API(图形设备)函数界面
static const PFNVOID lpGdiAPI[] = {
NULL,
///////////////////////////////////////
//#define GDI_BITBLT
(PFNVOID)WinGdi_BitBlt,
//#define GDI_PATBLT
(PFNVOID)WinGdi_PatBlt,
//#define GDI_MASKBLT
(PFNVOID)WinGdi_MaskBlt,
//#define GDI_DRAWEDGE
(PFNVOID)WinGdi_DrawEdge,
//#define GDI_DRAWICON
(PFNVOID)WinGdi_DrawIcon,
//#define GDI_DRAWICONEX
(PFNVOID)WinGdi_DrawIconEx,
//#define GDI_DRAWTEXT
(PFNVOID)WinGdi_DrawText,
//#define GDI_DRAWFOCUSRECT
(PFNVOID)WinGdi_DrawFocusRect,
//#define GDI_DPTOLP
(PFNVOID)WinGdi_DPtoLP,
//#define GDI_ELLIPSE
(PFNVOID)WinGdi_Ellipse,
//#define GDI_EXTTEXTOUT
(PFNVOID)WinGdi_ExtTextOut,
//#define GDI_EXCLUDECLIPRECT
(PFNVOID)WinGdi_ExcludeClipRect,
//#define GDI_FILLRECT 110
(PFNVOID)WinGdi_FillRect,
//#define GDI_FILLRGN
(PFNVOID)WinGdi_FillRgn,
//#define GDI_INTERSECTCLIPRECT
(PFNVOID)WinGdi_IntersectClipRect,
//#define GDI_GETBKCOLOR
(PFNVOID)WinGdi_GetBkColor,
//#define GDI_GETBKMODE
(PFNVOID)WinGdi_GetBkMode,
//#define GDI_GETCURRENTPOSITION
(PFNVOID)WinGdi_GetCurrentPosition,
//#define GDI_GETCLIPBOX
(PFNVOID)WinGdi_GetClipBox,
//#define GDI_GETCLIPRGN
(PFNVOID)WinGdi_GetClipRgn,
//#define GDI_GETCURRENTOBJECT
(PFNVOID)WinGdi_GetCurrentObject,
//#define GDI_GETDIBITS
(PFNVOID)WinGdi_GetDIBits,
//#define GDI_CREATEICONINDIRECT 120
(PFNVOID)WinGdi_CreateIconIndirect,
//#define GDI_DESTROYICON
(PFNVOID)WinGdi_DestroyIcon,
//#define GDI_DESTROYCURSOR
(PFNVOID)WinGdi_DestroyCursor,
//#define GDI_GETICONINFO
(PFNVOID)WinGdi_GetIconInfo,
//#define GDI_GETOBJECTTYPE
(PFNVOID)WinGdi_GetObjectType,
//#define GDI_GETOBJECTINFO
(PFNVOID)WinGdi_GetObjectInfo,
//#define GDI_GETPIXEL
(PFNVOID)WinGdi_GetPixel,
//#define GDI_GETROP2
(PFNVOID)WinGdi_GetROP2,
//#define GDI_GETTEXTCOLOR
(PFNVOID)WinGdi_GetTextColor,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -