📄 pmwin.mh
字号:
APIRET APIENTRY WinWaitEventSem(HEV,ULONG);
BOOL APIENTRY WinWaitMsg(HAB,ULONG,ULONG);
APIRET APIENTRY WinWaitMuxWaitSem(HMUX,ULONG,PULONG);
BOOL APIENTRY WinPostQueueMsg(HMQ,ULONG,MPARAM,MPARAM);
BOOL APIENTRY WinQueryMsgPos(HAB,PPOINTL);
ULONG APIENTRY WinQueryMsgTime(HAB);
ULONG APIENTRY WinQueryQueueStatus(HWND);
BOOL APIENTRY WinSetClassMsgInterest(HAB,PCSZ,ULONG,LONG);
BOOL APIENTRY WinSetMsgInterest(HWND,ULONG,LONG);
#endif
#ifdef INCL_WINACCELERATORS
#define AF_CHAR 0x0001
#define AF_VIRTUALKEY 0x0002
#define AF_SCANCODE 0x0004
#define AF_SHIFT 0x0008
#define AF_CONTROL 0x0010
#define AF_ALT 0x0020
#define AF_LONEKEY 0x0040
#define AF_SYSCOMMAND 0x0100
#define AF_HELP 0x0200
typedef struct _ACCELTABLE {
USHORT cAccel;
USHORT codepage;
ACCEL aaccel[1];
} ACCELTABLE, *PACCELTABLE;
HACCEL APIENTRY WinLoadAccelTable(HAB,HMODULE,ULONG);
HACCEL APIENTRY WinCreateAccelTable(HAB,PACCELTABLE);
HACCEL APIENTRY WinQueryAccelTable(HAB,HWND);
BOOL APIENTRY WinDestroyAccelTable(HACCEL);
BOOL APIENTRY WinTranslateAccel(HAB,HWND,HACCEL,PQMSG);
BOOL APIENTRY WinSetAccelTable(HAB,HACCEL,HWND);
ULONG APIENTRY WinCopyAccelTable(HACCEL,PACCELTABLE,ULONG);
#endif
#ifdef INCL_WINDDE
#define DDE_FACK 0x0001
#define DDE_FBUSY 0x0002
#define DDE_FNODATA 0x0004
#define DDE_FACKREQ 0x0008
#define DDE_FRESPONSE 0x0010
#define DDE_NOTPROCESSED 0x0020
#define DDE_FRESERVED 0x00C0
#define DDE_FAPPSTATUS 0xFF00
#define DDEPM_RETRY 1
#define DDEPM_NOFREE 2
#define DDEFMT_TEXT 1
#define DDECTXT_CASESENSITIVE 1
#define DDES_PSZITEMNAME(pddes) (((PSZ)pddes) + ((PDDESTRUCT)pddes)->offszItemName)
#define DDES_PABDATA(pddes) (((PBYTE)pddes) + ((PDDESTRUCT)pddes)->offabData)
#define DDEI_PCONVCONTEXT(pddei) ((PCONVCONTEXT)((PBYTE)pddei + pddei->offConvContext))
#define WM_DDE_FIRST 0x00A0
#define WM_DDE_INITIATE 0x00A0
#define WM_DDE_REQUEST 0x00A1
#define WM_DDE_ACK 0x00A2
#define WM_DDE_DATA 0x00A3
#define WM_DDE_ADVISE 0x00A4
#define WM_DDE_UNADVISE 0x00A5
#define WM_DDE_POKE 0x00A6
#define WM_DDE_EXECUTE 0x00A7
#define WM_DDE_TERMINATE 0x00A8
#define WM_DDE_INITIATEACK 0x00A9
#define WM_DDE_LAST 0x00AF
typedef struct _DDESTRUCT {
ULONG cbData;
USHORT fsStatus;
USHORT usFormat;
USHORT offszItemName;
USHORT offabData;
} DDESTRUCT, *PDDESTRUCT;
typedef struct _CONVCONTEXT {
ULONG cb;
ULONG fsContext;
ULONG idCountry;
ULONG usCodepage;
ULONG usLangID;
ULONG usSubLangID;
} CONVCONTEXT, *PCONVCONTEXT;
typedef struct _DDEINIT {
ULONG cb;
PSZ pszAppName;
PSZ pszTopic;
ULONG offConvContext;
} DDEINIT, *PDDEINIT;
BOOL APIENTRY WinDdeInitiate(HWND,PCSZ,PCSZ,PCONVCONTEXT);
BOOL APIENTRY WinDdePostMsg(HWND,HWND,ULONG,PDDESTRUCT,ULONG);
MRESULT APIENTRY WinDdeRespond(HWND,HWND,PCSZ,PCSZ,PCONVCONTEXT);
#endif
#if defined(INCL_WINDIALOGS) || !defined(INCL_NOCOMMON)
#define MAX_MBDTEXT 70
typedef struct _MB2D {
CHAR achText[MAX_MBDTEXT + 1];
CHAR packbyte;
ULONG idButton;
LONG flStyle;
} MB2D, *PMB2D;
typedef struct _MB2INFO {
ULONG cb;
HPOINTER hIcon;
ULONG cButtons;
ULONG flStyle;
HWND hwndNotify;
MB2D mb2d[1];
} MB2INFO, *PMB2INFO;
#define MB_OK 0x0000
#define MB_OKCANCEL 0x0001
#define MB_RETRYCANCEL 0x0002
#define MB_ABORTRETRYIGNORE 0x0003
#define MB_YESNO 0x0004
#define MB_YESNOCANCEL 0x0005
#define MB_CANCEL 0x0006
#define MB_ENTER 0x0007
#define MB_ENTERCANCEL 0x0008
#define MB_NOICON 0x0000
#define MB_CUANOTIFICATION 0x0000
#define MB_ICONQUESTION 0x0010
#define MB_ICONEXCLAMATION 0x0020
#define MB_CUAWARNING 0x0020
#define MB_ICONASTERISK 0x0030
#define MB_ICONHAND 0x0040
#define MB_CUACRITICAL 0x0040
#define MB_CUSTOMICON 0x0080
#define MB_QUERY MB_ICONQUESTION
#define MB_WARNING MB_CUAWARNING
#define MB_INFORMATION MB_ICONASTERISK
#define MB_CRITICAL MB_CUACRITICAL
#define MB_ERROR MB_CRITICAL
#define MB_DEFBUTTON1 0x0000
#define MB_DEFBUTTON2 0x0100
#define MB_DEFBUTTON3 0x0200
#define MB_APPLMODAL 0x0000
#define MB_SYSTEMMODAL 0x1000
#define MB_HELP 0x2000
#define MB_MOVEABLE 0x4000
#define MB_NONMODAL 0x8000
#define MBID_OK 1
#define MBID_CANCEL 2
#define MBID_ABORT 3
#define MBID_RETRY 4
#define MBID_IGNORE 5
#define MBID_YES 6
#define MBID_NO 7
#define MBID_HELP 8
#define MBID_ENTER 9
#define MBID_ERROR (-1)
#define DID_OK 1
#define DID_CANCEL 2
#define DID_ERROR 0xffff
#define WA_WARNING 0
#define WA_NOTE 1
#define WA_ERROR 2
#define WA_CWINALARMS 13
#define WinCheckButton(hwndDlg, id, usCheckState) \
((ULONG)WinSendDlgItemMsg(hwndDlg, id, BM_SETCHECK, MPFROMSHORT(usCheckState), (MPARAM)NULL))
#define WinQueryButtonCheckstate(hwndDlg, id) \
((ULONG)WinSendDlgItemMsg(hwndDlg, id, BM_QUERYCHECK, (MPARAM)NULL, (MPARAM)NULL))
#define WinEnableControl(hwndDlg, id, fEnable) \
WinEnableWindow(WinWindowFromID(hwndDlg, id), fEnable)
#define WinShowControl(hwndDlg, id, fShow) \
WinShowWindow(WinWindowFromID(hwndDlg, id), fShow)
#define WinIsControlEnabled(hwndDlg, id) \
((BOOL)WinIsWindowEnabled(WinWindowFromID(hwndDlg, id)))
BOOL APIENTRY WinAlarm(HWND,ULONG);
MRESULT APIENTRY WinDefDlgProc(HWND,ULONG,MPARAM,MPARAM);
ULONG APIENTRY WinMessageBox(HWND,HWND,PCSZ,PCSZ,ULONG,ULONG);
ULONG APIENTRY WinMessageBox2(HWND,HWND,PCSZ,PCSZ,ULONG,PMB2INFO);
BOOL APIENTRY WinDismissDlg(HWND,ULONG);
ULONG APIENTRY WinDlgBox(HWND,HWND,PFNWP,HMODULE,ULONG,PVOID);
HWND APIENTRY WinLoadDlg(HWND,HWND,PFNWP,HMODULE,ULONG,PVOID);
BOOL APIENTRY WinQueryDlgItemShort(HWND,ULONG,PSHORT,BOOL);
ULONG APIENTRY WinQueryDlgItemText(HWND,ULONG,LONG,PCSZ);
LONG APIENTRY WinQueryDlgItemTextLength(HWND,ULONG);
BOOL APIENTRY WinSetDlgItemShort(HWND,ULONG,USHORT,BOOL);
BOOL APIENTRY WinSetDlgItemText(HWND,ULONG,PCSZ);
#endif
#ifdef INCL_WINDIALOGS
#define DLGC_ENTRYFIELD 0x0001
#define DLGC_BUTTON 0x0002
#define DLGC_RADIOBUTTON 0x0004
#define DLGC_STATIC 0x0008
#define DLGC_DEFAULT 0x0010
#define DLGC_PUSHBUTTON 0x0020
#define DLGC_CHECKBOX 0x0040
#define DLGC_SCROLLBAR 0x0080
#define DLGC_MENU 0x0100
#define DLGC_TABONCLICK 0x0200
#define DLGC_MLE 0x0400
#define EDI_FIRSTTABITEM 0
#define EDI_LASTTABITEM 1
#define EDI_NEXTTABITEM 2
#define EDI_PREVTABITEM 3
#define EDI_FIRSTGROUPITEM 4
#define EDI_LASTGROUPITEM 5
#define EDI_NEXTGROUPITEM 6
#define EDI_PREVGROUPITEM 7
#pragma pack(2)
typedef struct _DLGTITEM {
USHORT fsItemStatus;
USHORT cChildren;
USHORT cchClassName;
USHORT offClassName;
USHORT cchText;
USHORT offText;
ULONG flStyle;
SHORT x;
SHORT y;
SHORT cx;
SHORT cy;
USHORT id;
USHORT offPresParams;
USHORT offCtlData;
} DLGTITEM, *PDLGTITEM;
typedef struct _DLGTEMPLATE {
USHORT cbTemplate;
USHORT type;
USHORT codepage;
USHORT offadlgti;
USHORT fsTemplateStatus;
USHORT iItemFocus;
USHORT coffPresParams;
DLGTITEM adlgti[1];
} DLGTEMPLATE, *PDLGTEMPLATE;
#pragma pack()
HWND APIENTRY WinCreateDlg(HWND,HWND,PFNWP,PDLGTEMPLATE,PVOID);
HWND APIENTRY WinEnumDlgItem(HWND,HWND,ULONG);
BOOL APIENTRY WinMapDlgPoints(HWND,PPOINTL,ULONG,BOOL);
ULONG APIENTRY WinProcessDlg(HWND);
MRESULT APIENTRY WinSendDlgItemMsg(HWND,ULONG,ULONG,MPARAM,MPARAM);
LONG APIENTRY WinSubstituteStrings(HWND,PCSZ,LONG,PCSZ);
#endif
#ifdef INCL_WINENTRYFIELDS
#define ES_LEFT 0x00000000
#define ES_CENTER 0x00000001
#define ES_RIGHT 0x00000002
#define ES_AUTOSCROLL 0x00000004
#define ES_MARGIN 0x00000008
#define ES_AUTOTAB 0x00000010
#define ES_READONLY 0x00000020
#define ES_COMMAND 0x00000040
#define ES_UNREADABLE 0x00000080
#define ES_AUTOSIZE 0x00000200
#define ES_ANY 0x00000000
#define ES_SBCS 0x00001000
#define ES_DBCS 0x00002000
#define ES_MIXED 0x00003000
#define CBM_SHOWLIST 0x0170
#define CBM_HILITE 0x0171
#define CBM_ISLISTSHOWING 0x0172
#define CBID_LIST 0x029A
#define CBID_EDIT 0x029B
#define CBN_EFCHANGE 1
#define CBN_EFSCROLL 2
#define CBN_MEMERROR 3
#define CBN_LBSELECT 4
#define CBN_LBSCROLL 5
#define CBN_SHOWLIST 6
#define CBN_ENTER 7
#define CBS_SIMPLE 1
#define CBS_DROPDOWN 2
#define CBS_DROPDOWNLIST 4
#define CBS_COMPATIBLE 8
#define EN_SETFOCUS 0x0001
#define EN_KILLFOCUS 0x0002
#define EN_CHANGE 0x0004
#define EN_SCROLL 0x0008
#define EN_MEMERROR 0x0010
#define EN_OVERFLOW 0x0020
#define EN_INSERTMODETOGGLE 0x0040
#define EM_QUERYCHANGED 0x0140
#define EM_QUERYSEL 0x0141
#define EM_SETSEL 0x0142
#define EM_SETTEXTLIMIT 0x0143
#define EM_CUT 0x0144
#define EM_COPY 0x0145
#define EM_CLEAR 0x0146
#define EM_PASTE 0x0147
#define EM_QUERYFIRSTCHAR 0x0148
#define EM_SETFIRSTCHAR 0x0149
#define EM_QUERYREADONLY 0x014a
#define EM_SETREADONLY 0x014b
#define EM_SETINSERTMODE 0x014c
#pragma pack(2)
typedef struct _COMBOCDATA {
ULONG cbSize;
ULONG reserved;
PVOID pHWXCtlData;
} COMBOCDATA, *PCOMBOCDATA;
typedef struct _ENTRYFDATA {
USHORT cb;
USHORT cchEditLimit;
USHORT ichMinSel;
USHORT ichMaxSel;
PVOID pHWXCtlData;
} ENTRYFDATA, *PENTRYFDATA;
#pragma pack()
#endif
#ifdef INCL_WINERRORS
#include <pmerr.h>
typedef struct _ERRINFO {
USHORT cbFixedErrInfo;
ERRORID idError;
USHORT cDetailLevel;
USHORT offaoffszMsg;
USHORT offBinaryData;
} ERRINFO, *PERRINFO;
BOOL APIENTRY WinFreeErrorInfo(PERRINFO);
PERRINFO APIENTRY WinGetErrorInfo(HAB);
ERRORID APIENTRY WinGetLastError(HAB);
#endif
#ifdef INCL_WINSEI
#ifndef SEI_PMWINP
#define SEI_PMWIN
#include <pmsei.h>
#endif
#endif
#ifdef INCL_WINFRAMECTLS
#define TBM_SETHILITE 0x01e3
#define TBM_QUERYHILITE 0x01e4
#endif
#if defined(INCL_WINFRAMEMGR) || !defined(INCL_NOCOMMON)
#define FCF_TITLEBAR 0x00000001
#define FCF_SYSMENU 0x00000002
#define FCF_MENU 0x00000004
#define FCF_SIZEBORDER 0x00000008
#define FCF_MINBUTTON 0x00000010
#define FCF_MAXBUTTON 0x00000020
#define FCF_MINMAX 0x00000030
#define FCF_VERTSCROLL 0x00000040
#define FCF_HORZSCROLL 0x00000080
#define FCF_DLGBORDER 0x00000100
#define FCF_BORDER 0x00000200
#define FCF_SHELLPOSITION 0x00000400
#define FCF_TASKLIST 0x00000800
#define FCF_NOBYTEALIGN 0x00001000
#define FCF_NOMOVEWITHOWNER 0x00002000
#define FCF_ICON 0x00004000
#define FCF_ACCELTABLE 0x00008000
#define FCF_SYSMODAL 0x00010000
#define FCF_SCREENALIGN 0x00020000
#define FCF_MOUSEALIGN 0x00040000
#define FCF_HIDEBUTTON 0x01000000
#define FCF_HIDEMAX 0x01000020
#define FCF_CLOSEBUTTON 0x04000000
#define FCF_AUTOICON 0x40000000
#define FCF_DBE_APPSTAT 0x80000000
#define FCF_STANDARD 0x0000CC3F
#define FS_ICON 0x00000001
#define FS_ACCELTABLE 0x00000002
#define FS_SHELLPOSITION 0x00000004
#define FS_TASKLIST 0x00000008
#define FS_NOBYTEALIGN 0x00000010
#define FS_NOMOVEWITHOWNER 0x00000020
#define FS_SYSMODAL 0x00000040
#define FS_DLGBORDER 0x00000080
#define FS_BORDER 0x00000100
#define FS_SCREENALIGN 0x00000200
#define FS_MOUSEALIGN 0x00000400
#define FS_SIZEBORDER 0x00000800
#define FS_AUTOICON 0x00001000
#define FS_DBE_APPSTAT 0x00008000
#define FS_STANDARD 0x0000000F
#define FF_FLASHWINDOW 0x0001
#define FF_ACTIVE 0x0002
#define FF_FLASHHILITE 0x0004
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -