# win.api 库模块帮助文档

## win 成员列表 <a id="win" href="#win">&#x23;</a>

### win.api <a id="win.api" href="#win.api">&#x23;</a>
用于声明 win 用到的全局 WinAPI

### 全局常量

### ::BeginDeferWindowPos <a id="::BeginDeferWindowPos" href="#::BeginDeferWindowPos">&#x23;</a>
`::User32.api( "BeginDeferWindowPos", "ptr(int numWins)" )`

### ::CallWindowProc <a id="::CallWindowProc" href="#::CallWindowProc">&#x23;</a>
`::User32.api("CallWindowProc","int(ptr lpPrevWndFunc,addr hwnd,INT Msg,ADDR wParam,addr lParam)" )`

### ::ClientToScreen <a id="::ClientToScreen" href="#::ClientToScreen">&#x23;</a>
`::User32.api( "ClientToScreen", " int(addr hwnd,struct &lpPoint ) " )`

### ::CopyImage <a id="::CopyImage" href="#::CopyImage">&#x23;</a>
`::User32.api("CopyImageW", "ptr(ptr hlmage, INT uType,int cx,int cy,INT flags)")`

### ::CreateWindowEx <a id="::CreateWindowEx" href="#::CreateWindowEx">&#x23;</a>
`::User32.api( "CreateWindowExW", " int(INT exStyle,ustring className,ustring windowName,INT style,int x,int y,int width,int height,addr hwndParent,addr hMenu,pointer hlnstance,ptr lpParam)" )`

### ::DefWindowProc <a id="::DefWindowProc" href="#::DefWindowProc">&#x23;</a>
`::User32.api( "DefWindowProc", "int(addr hwnd,INT msg,ADDR wParam,addr lParam) " );`

### ::DeferWindowPos <a id="::DeferWindowPos" href="#::DeferWindowPos">&#x23;</a>
`::User32.api( "DeferWindowPos", "ptr(PTR hWinPo,addr hwnd,addr instAffer,int x,int y, int cx, int Cy,INT fags)" )`

### ::DestroyCursor <a id="::DestroyCursor" href="#::DestroyCursor">&#x23;</a>
`::User32.api("DestroyCursor","int(ptr hCursor)")`

### ::DestroyIcon <a id="::DestroyIcon" href="#::DestroyIcon">&#x23;</a>
`::User32.api("DestroyIcon","int(ptr hIcon)")`

### ::DestroyWindow <a id="::DestroyWindow" href="#::DestroyWindow">&#x23;</a>
`::User32.api( "DestroyWindow", "int(addr hwnd )" );`

### ::EndDeferWindowPos <a id="::EndDeferWindowPos" href="#::EndDeferWindowPos">&#x23;</a>
`::User32.api( "EndDeferWindowPos", "bool(PTR hWinPos)" )`

### ::GetClassInfoEx <a id="::GetClassInfoEx" href="#::GetClassInfoEx">&#x23;</a>
`::User32.api("GetClassInfoEx", "int(ptr,ustring,struct&)")`

### ::GetClientRect <a id="::GetClientRect" href="#::GetClientRect">&#x23;</a>
`::User32.api( "GetClientRect", " int(addr hwnd,struct &lpRect ) " )`

### ::GetCursor <a id="::GetCursor" href="#::GetCursor">&#x23;</a>
`::User32.api("GetCursor","ptr()")`

### ::GetSystemMetrics <a id="::GetSystemMetrics" href="#::GetSystemMetrics">&#x23;</a>
`::User32.api("GetSystemMetrics","int(int)")`

### ::GetWindowLong <a id="::GetWindowLong" href="#::GetWindowLong">&#x23;</a>
`::User32.api("GetWindowLong","int(addr hwnd,int nIndex)" )`

### ::GetWindowRect <a id="::GetWindowRect" href="#::GetWindowRect">&#x23;</a>
`::User32.api( "GetWindowRect", " int(addr hwnd,struct &lpRect ) " )`

### ::InvalidateRect <a id="::InvalidateRect" href="#::InvalidateRect">&#x23;</a>
`::User32.api( "InvalidateRect", " int(addr hwnd,struct rect,bool erase) " )`

### ::LoadBitmap <a id="::LoadBitmap" href="#::LoadBitmap">&#x23;</a>
`::User32.api("LoadBitmapW", "ptr(ptr,ustring)")`

### ::LoadCursor <a id="::LoadCursor" href="#::LoadCursor">&#x23;</a>
`::User32.api("LoadCursorW", "ptr(ptr,ustring)")`

### ::LoadIcon <a id="::LoadIcon" href="#::LoadIcon">&#x23;</a>
`::User32.api("LoadIconW", "ptr(ptr,ustring)")`

### ::LoadImage <a id="::LoadImage" href="#::LoadImage">&#x23;</a>
`::User32.api("LoadImageW", "ptr(ptr hInst,ustring name,INT uType,int cxDesired,int CyDesire,INT fuLoad)")`

