📄 windows.zc
字号:
//[c]Windows Defines
//[c]
public
//[c]
//[of]: Imports
import "windef"
//[cf]
//[c]
//[c]Winbase
//[c]
//[of]: Constants
//[c]
//[of]: Global Memory Flags
//[c]
equ GMEM_FIXED = 0
equ GMEM_MOVEABLE = 2
equ GMEM_MODIFY = 128
equ GPTR = 64
equ GHND = 66
equ GMEM_DDESHARE = 8192
equ GMEM_DISCARDABLE = 256
equ GMEM_LOWER = 4096
equ GMEM_NOCOMPACT = 16
equ GMEM_NODISCARD = 32
equ GMEM_NOT_BANKED = 4096
equ GMEM_NOTIFY = 16384
equ GMEM_SHARE = 8192
equ GMEM_ZEROINIT = 64
equ GMEM_DISCARDED = 16384
equ GMEM_INVALID_HANDLE = 32768
equ GMEM_LOCKCOUNT = 255
equ GMEM_VALID_FLAGS = 32626
//[cf]
//[of]: Startup Info Flags
//[c]
equ STARTF_USESHOWWINDOW = 0x0001
equ STARTF_USESIZE = 0x0002
equ STARTF_USEPOSITION = 0x0004
equ STARTF_USECOUNTCHARS = 0x0008
equ STARTF_USEFILLATTRIBUTE = 0x0010
equ STARTF_RUNFULLSCREEN = 0x0020
equ STARTF_FORCEONFEEDBACK = 0x0040
equ STARTF_FORCEOFFFEEDBACK = 0x0080
equ STARTF_USESTDHANDLES = 0x0100
equ STARTF_USEHOTKEY = 0x0200
//[cf]
//[c]
equ INVALID_HANDLE_VALUE = -1 : HANDLE
equ INVALID_FILE_SIZE = 0xFFFFFFFF : DWORD
//[c]
equ STILL_ACTIVE = 0x103
//[c]
equ STATUS_WAIT_0 = 0
equ STATUS_ABANDONED_WAIT_0 = 0x80
equ STATUS_USER_APC = 0xC0
equ STATUS_TIMEOUT = 0x102
equ STATUS_PENDING = 0x103
equ STATUS_SEGMENT_NOTIFICATION = 0x40000005
equ STATUS_GUARD_PAGE_VIOLATION = 0x80000001
equ STATUS_DATATYPE_MISALIGNMENT = 0x80000002
equ STATUS_BREAKPOINT = 0x80000003
equ STATUS_SINGLE_STEP = 0x80000004
equ STATUS_ACCESS_VIOLATION = 0xC0000005
equ STATUS_IN_PAGE_ERROR = 0xC0000006
equ STATUS_INVALID_HANDLE = 0xC0000008
equ STATUS_NO_MEMORY = 0xC0000017
equ STATUS_ILLEGAL_INSTRUCTION = 0xC000001D
equ STATUS_NONCONTINUABLE_EXCEPTION = 0xC0000025
equ STATUS_INVALID_DISPOSITION = 0xC0000026
equ STATUS_ARRAY_BOUNDS_EXCEEDED = 0xC000008C
equ STATUS_FLOAT_DENORMAL_OPERAND = 0xC000008D
equ STATUS_FLOAT_DIVIDE_BY_ZERO = 0xC000008E
equ STATUS_FLOAT_INEXACT_RESULT = 0xC000008F
equ STATUS_FLOAT_INVALID_OPERATION = 0xC0000090
equ STATUS_FLOAT_OVERFLOW = 0xC0000091
equ STATUS_FLOAT_STACK_CHECK = 0xC0000092
equ STATUS_FLOAT_UNDERFLOW = 0xC0000093
equ STATUS_INTEGER_DIVIDE_BY_ZERO = 0xC0000094
equ STATUS_INTEGER_OVERFLOW = 0xC0000095
equ STATUS_PRIVILEGED_INSTRUCTION = 0xC0000096
equ STATUS_STACK_OVERFLOW = 0xC00000FD
equ STATUS_CONTROL_C_EXIT = 0xC000013A
//[c]
equ WAIT_OBJECT_0 = 0
equ WAIT_ABANDONED_0 = 128
equ WAIT_TIMEOUT = 258
equ WAIT_IO_COMPLETION = 0xC0
equ WAIT_ABANDONED = 128
equ WAIT_FAILED = 0xFFFFFFFF:dword
//[c]
equ DEBUG_PROCESS = 0x00000001
equ DEBUG_ONLY_THIS_PROCESS = 0x00000002
equ CREATE_SUSPENDED = 0x00000004
equ DETACHED_PROCESS = 0x00000008
equ CREATE_NEW_CONSOLE = 0x00000010
equ NORMAL_PRIORITY_CLASS = 0x00000020
equ IDLE_PRIORITY_CLASS = 0x00000040
equ HIGH_PRIORITY_CLASS = 0x00000080
equ REALTIME_PRIORITY_CLASS = 0x00000100
equ CREATE_NEW_PROCESS_GROUP = 0x00000200
equ CREATE_UNICODE_ENVIRONMENT = 0x00000400
equ CREATE_SEPARATE_WOW_VDM = 0x00000800
equ CREATE_SHARED_WOW_VDM = 0x00001000
equ CREATE_FORCEDOS = 0x00002000
equ BELOW_NORMAL_PRIORITY_CLASS = 0x00004000
equ ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000
equ CREATE_BREAKAWAY_FROM_JOB = 0x01000000
equ CREATE_WITH_USERPROFILE = 0x02000000
equ CREATE_DEFAULT_ERROR_MODE = 0x04000000
equ CREATE_NO_WINDOW = 0x08000000
//[c]
equ FILE_ATTRIBUTE_READONLY = 0x00000001
equ FILE_ATTRIBUTE_HIDDEN = 0x00000002
equ FILE_ATTRIBUTE_SYSTEM = 0x00000004
equ FILE_ATTRIBUTE_DIRECTORY = 0x00000010
equ FILE_ATTRIBUTE_ARCHIVE = 0x00000020
equ FILE_ATTRIBUTE_DEVICE = 0x00000040
equ FILE_ATTRIBUTE_NORMAL = 0x00000080
equ FILE_ATTRIBUTE_TEMPORARY = 0x00000100
equ FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200
equ FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400
equ FILE_ATTRIBUTE_COMPRESSED = 0x00000800
equ FILE_ATTRIBUTE_OFFLINE = 0x00001000
equ FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000
equ FILE_ATTRIBUTE_ENCRYPTED = 0x00004000
equ FILE_ATTRIBUTE_VALID_FLAGS = 0x00007fb7
equ FILE_ATTRIBUTE_VALID_SET_FLAGS = 0x000031a7
//[cf]
//[of]: Structures
//[c]
//[of]: STARTUPINFO
//[c]
struct LPSTARTUPINFOA
cb : DWORD
lpReserved : LPSTR
lpDesktop : LPSTR
lpTitle : LPSTR
dwX : DWORD
dwY : DWORD
dwXSize : DWORD
dwYSize : DWORD
dwXCountChars : DWORD
dwYCountChars : DWORD
dwFillAttribute : DWORD
dwFlags : DWORD
wShowWindow : WORD
cbReserved2 : WORD
lpReserved2 : LPBYTE
hStdInput : HANDLE
hStdOutput : HANDLE
hStdError : HANDLE
end
typedef STARTUPINFOA = local LPSTARTUPINFOA
//[cf]
//[of]: PROCESS_INFORMATION
//[c]
struct LPPROCESS_INFORMATION
hProcess: HANDLE
hThread: HANDLE
dwProcessId: DWORD
dwThreadId: DWORD
end
typedef PROCESS_INFORMATION = local LPPROCESS_INFORMATION
//[cf]
//[of]: SECURITY_ATTRIBUTES
//[c]
struct LPSECURITY_ATTRIBUTES
nLength: DWORD
lpSecurityDescriptor: LPVOID
bInheritHandle: BOOL
end
typedef SECURITY_ATTRIBUTES = local LPSECURITY_ATTRIBUTES
//[cf]
//[of]: OVERLAPPED
//[c]
struct LPOVERLAPPED
Internal : DWORD
InternalHigh : DWORD
Offset : DWORD
OffsetHigh : DWORD
hEvent : HANDLE
end
typedef OVERLAPPED = LPOVERLAPPED
//[cf]
//[of]: FILETIME
struct LPFILETIME
dwLowDateTime: DWORD
dwHighDateTime: DWORD
end
typedef FILETIME = local LPFILETIME
//[cf]
//[of]: FIND_DATAA
struct LPWIN32_FIND_DATAA
dwFileAttributes: DWORD
ftCreationTime: FILETIME
ftLastAccessTime: FILETIME
ftLastWriteTime: FILETIME
nFileSizeHigh: DWORD
nFileSizeLow: DWORD
dwReserved0: DWORD
dwReserved1: DWORD
cFileName: [MAX_PATH]CHAR
cAlternateFileName: [14]CHAR
end
typedef WIN32_FIND_DATAA = local LPWIN32_FIND_DATAA
//[cf]
//[c]
//[cf]
//[of]: Functions
//[c]
public [name="c", call="__stdcall"]
import func OutputDebugStringA(LPCSTR)
import func GetCurrentDirectoryA (DWORD,LPSTR): DWORD
import func GetModuleFileNameA (HMODULE,LPSTR,DWORD): DWORD
import func GetStartupInfoA (LPSTARTUPINFOA) : void
import func GetCommandLineA : LPSTR
import func CreateDirectoryA (LPCTSTR,LPSECURITY_ATTRIBUTES) : BOOL
import func FindFirstFileA (LPCSTR,LPWIN32_FIND_DATAA): HANDLE
import func FindNextFileA (HANDLE,LPWIN32_FIND_DATAA): BOOL
import func FindClose (HANDLE): BOOL
import func GlobalAlloc(UINT,DWORD): HGLOBAL
import func GlobalReAlloc(HGLOBAL,DWORD,UINT): HGLOBAL
import func GlobalSize(HGLOBAL): DWORD
import func GlobalFlags(HGLOBAL): UINT
import func GlobalLock(HGLOBAL): LPVOID
import func GlobalUnlock(HGLOBAL): BOOL
import func GlobalFree(HGLOBAL): HGLOBAL
import func CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION): BOOL
import func TerminateProcess(HANDLE,UINT): BOOL
import func CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD): BOOL
import func CloseHandle(HANDLE): BOOL
import func WaitForMultipleObjectsEx(DWORD,[] HANDLE,BOOL,DWORD,BOOL): DWORD
import func PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD): BOOL
import func ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED): BOOL
import func GetExitCodeProcess (HANDLE,PDWORD): BOOL
end
//[cf]
//[c]
//[c]Winuser
//[c]
//[of]: Constants
//[c]
typedef WNDPROC = {HWND, UINT, WPARAM, LPARAM} LRESULT
typedef TIMERPROC = {HWND, UINT, UINT, DWORD} void
typedef WNDENUMPROC = {HWND, LPARAM} BOOL
//[c]
equ MAKELPARAM(a: int, b: int) = MAKELONG(a,b):LONG
//[c]
//[of]: System Metrics
//[c]
equ SM_CXSCREEN = 0
equ SM_CYSCREEN = 1
equ SM_CXVSCROLL = 2
equ SM_CYHSCROLL = 3
equ SM_CYCAPTION = 4
equ SM_CXBORDER = 5
equ SM_CYBORDER = 6
equ SM_CXDLGFRAME = 7
equ SM_CXFIXEDFRAME = 7
equ SM_CYDLGFRAME = 8
equ SM_CYFIXEDFRAME = 8
equ SM_CYVTHUMB = 9
equ SM_CXHTHUMB = 10
equ SM_CXICON = 11
equ SM_CYICON = 12
equ SM_CXCURSOR = 13
equ SM_CYCURSOR = 14
equ SM_CYMENU = 15
equ SM_CXFULLSCREEN = 16
equ SM_CYFULLSCREEN = 17
equ SM_CYKANJIWINDOW = 18
equ SM_MOUSEPRESENT = 19
equ SM_CYVSCROLL = 20
equ SM_CXHSCROLL = 21
equ SM_DEBUG = 22
equ SM_SWAPBUTTON = 23
equ SM_RESERVED1 = 24
equ SM_RESERVED2 = 25
equ SM_RESERVED3 = 26
equ SM_RESERVED4 = 27
equ SM_CXMIN = 28
equ SM_CYMIN = 29
equ SM_CXSIZE = 30
equ SM_CYSIZE = 31
equ SM_CXSIZEFRAME = 32
equ SM_CXFRAME = 32
equ SM_CYSIZEFRAME = 33
equ SM_CYFRAME = 33
equ SM_CXMINTRACK = 34
equ SM_CYMINTRACK = 35
equ SM_CXDOUBLECLK = 36
equ SM_CYDOUBLECLK = 37
equ SM_CXICONSPACING = 38
equ SM_CYICONSPACING = 39
equ SM_MENUDROPALIGNMENT = 40
equ SM_PENWINDOWS = 41
equ SM_DBCSENABLED = 42
equ SM_CMOUSEBUTTONS = 43
equ SM_SECURE = 44
equ SM_CXEDGE = 45
equ SM_CYEDGE = 46
equ SM_CXMINSPACING = 47
equ SM_CYMINSPACING = 48
equ SM_CXSMICON = 49
equ SM_CYSMICON = 50
equ SM_CYSMCAPTION = 51
equ SM_CXSMSIZE = 52
equ SM_CYSMSIZE = 53
equ SM_CXMENUSIZE = 54
equ SM_CYMENUSIZE = 55
equ SM_ARRANGE = 56
equ SM_CXMINIMIZED = 57
equ SM_CYMINIMIZED = 58
equ SM_CXMAXTRACK = 59
equ SM_CYMAXTRACK = 60
equ SM_CXMAXIMIZED = 61
equ SM_CYMAXIMIZED = 62
equ SM_NETWORK = 63
equ LR_DEFAULTSIZE = 64
equ SM_CLEANBOOT = 67
equ SM_CXDRAG = 68
equ SM_CYDRAG = 69
equ SM_SHOWSOUNDS = 70
equ SM_CXMENUCHECK = 71
equ SM_CYMENUCHECK = 72
equ SM_SLOWMACHINE = 73
equ SM_MIDEASTENABLED = 74
equ SM_MOUSEWHEELPRESENT = 75
equ SM_XVIRTUALSCREEN = 76
equ SM_YVIRTUALSCREEN = 77
equ SM_CXVIRTUALSCREEN = 78
equ SM_CYVIRTUALSCREEN = 79
equ SM_CMONITORS = 80
equ SM_SAMEDISPLAYFORMAT = 81
//[cf]
//[of]: Virtual Key Codes
//[c]
equ VK_LBUTTON = 1
equ VK_RBUTTON = 2
equ VK_CANCEL = 3
equ VK_MBUTTON = 4
equ VK_XBUTTON1 = 5
equ VK_XBUTTON2 = 6
equ VK_BACK = 8
equ VK_TAB = 9
equ VK_CLEAR = 12
equ VK_RETURN = 13
equ VK_SHIFT = 16
equ VK_CONTROL = 17
equ VK_MENU = 18
equ VK_PAUSE = 19
equ VK_CAPITAL = 20
equ VK_KANA = 0x15
equ VK_HANGEUL = 0x15
equ VK_HANGUL = 0x15
equ VK_JUNJA = 0x17
equ VK_FINAL = 0x18
equ VK_HANJA = 0x19
equ VK_KANJI = 0x19
equ VK_ESCAPE = 0x1B
equ VK_CONVERT = 0x1C
equ VK_NONCONVERT = 0x1D
equ VK_ACCEPT = 0x1E
equ VK_MODECHANGE = 0x1F
equ VK_SPACE = 32
equ VK_PRIOR = 33
equ VK_NEXT = 34
equ VK_END = 35
equ VK_HOME = 36
equ VK_LEFT = 37
equ VK_UP = 38
equ VK_RIGHT = 39
equ VK_DOWN = 40
equ VK_SELECT = 41
equ VK_PRINT = 42
equ VK_EXECUTE = 43
equ VK_SNAPSHOT = 44
equ VK_INSERT = 45
equ VK_DELETE = 46
equ VK_HELP = 47
equ VK_LWIN = 0x5B
equ VK_RWIN = 0x5C
equ VK_APPS = 0x5D
equ VK_SLEEP = 0x5F
equ VK_NUMPAD0 = 0x60
equ VK_NUMPAD1 = 0x61
equ VK_NUMPAD2 = 0x62
equ VK_NUMPAD3 = 0x63
equ VK_NUMPAD4 = 0x64
equ VK_NUMPAD5 = 0x65
equ VK_NUMPAD6 = 0x66
equ VK_NUMPAD7 = 0x67
equ VK_NUMPAD8 = 0x68
equ VK_NUMPAD9 = 0x69
equ VK_MULTIPLY = 0x6A
equ VK_ADD = 0x6B
equ VK_SEPARATOR = 0x6C
equ VK_SUBTRACT = 0x6D
equ VK_DECIMAL = 0x6E
equ VK_DIVIDE = 0x6F
equ VK_F1 = 0x70
equ VK_F2 = 0x71
equ VK_F3 = 0x72
equ VK_F4 = 0x73
equ VK_F5 = 0x74
equ VK_F6 = 0x75
equ VK_F7 = 0x76
equ VK_F8 = 0x77
equ VK_F9 = 0x78
equ VK_F10 = 0x79
equ VK_F11 = 0x7A
equ VK_F12 = 0x7B
equ VK_F13 = 0x7C
equ VK_F14 = 0x7D
equ VK_F15 = 0x7E
equ VK_F16 = 0x7F
equ VK_F17 = 0x80
equ VK_F18 = 0x81
equ VK_F19 = 0x82
equ VK_F20 = 0x83
equ VK_F21 = 0x84
equ VK_F22 = 0x85
equ VK_F23 = 0x86
equ VK_F24 = 0x87
equ VK_NUMLOCK = 0x90
equ VK_SCROLL = 0x91
equ VK_LSHIFT = 0xA0
equ VK_RSHIFT = 0xA1
equ VK_LCONTROL = 0xA2
equ VK_RCONTROL = 0xA3
equ VK_LMENU = 0xA4
equ VK_RMENU = 0xA5
equ VK_BROWSER_BACK = 0xA6
equ VK_BROWSER_FORWARD = 0xA7
equ VK_BROWSER_REFRESH = 0xA8
equ VK_BROWSER_STOP = 0xA9
equ VK_BROWSER_SEARCH = 0xAA
equ VK_BROWSER_FAVORITES = 0xAB
equ VK_BROWSER_HOME = 0xAC
equ VK_VOLUME_MUTE = 0xAD
equ VK_VOLUME_DOWN = 0xAE
equ VK_VOLUME_UP = 0xAF
equ VK_MEDIA_NEXT_TRACK = 0xB0
equ VK_MEDIA_PREV_TRACK = 0xB1
equ VK_MEDIA_STOP = 0xB2
equ VK_MEDIA_PLAY_PAUSE = 0xB3
equ VK_LAUNCH_MAIL = 0xB4
equ VK_LAUNCH_MEDIA_SELECT = 0xB5
equ VK_LAUNCH_APP1 = 0xB6
equ VK_LAUNCH_APP2 = 0xB7
equ VK_OEM_1 = 0xBA
equ VK_OEM_PLUS = 0xBB
equ VK_OEM_COMMA = 0xBC
equ VK_OEM_MINUS = 0xBD
equ VK_OEM_PERIOD = 0xBE
equ VK_OEM_2 = 0xBF
equ VK_OEM_3 = 0xC0
equ VK_OEM_4 = 0xDB
equ VK_OEM_5 = 0xDC
equ VK_OEM_6 = 0xDD
equ VK_OEM_7 = 0xDE
equ VK_OEM_8 = 0xDF
equ VK_OEM_102 = 0xE2
equ VK_PROCESSKEY = 0xE5
equ VK_PACKET = 0xE7
equ VK_ATTN = 0xF6
equ VK_CRSEL = 0xF7
equ VK_EXSEL = 0xF8
equ VK_EREOF = 0xF9
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -