mAPIs.bas
上传用户:davilee3
上传日期:2015-04-22
资源大小:986k
文件大小:26k
源码类别:

浏览器

开发平台:

Visual Basic

  1. Attribute VB_Name = "mAPIs"
  2. Option Explicit
  3. '## API ########################################
  4. '== 控件与消息函数 =============================
  5. 'CallWindowProc  把消息信息传递给指定的窗体过程
  6. 'SetWindowLong   在窗体结构中为指定的窗体设置信息。返回值:Long,指定数据的前一个值。
  7. Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal MSG As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  8. Public Const GWL_WNDPROC = -4
  9. '=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=
  10. '== Windows消息 ================================
  11. Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  12. Public Declare Function SendMessageLng Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  13. Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  14. Public Const WM_SYSCOMMAND = &H112
  15. Public Const SC_MOVE = &HF010&
  16. Public Const SC_SIZE = &HF000&
  17. Public Declare Function ReleaseCapture Lib "user32" () As Long
  18. Public Const HTCAPTION  As Long = 2
  19. Public Const WM_PAINT As Long = &HF
  20. Public Const WM_NCPAINT = &H85
  21. Public Const WM_ACTIVATE = &H6
  22. Public Const WM_ACTIVATEAPP = &H1C
  23. Public Const WM_MOUSEACTIVATE = &H21
  24. Public Const WM_NCACTIVATE = &H86
  25. Public Const WM_SYNCPAINT As Long = &H88
  26. Public Const WM_CREATE As Long = &H1
  27. Public Const WM_MDIACTIVATE As Long = &H222
  28. Public Const WM_MDIMAXIMIZE As Long = &H225
  29. Public Const WM_MDICREATE As Long = &H220
  30. Public Const WM_MDINEXT As Long = &H224
  31. Public Const WM_SETREDRAW As Long = &HB
  32. Public Const WM_DRAWITEM = &H2B    '绘制Item
  33. Public Const WM_MEASUREITEM = &H2C '确定自画项目大小
  34. Public Const WM_LBUTTONDBLCLK As Long = &H203
  35. Public Const WM_LBUTTONDOWN As Long = &H201
  36. Public Const WM_LBUTTONUP As Long = &H202
  37. Public Const WM_MBUTTONDBLCLK As Long = &H209
  38. Public Const WM_MBUTTONDOWN As Long = &H207
  39. Public Const WM_MBUTTONUP As Long = &H208
  40. Public Const WM_RBUTTONDBLCLK As Long = &H206
  41. Public Const WM_RBUTTONDOWN As Long = &H204
  42. Public Const WM_RBUTTONUP As Long = &H205
  43. Public Const WM_MOUSEMOVE As Long = &H200
  44. Public Const WM_MOUSEWHEEL As Long = &H20A
  45. Public Const WM_USER = &H400
  46. Public Const WM_COMMAND = &H111
  47. Public Const WM_INITMENUPOPUP = &H117&
  48. Public Const WM_MENUCOMMAND As Long = &H126
  49. Public Const WM_MENURBUTTONUP As Long = &H122
  50. Public Const WM_MENUSELECT As Long = &H11F
  51. Public Const WM_EXITMENULOOP As Long = &H212
  52. Public Const WM_CANCELMODE As Long = &H1F
  53. Public Const WM_CONTEXTMENU As Long = &H7B
  54. Public Const WM_MOVE As Long = &H3
  55. Public Const WM_SIZE As Long = &H5
  56. Public Const SIZE_MAXIMIZED As Long = 2
  57. Public Const WM_SYSCOLORCHANGE As Long = &H15
  58. Public Const WM_KEYDOWN = &H100
  59. Public Const WM_KEYUP As Long = &H101
  60. Public Const MK_CONTROL = &H8
  61. Public Const MK_LBUTTON As Long = &H1
  62. Public Const MK_RBUTTON As Long = &H2
  63. Public Const MK_SHIFT As Long = &H4
  64. '== 硬件与系统函数 =============================
  65. 'CopyMemory       从一个地点拷贝一块记忆到另外一个
  66. 'GetSysColor      判断指定windows显示对象的颜色
  67. Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
  68. Public Declare Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
  69. '-- GetSysColor --------------------------------
  70. '标准的:0~20
  71. Public Const COLOR_ACTIVEBORDER = 10        '活动窗口的边框
  72. Public Const COLOR_ACTIVECAPTION = 2        '活动窗口的标题
  73. Public Const COLOR_APPWORKSPACE = 12        'MDI桌面的背景
  74. Public Const COLOR_BACKGROUND = 1           'windows桌面
  75. Public Const COLOR_BTNFACE = 15             '按钮
  76. Public Const COLOR_BTNHIGHLIGHT = 20        '按钮的3D加亮区
  77. Public Const COLOR_BTNSHADOW = 16           '按钮的3D阴影
  78. Public Const COLOR_BTNTEXT = 18             '按钮文字
  79. Public Const COLOR_CAPTIONTEXT = 9          '窗口标题中的文字
  80. Public Const COLOR_GRAYTEXT = 17            '灰色文字;如使用了抖动技术则为零
  81. Public Const COLOR_HIGHLIGHT = 13           '选定的项目背景
  82. Public Const COLOR_HIGHLIGHTTEXT = 14       '选定的项目文字
  83. Public Const COLOR_INACTIVEBORDER = 11      '不活动窗口的边框
  84. Public Const COLOR_INACTIVECAPTION = 3      '不活动窗口的标题
  85. Public Const COLOR_INACTIVECAPTIONTEXT = 19 '不活动窗口的文字
  86. Public Const COLOR_MENU = 4                 '菜单
  87. Public Const COLOR_MENUTEXT = 7             '菜单文字
  88. Public Const COLOR_SCROLLBAR = 0            '滚动条
  89. Public Const COLOR_WINDOW = 5               '窗口背景
  90. Public Const COLOR_WINDOWFRAME = 6          '窗框
  91. Public Const COLOR_WINDOWTEXT = 8           '窗口文字
  92. '== 设备场景函数 ===============================
  93. 'GetDC              获取指定窗口的设备场景。返回值:Long,指定窗口的设备场景句柄,出错则为0。
  94. 'ReleaseDC          释放由调用GetDC或GetWindowDC函数获取的指定设备场景。返回值:Long,执行成功为1,否则为0。
  95. Public Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
  96. Public Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hdc As Long) As Long
  97. Public Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As Long
  98. '== 文本和字体 =================================
  99. '-= 字体范围 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  100. 'GetTextExtentPoint32 判断一个字串的大小(范围)。返回值:Long,非零表示成功,零表示失败。
  101. Public Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32A" (ByVal hdc As Long, ByVal lpsz As Long, ByVal cbString As Long, lpSize As Size) As Long
  102. '-= 文本输出 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  103. 'DrawText     将文本描绘到指定的矩形中。返回值:Long,描绘文字的高度。
  104. 'GetTextColor 判断当前字体颜色。通常也称为“前景色”。返回值:Long,文字的当前RGB颜色设置。如果出错,会返回CLR_INVALID。
  105. 'SetTextColor 设置当前文本颜色。这种颜色也称为“前景色”。返回值:Long,文本色的前一个RGB颜色设定。
  106. Public Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
  107. Public Declare Function GetTextColor Lib "gdi32" (ByVal hdc As Long) As Long
  108. Public Declare Function SetTextColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
  109. '-- DrawText -----------------------------------
  110. Public Const DT_LEFT = &H0
  111. Public Const DT_CENTER = &H1
  112. Public Const DT_RIGHT = &H2
  113. Public Const DT_SINGLELINE = &H20
  114. Public Const DT_TOP = &H0
  115. Public Const DT_VCENTER = &H4
  116. Public Const DT_BOTTOM = &H8
  117. Public Const DT_CALCRECT = &H400 'AutoSize
  118. Public Const DT_WORDBREAK = &H10 'AutoCrLf
  119. Public Const DT_NOCLIP = &H100 '不剪切区域
  120. Public Const DT_NOPREFIX = &H800 '不处理&
  121. Public Const DT_EXPANDTABS = &H40 '用制表符作为定位点
  122. Public Const DT_TABSTOP = &H80 '用8~15位来指定制表符
  123. Public Const DT_EXTERNALLEADING = &H200 '计算文本行高度时,使用当前字体的外部铅距属性。
  124. '== 绘图函数 ===================================
  125. 'CreateSolidBrush   用纯色创建一个刷子
  126. 'DeleteObject       用这个函数删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放
  127. 'DrawEdge           用指定的样式描绘一个矩形的边框。返回值:Long,非零表示成功,零表示失败。
  128. 'FillRect           用指定的刷子填充一个矩形
  129. 'SelectObject       每个设备场景都可能有选入其中的图形对象。其中包括位图、刷子、字体、画笔以及区域等等。一次选入设备场景的只能有一个对象。选定的对象会在设备场景的绘图操作中使用。返回值:Long,与以前选入设备场景的相同hObject类型的一个对象的句柄,零表示出错。
  130. 'SetBkColor         为指定的设备场景设置背景颜色。
  131. 'SetBkMode          设置背景透明
  132. 'SetPixelV          在指定的设备场景中设置一个像素的RGB值
  133. Public Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
  134. Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
  135. Public Declare Function DrawEdge Lib "user32" (ByVal hdc As Long, qrc As RECT, ByVal edge As Long, ByVal grfFlags As Long) As Long
  136. Public Declare Function FillRect Lib "user32" (ByVal hdc As Long, lpRect As RECT, ByVal hBrush As Long) As Long
  137. Public Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
  138. Public Declare Function SetBkColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
  139. Public Declare Function SetBkMode Lib "gdi32" (ByVal hdc As Long, ByVal nBkMode As Long) As Long
  140. Public Declare Function SetPixelV Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
  141. 'Public Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As Long
  142. Public Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
  143. Public Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
  144. Public Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
  145. Public Declare Function DeleteDC Lib "gdi32.dll" (ByVal hdc As Long) As Long
  146. Public Const SRCCOPY = &HCC0020
  147. Public Const SRCINVERT = &H660046
  148. Public Const DSTINVERT = &H550009
  149. Public Const PATINVERT = &H5A0049
  150. '-- SetBkMode ----------------------------------
  151. Public Const TRANSPARENT = 1    '透明处理,即不作上述填充
  152. Public Const OPAQUE = 2         '用当前的背景色填充虚线画笔、阴影刷子以及字符的空隙
  153. Public Const NEWTRANSPARENT = 3 '在有颜色的菜单上画透明文字
  154. '-- DrawEdge -----------------------------------
  155. ' - edge - - - - - - - - - - - - - - - - - - - -
  156. Public Const BDR_RAISEDOUTER = &H1 '外层凸
  157. Public Const BDR_SUNKENOUTER = &H2 '外层凹
  158. Public Const BDR_RAISEDINNER = &H4 '内层凸
  159. Public Const BDR_SUNKENINNER = &H8 '内层凹
  160. Public Const BDR_OUTER = &H3
  161. Public Const BDR_RAISED = &H5
  162. Public Const BDR_SUNKEN = &HA
  163. Public Const BDR_INNER = &HC
  164. Public Const EDGE_RAISED = (BDR_RAISEDOUTER Or BDR_RAISEDINNER)
  165. Public Const EDGE_ETCHED = (BDR_SUNKENOUTER Or BDR_RAISEDINNER)
  166. Public Const EDGE_BUMP = (BDR_RAISEDOUTER Or BDR_SUNKENINNER)
  167. Public Const EDGE_SUNKEN = (BDR_SUNKENOUTER Or BDR_SUNKENINNER)
  168. ' - grfFlags - - - - - - - - - - - - - - - - - -
  169. Public Const BF_LEFT = &H1
  170. Public Const BF_TOP = &H2
  171. Public Const BF_RIGHT = &H4
  172. Public Const BF_BOTTOM = &H8
  173. Public Const BF_DIAGONAL = &H10
  174. Public Const BF_MIDDLE = &H800
  175. Public Const BF_SOFT = &H1000
  176. Public Const BF_ADJUST = &H2000
  177. Public Const BF_FLAT = &H4000
  178. Public Const BF_MONO = &H8000
  179. Public Const BF_RECT = (BF_LEFT Or BF_TOP Or BF_RIGHT Or BF_BOTTOM)
  180. Public Const BF_TOPLEFT = (BF_TOP Or BF_LEFT)
  181. Public Const BF_TOPRIGHT = (BF_TOP Or BF_RIGHT)
  182. Public Const BF_BOTTOMLEFT = (BF_BOTTOM Or BF_LEFT)
  183. Public Const BF_BOTTOMRIGHT = (BF_BOTTOM Or BF_RIGHT)
  184. Public Const BF_DIAGONAL_ENDTOPLEFT = (BF_DIAGONAL Or BF_TOP Or BF_LEFT)
  185. Public Const BF_DIAGONAL_ENDTOPRIGHT = (BF_DIAGONAL Or BF_TOP Or BF_RIGHT)
  186. Public Const BF_DIAGONAL_ENDBOTTOMLEFT = (BF_DIAGONAL Or BF_BOTTOM Or BF_LEFT)
  187. Public Const BF_DIAGONAL_ENDBOTTOMRIGHT = (BF_DIAGONAL Or BF_BOTTOM Or BF_RIGHT)
  188. '## 类型 #######################################
  189. Public Type POINTAPI
  190.     x As Long
  191.     y As Long
  192. End Type
  193. Public Type MSG
  194.     hWnd As Long
  195.     message As Long
  196.     wParam As Long
  197.     lParam As Long
  198.     time As Long
  199.     pt As POINTAPI
  200. End Type
  201. Public Type RECT
  202.     Left As Long
  203.     Top As Long
  204.     Right As Long
  205.     Bottom As Long
  206. End Type
  207. Public Type Size
  208.     cx As Long
  209.     cy As Long
  210. End Type
  211. Public Type DRAWITEMSTRUCT
  212.     CtlType As Long        '绘制的类型
  213.     CtlID As Long          '对菜单没用
  214.     itemID As Long         '菜单的索引ID
  215.     itemAction As Long     '定义要求的绘画的行动
  216.     itemState As Long      '绘画的行动发生以后,指定条款的视觉的状态 =选择
  217.     hwndItem As Long       '指定菜单的柄( HMENU )为菜单包含条款
  218.     hdc As Long            '绘图的设备场景
  219.     rcItem As RECT         '一个矩形定义控制的边界被拉的 由hDC 成员指定。
  220.     itemData As Long       'CMenu::ModifyMenu
  221. End Type
  222. Public Type MEASUREITEMSTRUCT
  223.     CtlType As Long                 '指定控制类型。=ODT_MENU
  224.     CtlID As Long                   '对菜单没用
  225.     itemID As Long
  226.     itemWidth As Long               '指定绘画菜单的宽度
  227.     itemHeight As Long              '指定绘画菜单的高度
  228.     itemData As Long                '指定与菜单条款
  229. End Type
  230. '=======================================================
  231. '===================Proxy API===========================
  232. '=======================================================
  233. Public Type INTERNET_PROXY_INFO
  234.     dwAccessType    As Long
  235.     lpszProxy       As String
  236.     lpszProxyBypass As String
  237. End Type
  238. Public Const ERROR_INSUFFICIENT_BUFFER = 122
  239. Public Const INTERNET_OPTION_PROXY = 38
  240. Public Const INTERNET_OPTION_REFRESH As Long = 37
  241. Public Const INTERNET_OPTION_SETTINGS_CHANGED As Long = 39
  242. Public Const INTERNET_OPEN_TYPE_PRECONFIG = 0                     '// use registry configuration
  243. Public Const INTERNET_OPEN_TYPE_DIRECT = 1                        '// direct to net
  244. Public Const INTERNET_OPEN_TYPE_PROXY = 3                         '// via named proxy
  245. Public Const INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY = 4   '// prevent using java/script/INS
  246. Public Declare Function InternetSetOption Lib "wininet.dll" Alias "InternetSetOptionA" (ByVal hInternet As Long, ByVal dwOption As Long, ByRef lpBuffer As Any, ByVal dwBufferLength As Long) As Long
  247. '## Window Function #####################################
  248. Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
  249. Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
  250. Public Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
  251. Public Declare Function GetClientRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
  252. Public Declare Function MoveWindow Lib "user32" (ByVal hWnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
  253. Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
  254. Public Declare Function PtInRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long
  255. Public Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
  256. Public Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  257. Public Const SWP_SHOWWINDOW = &H40
  258. Public Const SWP_NOACTIVATE = &H10
  259. Public Const HWND_TOP = 0
  260. Public Const SWP_NOMOVE = &H2
  261. Public Const SWP_NOSIZE As Long = &H1
  262. Public Const SWP_NOREDRAW As Long = &H8
  263. Public Const SWP_DEFERERASE As Long = &H2000
  264. Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  265. Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  266. Public Const GWL_STYLE = (-16&)
  267. Public Const WS_BORDER = &H800000
  268. Public Const WS_CAPTION = &HC00000
  269. Public Const WS_THICKFRAME = &H40000
  270. Public Const WS_SIZEBOX = WS_THICKFRAME
  271. Public Const WS_SYSMENU = &H80000
  272. Public Const WS_CHILD As Long = &H40000000
  273. Public Const GWL_EXSTYLE As Long = -20
  274. Public Const WS_EX_LAYERED As Long = &H80000
  275. '透明窗口
  276. Public Declare Function SetLayeredWindowAttributes Lib "user32.dll" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
  277. Public Const LWA_COLORKEY As Long = &H1
  278. Public Const LWA_ALPHA As Long = &H2
  279. '## Other #################################################
  280. Public Declare Function CreateStatusWindow Lib "comctl32.dll" (ByVal Style As Long, ByVal lpszText As String, ByVal hwndParent As Long, ByVal wID As Long) As Long
  281. Public Const SB_SETPARTS As Long = (WM_USER + 4)
  282. Public Const SB_SETTIPTEXTA As Long = (WM_USER + 16)
  283. Public Const SB_SETTEXTA As Long = (WM_USER + 1)
  284. '### vk #########################
  285. Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
  286. Public Const VK_RETURN As Long = &HD
  287. Public Const VK_LBUTTON As Long = &H1
  288. Public Const VK_RBUTTON As Long = &H2
  289. Public Const VK_MBUTTON As Long = &H4
  290. Public Const VK_F3 = &H72
  291. Public Const VK_F4 = &H73
  292. Public Const VK_F6 = &H75
  293. Public Const VK_F8 = &H77
  294. Public Const VK_F12 As Long = &H7B
  295. Public Const VK_SHIFT As Long = &H10
  296. Public Const VK_MENU = &H12
  297. Public Const VK_CONTROL = &H11
  298. Public Const VK_LEFT As Long = &H25
  299. Public Const VK_RIGHT As Long = &H27
  300. Public Const VK_UP As Long = &H26
  301. Public Const VK_DOWN As Long = &H28
  302. Public Const VK_ESCAPE As Long = &H1B
  303. Public Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
  304. Public Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long) As Long
  305. Public Const MOD_ALT As Long = &H1
  306. Public Const MOD_CONTROL As Long = &H2
  307. Public Const MOD_SHIFT As Long = &H4
  308. Public Const MOD_WIN As Long = &H8
  309. Public Const WM_HOTKEY As Long = &H312
  310. '-------------------------------------------------------
  311. ' Api Declares....
  312. '-------------------------------------------------------
  313. Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
  314. '-------------------------------------------------------
  315. ' Api Constants...
  316. '-------------------------------------------------------
  317. Public Const GWL_USERDATA = (-21&)
  318. 'Public Const GWL_WNDPROC = (-4&)
  319. 'Public Const WM_USER = &H400&
  320. Public Const TRAY_CALLBACK = (WM_USER + 101&)
  321. Public Const NIM_ADD = &H0&
  322. Public Const NIM_MODIFY = &H1&
  323. Public Const NIM_DELETE = &H2&
  324. Public Const NIF_MESSAGE = &H1&
  325. Public Const NIF_ICON = &H2&
  326. Public Const NIF_TIP = &H4&
  327. '-------------------------------------------------------
  328. ' Api Types....
  329. '-------------------------------------------------------
  330. Public Type NOTIFYICONDATA
  331.     cbSize As Long
  332.     hWnd As Long
  333.     uID As Long
  334.     uFlags As Long
  335.     uCallbackMessage As Long
  336.     hIcon As Long
  337.     szTip As String * 64
  338. End Type
  339. Public Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long
  340. Public Declare Function SetCapture Lib "user32" (ByVal hWnd As Long) As Long
  341. Public Declare Function GetCursor Lib "user32" () As Long
  342. Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
  343. '------------------------------------------
  344. 'titile bar info ...
  345. '------------------------------------------
  346. Public Const CCHILDREN_TITLEBAR As Long = 5
  347. Public Declare Function GetTitleBarInfo Lib "user32.dll" ( _
  348.      ByVal hWnd As Long, _
  349.      ByRef pti As PTITLEBARINFO) As Long
  350. Public Type PTITLEBARINFO
  351.     cbSize As Long
  352.     rcTitleBar As RECT
  353.     rgstate(0 To CCHILDREN_TITLEBAR) As Long
  354. End Type
  355. '----------------------------------------------------
  356. '------------------------------------
  357. 'system info
  358. '------------------------------------
  359. Public Declare Function GetSystemMetrics Lib "user32" ( _
  360.      ByVal nIndex As Long) As Long
  361. Public Const SM_CXSIZE As Long = 30
  362. Public Const SM_CYSIZE As Long = 31
  363. Public Const SM_CYSCREEN As Long = 1
  364. Public Const SM_CXSCREEN As Long = 0
  365. '------------------------------------------
  366. Public Declare Function ScreenToClient Lib "user32" (ByVal hWnd As Long, lpPoint As POINTAPI) As Long
  367. Public Declare Function ClientToScreen Lib "user32" (ByVal hWnd As Long, lpPoint As POINTAPI) As Long
  368. Public Declare Function GetLastError Lib "kernel32" () As Long
  369. Public Declare Function BringWindowToTop Lib "user32" ( _
  370.      ByVal hWnd As Long) As Long
  371. '#####  keyboard and mouse hook ##################
  372. Public Type MOUSEHOOKSTRUCT
  373.     pt As POINTAPI
  374.     hWnd As Long
  375.     wHitTestCode As Long
  376.     dwExtraInfo As Long
  377. End Type
  378. Public Declare Function CallNextHookEx Lib "user32" _
  379.         (ByVal hHook As Long, _
  380.         ByVal ncode As Long, _
  381.         ByVal wParam As Long, _
  382.         ByVal lParam As Long) As Long
  383. Public Declare Function SetWindowsHookEx Lib "user32" _
  384.         Alias "SetWindowsHookExA" _
  385.         (ByVal idHook As Long, _
  386.         ByVal lpfn As Long, _
  387.         ByVal hmod As Long, _
  388.         ByVal dwThreadId As Long) As Long
  389. Public Declare Function UnhookWindowsHookEx Lib "user32" _
  390.         (ByVal hHook As Long) As Long
  391. Public Const WH_KEYBOARD As Long = 2
  392. Public Const WH_MOUSE As Long = 7
  393. Public Const HC_SYSMODALOFF = 5
  394. Public Const HC_SYSMODALON = 4
  395. Public Const HC_SKIP = 2
  396. Public Const HC_GETNEXT = 1
  397. Public Const HC_ACTION = 0
  398. Public Const HC_NOREMOVE As Long = 3
  399. '##########################################
  400. Public Const DC_ACTIVE = &H1
  401. Public Const DC_NOTACTIVE = &H2
  402. Public Const DC_ICON = &H4
  403. Public Const DC_TEXT = &H8
  404. Public Const DFC_BUTTON = 4
  405. Public Const DFC_POPUPMENU = 5             'Only Win98/2000 !!
  406. Public Const DFCS_BUTTON3STATE = &H10
  407. Public Const DFCS_PUSHED As Long = &H200
  408. Public Const DFCS_BUTTONPUSH As Long = &H10
  409. Public Const DC_GRADIENT = &H20           'Only Win98/2000 !!
  410. Public Declare Function DrawCaption Lib "user32" (ByVal hWnd As Long, ByVal hdc As Long, pcRect As RECT, ByVal un As Long) As Long
  411. Public Declare Function DrawFocusRect Lib "user32" (ByVal hdc As Long, lpRect As RECT) As Long
  412. Public Declare Function DrawFrameControl Lib "user32" (ByVal hdc As Long, lpRect As RECT, ByVal un1 As Long, ByVal un2 As Long) As Long
  413. Public Declare Function SetRect Lib "user32" (lpRect As RECT, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
  414. Public Declare Function OffsetRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long
  415. Public Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
  416. Public Const SW_RESTORE As Long = 9
  417. Public Const SW_AUTOPROF_LOAD_MASK As Long = &H1
  418. Public Const SW_AUTOPROF_SAVE_MASK As Long = &H2
  419. Public Const SW_ERASE As Long = &H4
  420. Public Const SW_FORCEMINIMIZE As Long = 11
  421. Public Const SW_HIDE As Long = 0
  422. Public Const SW_INVALIDATE As Long = &H2
  423. Public Const SW_MAX As Long = 10
  424. Public Const SW_MAXIMIZE As Long = 3
  425. Public Const SW_MINIMIZE As Long = 6
  426. Public Const SW_NORMAL As Long = 1
  427. Public Const SW_OTHERUNZOOM As Long = 4
  428. Public Const SW_OTHERZOOM As Long = 2
  429. Public Const SW_PARENTCLOSING As Long = 1
  430. Public Const SW_PARENTOPENING As Long = 3
  431. Public Const SW_SCROLLCHILDREN As Long = &H1
  432. Public Const SW_SHOW As Long = 5
  433. Public Const SW_SHOWDEFAULT As Long = 10
  434. Public Const SW_SHOWMAXIMIZED As Long = 3
  435. Public Const SW_SHOWMINIMIZED As Long = 2
  436. Public Const SW_SHOWMINNOACTIVE As Long = 7
  437. Public Const SW_SHOWNA As Long = 8
  438. Public Const SW_SHOWNOACTIVATE As Long = 4
  439. Public Const SW_SHOWNORMAL As Long = 1
  440. Public Const SW_SMOOTHSCROLL As Long = &H10
  441. '########   Window Version #################
  442. Public Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
  443. Public Type OSVERSIONINFO
  444.     dwOSVersionInfoSize As Long
  445.     dwMajorVersion As Long
  446.     dwMinorVersion As Long
  447.     dwBuildNumber As Long
  448.     dwPlatformID As Long
  449.     szCSDVersion As String * 128
  450. End Type
  451. Public Const VER_PLATFORM_WIN32_NT As Long = 2
  452. Public Const VER_PLATFORM_WIN32_WINDOWS As Long = 1
  453. Public Const VER_PLATFORM_WIN32s As Long = 0
  454. '############################################
  455. '##########  Redraw Window ################
  456. Public Declare Function RedrawWindow Lib "user32" (ByVal hWnd As Long, lprcUpdate As Any, ByVal hrgnUpdate As Long, ByVal fuRedraw As Long) As Long
  457. Public Const RDW_ALLCHILDREN As Long = &H80
  458. Public Const RDW_ERASE As Long = &H4
  459. Public Const RDW_ERASENOW As Long = &H200
  460. Public Const RDW_FRAME As Long = &H400
  461. Public Const RDW_INTERNALPAINT As Long = &H2
  462. Public Const RDW_INVALIDATE As Long = &H1
  463. Public Const RDW_NOCHILDREN As Long = &H40
  464. Public Const RDW_NOERASE As Long = &H20
  465. Public Const RDW_NOFRAME As Long = &H800
  466. Public Const RDW_NOINTERNALPAINT As Long = &H10
  467. Public Const RDW_UPDATENOW As Long = &H100
  468. Public Const RDW_VALIDATE As Long = &H8
  469. '############################################
  470. Public Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wcmd As Long) As Long
  471. Public Const GW_HWNDNEXT As Long = 2
  472. Public Const GW_HWNDFIRST As Long = 0
  473. Public Const GW_HWNDPREV As Long = 3
  474. Public Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String) As Long
  475. Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As Long, ByVal cch As Long) As Long
  476. Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  477. '###### ToolBar  #################################
  478. 'Public Type TBBUTTON
  479. '    iBitmap As Long
  480. '    idCommand As Long
  481. '    fsState As Byte
  482. '    fsStyle As Byte
  483. '    dwData As Long
  484. '    iString As Long
  485. 'End Type
  486. '
  487. 'Public Type TBBUTTONINFOA
  488. '    cbSize As Long
  489. '    dwMask As Long
  490. '    idCommand As Long
  491. '    iImage As Long
  492. '    fsState As Byte
  493. '    fsStyle As Byte
  494. '    cx As Integer
  495. '    lParam As Long
  496. '    pszText As String
  497. '    cchText As Long
  498. 'End Type
  499. '
  500. 'Public Const TB_GETBUTTONINFOA As Long = (WM_USER + 65)
  501. 'Public Const TB_GETBUTTONINFOW As Long = (WM_USER + 63)
  502. 'Public Const TB_SETBUTTONINFOA As Long = (WM_USER + 66)
  503. 'Public Const TB_SETBUTTONINFOW As Long = (WM_USER + 64)
  504. 'Public Const TB_GETBUTTON As Long = (WM_USER + 23)
  505. 'Public Const TBIF_STYLE As Long = &H8
  506. 'Public Const BTNS_WHOLEDROPDOWN As Long = &H80
  507. '#####################################################