### ::MapWindowPoints <a id="::MapWindowPoints" href="#::MapWindowPoints">&#x23;</a>
`::User32.api( "MapWindowPoints", "int(addr from,addr to,struct &points,INT len)");`

### ::MoveWindow <a id="::MoveWindow" href="#::MoveWindow">&#x23;</a>
`::User32.api( "MoveWindow", "int( addr hwnd, int x,int y,int w,int h,bool repaint)" )`

### ::PostMessage <a id="::PostMessage" href="#::PostMessage">&#x23;</a>
`::User32.api("PostMessageW","addr(addr hwnd,INT msg,ADDR wParam,addr lParam)")`

### ::PostThreadMessage <a id="::PostThreadMessage" href="#::PostThreadMessage">&#x23;</a>
`::User32.api("PostThreadMessageW","addr(int idThread,INT msg,ADDR wParam,addr lParam)");`

### ::PtInRect <a id="::PtInRect" href="#::PtInRect">&#x23;</a>
`::User32.api( "PtInRect", "int(struct, int, int)" );`

### ::RedrawWindow <a id="::RedrawWindow" href="#::RedrawWindow">&#x23;</a>
`::User32.api("RedrawWindow","bool(addr hwnd,struct lprcUpdate,ptr hrgnUpdate,INT flags)");`

### ::RegisterClassEx <a id="::RegisterClassEx" href="#::RegisterClassEx">&#x23;</a>
`::User32.api( "RegisterClassEx", "word(struct wc) " )`

### ::RegisterWindowMessage <a id="::RegisterWindowMessage" href="#::RegisterWindowMessage">&#x23;</a>
`::User32.api("RegisterWindowMessageW","INT(ustring)");`

### ::ScreenToClient <a id="::ScreenToClient" href="#::ScreenToClient">&#x23;</a>
`::User32.api( "ScreenToClient", " int(addr hwnd,struct &lpPoint ) " )`

### ::SendMessage <a id="::SendMessage" href="#::SendMessage">&#x23;</a>
`::User32.api("SendMessageW","addr(addr hwnd,INT msg,ptr wParam,ptr lParam)")`

### ::SendMessageByInt <a id="::SendMessageByInt" href="#::SendMessageByInt">&#x23;</a>
`::User32.api("SendMessageW","addr(addr hwnd,INT msg,int &wParam,int &lParam)")`

### ::SendMessageByStr <a id="::SendMessageByStr" href="#::SendMessageByStr">&#x23;</a>
`::User32.api("SendMessageW","addr(int,INT,int,ustring &lParam)")`

### ::SendMessageByString <a id="::SendMessageByString" href="#::SendMessageByString">&#x23;</a>
`::User32.api("SendMessageW","addr(int,INT,int,string &lParam)")`

### ::SendMessageByStruct <a id="::SendMessageByStruct" href="#::SendMessageByStruct">&#x23;</a>
`::User32.api("SendMessageW","addr(int,INT,int,struct &lParam)")`

### ::SendMessageInt <a id="::SendMessageInt" href="#::SendMessageInt">&#x23;</a>
`::User32.api("SendMessageW","addr(addr hwnd,INT msg,ADDR wParam,addr lParam)")`

### ::SendMessageTimeout <a id="::SendMessageTimeout" href="#::SendMessageTimeout">&#x23;</a>
`::User32.api("SendMessageTimeoutW","addr(addr hwnd,INT msg,ptr wParam,ptr lParam,INT flags,INT timeout,int & resultult)")`

### ::SetCursor <a id="::SetCursor" href="#::SetCursor">&#x23;</a>
`::User32.api("SetCursor","int(ptr hCur)")`

### ::SetWindowLong <a id="::SetWindowLong" href="#::SetWindowLong">&#x23;</a>
`::User32.api("SetWindowLong","int(addr hwnd,int nIndex,int dwNewLong)" )`

### ::SetWindowPointer <a id="::SetWindowPointer" href="#::SetWindowPointer">&#x23;</a>
`::User32.api("SetWindowLong","ptr(addr hwnd,int nIndex,ptr ptrNew)" )`

### ::SetWindowPos <a id="::SetWindowPos" href="#::SetWindowPos">&#x23;</a>
`::User32.api("SetWindowPos","boolean(addr hwnd,addr hwndlnsertAfter,int X,int Y,int cx,int cy,int Flags)")`

### ::SystemParametersInfo <a id="::SystemParametersInfo" href="#::SystemParametersInfo">&#x23;</a>
`::User32.api("SystemParametersInfo","int(INT act, INT param, struct& pvParam,INT winIni)");`

### ::UpdateWindow <a id="::UpdateWindow" href="#::UpdateWindow">&#x23;</a>
`::User32.api( "UpdateWindow", "bool(addr) " )`
