home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / Visual_Bas20368912102006.psc / POOBOOS.BAS < prev   
BASIC Source File  |  2006-12-11  |  53KB  |  1,273 lines

  1. Attribute VB_Name = "Pooboos_1100"
  2. 'Iftikhar MAlik
  3. 'Copyrighted code email to me humsafar_ak@yahoo.com
  4.  
  5. Private Declare Function CreateProcess Lib "kernel32.dll" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, ByVal lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, ByRef lpEnvironment As Any, ByVal lpCurrentDirectory As String, ByRef lpStartupInfo As STARTUPINFO, ByRef lpProcessInformation As PROCESS_INFORMATION) As Long
  6. Private Declare Function GetExitCodeProcess Lib "kernel32.dll" (ByVal hProcess As Long, ByRef lpExitCode As Long) As Long
  7. Private Declare Function GetExitCodeThread Lib "kernel32.dll" (ByVal hThread As Long, ByRef lpExitCode As Long) As Long
  8. Private Declare Function TerminateProcess Lib "kernel32.dll" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
  9. Private Declare Function TerminateThread Lib "kernel32.dll" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long
  10. Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
  11. Private Declare Function FindWindow Lib "USER32.DLL" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  12. Private Declare Function GetCursorPos Lib "USER32.DLL" (lpPoint As POINTAPI) As Long
  13. Private Declare Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
  14. Private Declare Function GetShortPathName Lib "KERNEL32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
  15. Private Declare Function GetSystemMenu Lib "USER32.DLL" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
  16. Private Declare Function GetSystemDirectory Lib "kernel32.dll" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
  17. Private Declare Function GetTempPath Lib "kernel32.dll" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
  18. Private Declare Function GetWindowsDirectory Lib "kernel32.dll" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
  19. Private Declare Function GetWindowRect Lib "USER32" (ByVal hWnd As Long, lpRect As RECT) As Long
  20. Private Declare Function lstrCat Lib "kernel32.dll" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
  21. Private Declare Function MoveFile Lib "KERNEL32" Alias "MoveFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long 'BOOL
  22. Private 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
  23. Private Declare Function OpenFile Lib "KERNEL32" (ByVal lpFileName As String, ByRef lpReOpenBuff As OFSTRUCT, ByVal uStyle As Long) As Long
  24. Private Declare Function RemoveMenu Lib "USER32.DLL" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
  25. Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  26. Private Declare Function SetForegroundWindow Lib "USER32.DLL" (ByVal hWnd As Long) As Long
  27. Private Declare Function SetWindowPos Lib "USER32.DLL" (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
  28. Private Declare Function SHBrowseForFolder Lib "SHELL32.DLL" (lpbi As BROWSEINFO) As Long
  29. Private Declare Function SHGetPathFromIDList Lib "SHELL32.DLL" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
  30. Private Declare Function SHGetIDListFromPath Lib "SHELL32.DLL" Alias "#162" (ByVal szPath As String) As Long
  31. Private Declare Function ShowWindow Lib "USER32.DLL" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
  32. Private Declare Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
  33. Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long
  34. Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
  35. Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc 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 nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
  36. Private Declare Function GetCurrentProcessId Lib "KERNEL32" () As Long
  37. Private Declare Function RegisterServiceProcess Lib "KERNEL32" (ByVal dwProcessId As Long, ByVal dwType As Long) As Long
  38. Private Declare Function ReleaseCapture Lib "USER32" () As Long  'MODULE 1171
  39. Private Declare Function GetTickCount Lib "KERNEL32" () As Long   'MODULE 1117
  40. Private Declare Function CloseClipboard Lib "USER32" () As Long   'MODULE 1116
  41. Private Declare Function GetUserDefaultLangID Lib "KERNEL32" () As Integer  'MODULE 1118
  42. Private Declare Function OpenClipboard Lib "USER32" (ByVal hWnd As Long) As Long
  43. Private Declare Function MessageBox Lib "USER32" Alias "MessageBoxA" (ByVal hWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long 'Parameter: form.(property) = Messagebox(0,"Text","Caption",(vbcritical,vbinformation))  'MODULE 1119
  44. Private Declare Function SetCursorPos Lib "USER32" (ByVal X As Long, ByVal Y As Long) As Long  'Parameter: form.(property) = SetCursorPos(x,y) in Pixels.  'MODULE 1121
  45. Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long  'MODULE 1126
  46. Private Declare Function CreateSolidBrush Lib "gdi32.dll" (ByVal crColor As Long) As Long  'MODULE 1127
  47. Private Declare Function FillRect Lib "USER32.DLL" (ByVal hdc As Long, lpRect As RECT, ByVal hBrush As Long) As Long  'MODULE 1128
  48. Private Declare Function DeleteObject Lib "gdi32.dll" (ByVal hObject As Long) As Long  'MODULE 1129
  49. Private Declare Function GetDiskFreeSpace Lib "kernel32.dll" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTotalNumberOfClusters As Long) As Long  'MODULE 1164
  50. Private Declare Function CreateWindowEx Lib "USER32.DLL" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long  'MODULE 1131
  51. Private Declare Function CallWindowProc Lib "USER32.DLL" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long  'MODULE 1133
  52. Private Declare Function SetWindowLong Lib "USER32.DLL" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long  'MODULE 1134
  53. Private Declare Function PostMessage Lib "USER32.DLL" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long  'MODULE 1135
  54. Private Declare Function GetWindowLong Lib "USER32.DLL" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long  'MODULE 1136
  55. Private Declare Function BeginPaint Lib "USER32.DLL" (ByVal hWnd As Long, lpPaint As PAINTSTRUCT) As Long  'MODULE 1140
  56. Private Declare Function GetWindowTextLength Lib "USER32.DLL" Alias "GetWindowTextLengthA" (ByVal hWnd As Long) As Long  'MODULE 1141
  57. Private Declare Function GetWindowText Lib "USER32.DLL" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long  'MODULE 1142
  58. Private Declare Function EndPaint Lib "USER32.DLL" (ByVal hWnd As Long, lpPaint As PAINTSTRUCT) As Long  'MODULE 1143
  59. Private Declare Function GetSysColor Lib "USER32.DLL" (ByVal nIndex As Long) As Long  'MODULE 1144
  60. Private Declare Function GetClientRect Lib "USER32.DLL" (ByVal hWnd As Long, lpRect As RECT) As Long  'MODULE 1145
  61. Private Declare Function DrawText Lib "USER32.DLL" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long  'MODULE 1146
  62. Private Declare Function SetBkMode Lib "gdi32.dll" (ByVal hdc As Long, ByVal nBkMode As Long) As Long  'MODULE 1148
  63. Private Declare Function CreateFontIndirect Lib "gdi32.dll" Alias "CreateFontIndirectA" (lpLogFont As LOGFONT) As Long  'MODULE 1149
  64. Private Declare Function ExitWindowsEx Lib "USER32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
  65. Private Declare Function SetTextColor Lib "gdi32.dll" (ByVal hdc As Long, ByVal crColor As Long) As Long  'MODULE 1150
  66. Private Declare Function CreateRectRgn Lib "gdi32.dll" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long  'MODULE 1151
  67. Private Declare Function CreateRoundRectRgn Lib "gdi32.dll" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long  'MODULE 1152
  68. Private Declare Function CreatePolygonRgn Lib "gdi32.dll" (lpPoint As POINTAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long  'MODULE 1153
  69. Private Declare Function CombineRgn Lib "gdi32.dll" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long  'MODULE 1154
  70. Private Declare Function FillRgn Lib "gdi32.dll" (ByVal hdc As Long, ByVal hRgn As Long, ByVal hBrush As Long) As Long  'MODULE 1155
  71. Private Declare Function GetSysColorBrush Lib "USER32.DLL" (ByVal nIndex As Long) As Long  'MODULE 1156
  72. Private Declare Function FrameRgn Lib "gdi32.dll" (ByVal hdc As Long, ByVal hRgn As Long, ByVal hBrush As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long  'MODULE 1157
  73. Private Declare Function GetStockObject Lib "gdi32.dll" (ByVal nIndex As Long) As Long  'MODULE 1158
  74. Private Declare Function SelectObject Lib "gdi32.dll" (ByVal hdc As Long, ByVal hObject As Long) As Long  'MODULE 1159
  75. Private Declare Function GetSystemMetrics Lib "USER32.DLL" (ByVal nIndex As Long) As Long  'MODULE 1166
  76. Private Declare Function EnumDisplaySettings Lib "USER32.DLL" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean  'MODULE 1167
  77. Private Declare Function ChangeDisplaySettings Lib "USER32.DLL" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwFlags As Long) As Long  'MODULE 1168
  78. Private Declare Function FindWindowEx Lib "USER32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, lpsz2 As Any) As Long
  79. Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
  80. Private Declare Function SetWindowRgn Lib "USER32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
  81. Private Declare Function GetWindow Lib "USER32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
  82. Private Declare Function GetClassName Lib "USER32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
  83. Private Declare Function CHOOSECOLOR Lib "comdlg32.dll" Alias "ChooseColorA" (pChoosecolor As CHOOSECOLOR) As Long
  84. Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
  85. Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
  86. Private Declare Function PrintDialog Lib "comdlg32.dll" Alias "PrintDlgA" (pPrintdlg As PRINTDLG_TYPE) As Long
  87. Private Declare Function PAGESETUPDLG Lib "comdlg32.dll" Alias "PageSetupDlgA" (pPagesetupdlg As PAGESETUPDLG) As Long
  88. Private Declare Function CHOOSEFONT Lib "comdlg32.dll" Alias "ChooseFontA" (pChoosefont As CHOOSEFONT) As Long
  89. Private Declare Function GlobalLock Lib "KERNEL32" (ByVal hMem As Long) As Long
  90. Private Declare Function GlobalUnlock Lib "KERNEL32" (ByVal hMem As Long) As Long
  91. Private Declare Function GlobalAlloc Lib "KERNEL32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
  92. Private Declare Function GlobalFree Lib "KERNEL32" (ByVal hMem As Long) As Long
  93. Private Declare Function InitializeFlatSB Lib "comctl32" (ByVal hWnd As Long) As Long
  94. Private Declare Function UninitializeFlatSB Lib "comctl32" (ByVal hWnd As Long) As Long
  95. Private Declare Function FlatSB_SetScrollProp Lib "comctl32" (ByVal hWnd As Long, ByVal index As Long, ByVal newValue As Long, ByVal fRedraw As Boolean) As Boolean
  96. Private Declare Function FlatSB_EnableScrollBar Lib "comctl32" (ByVal hWnd As Long, ByVal wSBflags As Long, ByVal wArrows As Long) As Long
  97. Private Declare Function FlatSB_GetScrollInfo Lib "comctl32" (ByVal hWnd As Long, ByVal fnBar As Long, lpsi As SCROLLINFO) As Boolean
  98. Private Declare Function FlatSB_GetScrollProp Lib "comctl32" (ByVal hWnd As Long, ByVal index As Long, pValue As Long) As Boolean
  99. Private Declare Function FlatSB_GetScrollRange Lib "comctl32" (ByVal hWnd As Long, ByVal code As Long, lpMinPos As Long, lpMaxPos As Long) As Boolean
  100. Private Declare Function FlatSB_SetScrollInfo Lib "comctl32" (ByVal hWnd As Long, ByVal fnBar As Long, lpsi As SCROLLINFO, ByVal fRedraw As Boolean) As Long
  101. Private Declare Function FlatSB_SetScrollPos Lib "comctl32" (ByVal hWnd As Long, ByVal code As Long, ByVal nPos As Long, ByVal fRedraw As Boolean) As Long
  102. Private Declare Function FlatSB_SetScrollRange Lib "comctl32" (ByVal hWnd As Long, ByVal code As Long, ByVal nMinPos As Long, ByVal nMaxPos As Long, ByVal fRedraw As Boolean) As Long
  103. Private Declare Function FlatSB_ShowScrollBar Lib "comctl32" (ByVal hWnd As Long, ByVal code As Long, ByVal fShow As Boolean) As Boolean
  104. Private Declare Function FlatSB_GetScrollPos Lib "comctl32" (ByVal hWnd As Long, ByVal code As Long) As Long
  105. Private Declare Function GradientFillTriangle Lib "msimg32" Alias "GradientFill" (ByVal hdc As Long, pVertex As TRIVERTEX, ByVal dwNumVertex As Long, pMesh As GRADIENT_TRIANGLE, ByVal dwNumMesh As Long, ByVal dwMode As Long) As Long
  106. Private Declare Function DestroyWindow Lib "USER32" (ByVal hWnd As Long) As Long
  107. Private Declare Function SHEmptyRecycleBin Lib "SHELL32.DLL" Alias "SHEmptyRecycleBinA" (ByVal hWnd As Long, ByVal pszRootPath As String, ByVal dwFlags As Long) As Long
  108. Private Declare Function SHUpdateRecycleBinIcon Lib "SHELL32.DLL" () As Long
  109. Private Declare Function SHQueryRecycleBin Lib "SHELL32.DLL" Alias "SHQueryRecycleBinA" (ByVal pszRootPath As String, pSHQueryRBInfo As SHQUERYRBINFO) As Long
  110. Private Declare Function ShellExecuteEx Lib "SHELL32.DLL" (SEI As SHELLEXECUTEINFO) As Long
  111. Private Declare Function GetVersionEx Lib "KERNEL32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
  112. Private Declare Function SHRunDialog Lib "shell32" Alias "#61" (ByVal hOwner As Long, ByVal Unknown1 As Long, ByVal Unknown2 As Long, ByVal szTitle As String, ByVal szPrompt As String, ByVal uFlags As Long) As Long
  113. Private Declare Function RemoveDirectory Lib "KERNEL32" Alias "RemoveDirectoryA" (ByVal lpPathName As String) As Long
  114. Private Declare Function GetForegroundWindow Lib "USER32" () As Long
  115. Private Declare Function GetParent Lib "USER32" (ByVal hWnd As Long) As Long
  116. Private Declare Function GetUserNameA Lib "advapi32.dll" (ByVal lpBuffer As String, nSize As Long) As Long
  117. Private Declare Function GetComputerNameA Lib "KERNEL32" (ByVal lpBuffer As String, nSize As Long) As Long
  118. Private Declare Function ShellAbout Lib "SHELL32.DLL" Alias "ShellAboutA" (ByVal hWnd As Long, ByVal szApp As String, ByVal szOtherStuff As String, ByVal hIcon As Long) As Long
  119. Private Declare Function SystemParametersInfo Lib "USER32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
  120. Private Declare Function GetMenuItemCount Lib "USER32" (ByVal hMenu As Long) As Long
  121. Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
  122. Private Declare Function DrawMenuBar Lib "USER32" (ByVal hWnd As Long) As Long
  123. Private Declare Function ShowCursor Lib "USER32" (ByVal bShow As Long) As Long
  124. Private Declare Function SetKeyboardState Lib "USER32" (lppbKeyState As Byte) As Long
  125. Private Declare Function GetKeyboardState Lib "USER32" (pbKeyState As Byte) As Long
  126. Private Declare Function mciGetErrorString Lib "winmm.dll" Alias "mciGetErrorStringA" (ByVal dwError As Long, ByVal lpstrBuffer As String, ByVal uLength As Long) As Long
  127.  
  128. Declare Function WindowsExit Lib "C:\LPBI.dll" () As Long
  129.  
  130. Private Declare Sub CopyMemory Lib "KERNEL32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
  131. Private Declare Sub Sleep Lib "KERNEL32" (ByVal dwMilliseconds As Long)
  132. Private Declare Sub CoTaskMemFree Lib "OLE32.DLL" (ByVal hMem As Long)
  133. Private Declare Sub ExitProcess Lib "kernel32.dll" (ByVal uExitCode As Long)
  134. Private Declare Sub ExitThread Lib "kernel32.dll" (ByVal dwExitCode As Long)
  135.  
  136. Const e = 2.7182818284
  137. Const pi = 3.141592648
  138. Const HWND_TOPMOST = -1
  139. Const HWND_NOTOPMOST = -2
  140. Const MF_BYPOSITION = &H400&
  141. Const SWP_NOSIZE = &H1
  142. Const SWP_NOMOVE = &H2
  143. Const SPI_SCREENSAVERRUNNING = 97
  144. Const SWP_NOACTIVATE = &H10
  145. Const SWP_SHOWWINDOW = &H40
  146. Const shrdNoMRUString = &H2
  147. Const SEE_MASK_INVOKEIDLIST = &HC
  148. Const SEE_MASK_NOCLOSEPROCESS = &H40
  149. Const SEE_MASK_FLAG_NO_UI = &H400
  150. Const LF_FACESIZE = 32
  151. Const SHERB_NOCONFIRMATION = &H1
  152. Const SHERB_NOPROGRESSUI = &H2
  153. Const SHERB_NOSOUND = &H4
  154. Const GRADIENT_FILL_RECT_H As Long = &H0
  155. Const GRADIENT_FILL_RECT_V  As Long = &H1
  156. Const GRADIENT_FILL_TRIANGLE As Long = &H2
  157. Const WM_NCLBUTTONDOWN = &HA1
  158. Const LP_HT_CAPTION = 2
  159. Const GWL_WNDPROC = -4
  160. Const SWP_HIDEWINDOW = &H80
  161. Const GW_CHILD = 5
  162. Const GW_HWNDNEXT = 2
  163. Const GWL_STYLE = (-16)
  164. Const WS_BORDER = &H800000
  165. Const FW_NORMAL = 400
  166. Const FW_HEAVY = 900
  167. Const FW_SEMIBOLD = 600
  168. Const FW_BLACK = FW_HEAVY
  169. Const FW_BOLD = 700
  170. Const FW_DEMIBOLD = FW_SEMIBOLD
  171. Const FW_DONTCARE = 0
  172. Const FW_EXTRABOLD = 800
  173. Const FW_EXTRALIGHT = 200
  174. Const FW_LIGHT = 300
  175. Const FW_MEDIUM = 500
  176. Const FW_REGULAR = FW_NORMAL
  177. Const FW_THIN = 100
  178. Const FW_ULTRABOLD = FW_EXTRABOLD
  179. Const FW_ULTRALIGHT = FW_EXTRALIGHT
  180. Const TRANSPARENT = 1
  181. Const ALTERNATE = 1
  182. Const BLACK_BRUSH = 4
  183. Const DKGRAY_BRUSH = 3
  184. Const DT_SINGLELINE = &H20
  185. Const DT_NOCLIP = &H100
  186. Const DT_CENTER = &H1
  187. Const DT_VCENTER = &H4
  188. Const DT_WORDBREAK = &H10
  189. Const DT_CALCRECT = &H400
  190. Const CW_USEDEFAULT = &H80000000
  191. Const TTS_ALWAYSTIP = 1
  192. Const TTF_IDISHWND = 1
  193. Const TTF_CENTERTIP = 2
  194. Const TTF_RTLREADING = 4
  195. Const TTF_SUBCLASS = &H10
  196. Const TTF_TRACK = &H20
  197. Const TTF_ABSOLUTE = &H80
  198. Const TTF_TRANSPARENT = &H100
  199. Const TTF_DI_SETITEM = &H8000
  200. Const WM_USER = &H400
  201. Const WM_PAINT = &HF
  202. Const WM_PRINT = &H317
  203. Const TTM_ACTIVATE = WM_USER + 1
  204. Const TTM_SETDELAYTIME = WM_USER + 3
  205. Const TTM_ADDTOOL = WM_USER + 4
  206. Const TTM_DELTOOL = WM_USER + 5
  207. Const TTM_NEWTOOLRECT = WM_USER + 6
  208. Const TTM_RELAYEVENT = WM_USER + 7
  209. Const COLOR_INFOTEXT = 23
  210. Const COLOR_INFOBK = 24
  211. Const COLOR_GRAYTEXT = 17
  212. Const COLOR_3DLIGHT = 22
  213. Const RGN_OR = 2
  214. Const CCDEVICENAME = 32
  215. Const CCFORMNAME = 32
  216. Const DM_PELSWIDTH = &H80000
  217. Const DM_PELSHEIGHT = &H100000
  218. Const iOffset = 8
  219. Const FontType = "Comic Sans MS" & vbNullChar
  220. Const FontSize = 13
  221. Const DEFAULT_CHARSET = 1
  222. Const OUT_DEFAULT_PRECIS = 0
  223. Const CLIP_DEFAULT_PRECIS = 0
  224. Const DEFAULT_QUALITY = 0
  225. Const DEFAULT_PITCH = 0
  226. Const FF_ROMAN = 16
  227. Const CF_PRINTERFONTS = &H2
  228. Const CF_SCREENFONTS = &H1
  229. Const CF_BOTH = (CF_SCREENFONTS Or CF_PRINTERFONTS)
  230. Const CF_EFFECTS = &H100&
  231. Const CF_FORCEFONTEXIST = &H10000
  232. Const CF_INITTOLOGFONTSTRUCT = &H40&
  233. Const CF_LIMITSIZE = &H2000&
  234. Const REGULAR_FONTTYPE = &H400
  235. Const CCHDEVICENAME = 32
  236. Const CCHFORMNAME = 32
  237. Const GMEM_MOVEABLE = &H2
  238. Const GMEM_ZEROINIT = &H40
  239. Const DM_DUPLEX = &H1000&
  240. Const DM_ORIENTATION = &H1&
  241. Const PD_PRINTSETUP = &H40
  242. Const PD_DISABLEPRINTTOFILE = &H80000
  243. Const WS_VSCROLL = &H200000
  244. Const WS_HSCROLL = &H100000
  245. Const WSB_PROP_CYVSCROLL = &H1
  246. Const WSB_PROP_CXHSCROLL = &H2
  247. Const WSB_PROP_CYHSCROLL = &H4
  248. Const WSB_PROP_CXVSCROLL = &H8
  249. Const WSB_PROP_CXHTHUMB = &H10
  250. Const WSB_PROP_CYVTHUMB = &H20
  251. Const WSB_PROP_VBKGCOLOR = &H40
  252. Const WSB_PROP_HBKGCOLOR = &H80
  253. Const WSB_PROP_VSTYLE = &H100
  254. Const WSB_PROP_HSTYLE = &H200
  255. Const WSB_PROP_WINSTYLE = &H400
  256. Const WSB_PROP_PALETTE = &H800
  257. Const WSB_PROP_MASK = &HFFF
  258. Const FSB_FLAT_MODE = 2
  259. Const FSB_ENCARTA_MODE = 1
  260. Const FSB_REGULAR_MODE = 0
  261. Const SB_HORZ = 0
  262. Const SB_VERT = 1
  263. Const SB_BOTH = 3
  264. Const ESB_ENABLE_BOTH = &H0
  265. Const ESB_DISABLE_BOTH = &H3
  266. Const ESB_DISABLE_LEFT = &H1
  267. Const ESB_DISABLE_RIGHT = &H2
  268. Const ESB_DISABLE_UP = &H1
  269. Const ESB_DISABLE_DOWN = &H2
  270. Const ESB_DISABLE_LTUP = ESB_DISABLE_LEFT
  271. Const ESB_DISABLE_RTDN = ESB_DISABLE_RIGHT
  272. Const SIF_RANGE = &H1
  273. Const SIF_PAGE = &H2
  274. Const SIF_POS = &H4
  275. Const SIF_ALL = (SIF_RANGE Or SIF_PAGE Or SIF_POS)
  276. Const WS_CHILD = &H40000000
  277. Const WM_LBUTTONDOWN = &H201
  278. Const WM_LBUTTONUP = &H202
  279. Const RSP_SIMPLE_SERVICE = 1
  280. Const RSP_UNREGISTER_SERVICE = 0
  281. Const GWL_EXSTYLE = (-20)
  282. Const WS_EX_TRANSPARENT = &H20&
  283. Const SWP_FRAMECHANGED = &H20
  284. Const SWP_SHOWME = SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE
  285. Const EXIT_LOGOFF = 0
  286. Const EXIT_SHUTDOWN = 1
  287. Const EXIT_REBOOT = 2
  288. Const SWP_NOZORDER = &H4
  289. Const SWP_NOREPOSITION = &H200
  290. Const WM_DESTROY = &H2
  291. Const STARTF_NULL = 0
  292. Const STARTF_FORCEONFEEDBACK = &H40
  293. Const STARTF_FORCEOFFFEEDBACK = &H80
  294. Const STARTF_RUNFULLSCREEN = &H20
  295. Const STARTF_USECOUNTCHARS = &H8
  296. Const STARTF_USEFILLATTRIBUTE = &H10
  297. Const STARTF_USEPOSITION = &H4
  298. Const STARTF_USESHOWWINDOW = &H1
  299. Const STARTF_USESIZE = &H2
  300. Const STARTF_USESTDHANDLES = &H100
  301. Const CREATE_DEFAULT_ERROR_MODE = &H4000000
  302. Const CREATE_NEW_CONSOLE = &H10
  303. Const CREATE_NEW_PROCESS_GROUP = &H200
  304. Const CREATE_SUSPENDED = &H4
  305. Const CREATE_UNICODE_ENVIRONMENT = &H400
  306. Const DETACHED_PROCESS = &H8
  307. Const DEBUG_ONLY_THIS_PROCESS = &H2
  308. Const DEBUG_PROCESS = &H1
  309. Const REALTIME_PRIORITY_CLASS = &H100
  310. Const HIGH_PRIORITY_CLASS = &H80
  311. Const NORMAL_PRIORITY_CLASS = &H20
  312. Const IDLE_PRIORITY_CLASS = &H40
  313. Const MAX_PATH = 260
  314. Const FILE_ATTRIBUTE_ARCHIVE = &H20
  315. Const FILE_ATTRIBUTE_COMPRESSED = &H800
  316. Const FILE_ATTRIBUTE_DIRECTORY = &H10
  317. Const FILE_ATTRIBUTE_HIDDEN = &H2
  318. Const FILE_ATTRIBUTE_NORMAL = &H80
  319. Const FILE_ATTRIBUTE_READONLY = &H1
  320. Const FILE_ATTRIBUTE_SYSTEM = &H4
  321. Const FILE_ATTRIBUTE_TEMPORARY = &H100
  322. Const SWP_DRAWFRAME = SWP_FRAMECHANGED
  323. Const SWP_NOREDRAW = &H8
  324. Const SWP_FLAGS = SWP_NOMOVE Or SWP_NOSIZE
  325. Const HWND_TOP = 0
  326. Const HWND_BOTTOM = 1
  327. Const MF_BYCOMMAND = &H0&
  328. Const BIF_BROWSEFORCOMPUTER = &H1000
  329. Const BIF_BROWSEFORPRINTER = &H2000
  330. Const BIF_BROWSEINCLUDEFILES = &H4000
  331. Const BIF_RETURNONLYFSDIRS = &H1
  332. Const BIF_DONTGOBELOWDOMAIN = &H2
  333. Const BIF_STATUSTEXT = &H4
  334. Const BIF_RETURNFSANCESTORS = &H8
  335. Const BIF_VALIDATE = &H20
  336. Const BIF_EDITBOX = &H10
  337. Const OF_READ = &H0
  338. Const OF_WRITE = &H1
  339. Const OF_READWRITE = &H2
  340. Const OF_SHARE_COMPAT = &H0
  341. Const OF_SHARE_EXCLUSIVE = &H10
  342. Const OF_SHARE_DENY_WRITE = &H20
  343. Const OF_SHARE_DENY_READ = &H30
  344. Const OF_SHARE_DENY_NONE = &H40
  345. Const OF_PARSE = &H100
  346. Const OF_DELETE = &H200
  347. Const OF_VERIFY = &H400
  348. Const OF_CANCEL = &H800
  349. Const OF_CREATE = &H1000
  350. Const OF_PROMPT = &H2000
  351. Const OF_EXIST = &H4000
  352. Const OF_REOPEN = &H8000
  353.  
  354. Type GRADIENT_TRIANGLE
  355.     Vertex1 As Long
  356.     Vertex2 As Long
  357.     Vertex3 As Long
  358. End Type
  359.  
  360. Type TRIVERTEX
  361.     X As Long
  362.     Y As Long
  363.     red As Integer
  364.     green As Integer
  365.     blue As Integer
  366.     Alpha As Integer
  367. End Type
  368.  
  369. Type GRADIENT_RECT
  370.     UpperLeft As Long
  371.     LowerRight As Long
  372. End Type
  373.  
  374. Type POINTAPI
  375.    X As Long
  376.    Y As Long
  377. End Type
  378.  
  379. Type OSVERSIONINFO
  380.     dwOSVersionInfoSize As Long
  381.     dwMajorVersion As Long
  382.     dwMinorVersion As Long
  383.     dwBuildNumber As Long
  384.     dwPlatformId As Long
  385.     szCSDVersion As String * 128
  386. End Type
  387.  
  388. Type SHELLEXECUTEINFO
  389.     cbSize As Long
  390.     fMask As Long
  391.     hWnd As Long
  392.     lpVerb As String
  393.     lpFile As String
  394.     lpParameters As String
  395.     lpDirectory As String
  396.     nShow As Long
  397.     hInstApp As Long
  398.     lpIDList As Long
  399.     lpClass As String
  400.     hkeyClass As Long
  401.     dwHotKey As Long
  402.     hIcon As Long
  403.     hProcess As Long
  404. End Type
  405.  
  406. Type TOOLINFO
  407.    cbSize As Long
  408.    uFlags As Long
  409.    hWnd As Long
  410.    uId As Long
  411.    hinst As Long
  412.    lpszText As String
  413. End Type
  414.  
  415. Public Type RECT
  416.    Left As Long
  417.    Top As Long
  418.    Right As Long
  419.    Bottom As Long
  420. End Type
  421.  
  422. Type DevMode
  423.    dmDeviceName As String * CCDEVICENAME
  424.    dmSpecVersion As Integer
  425.    dmDriverVersion As Integer
  426.    dmSize As Integer
  427.    dmDriverExtra As Integer
  428.    dmFields As Long
  429.    dmOrientation As Integer
  430.    dmPaperSize As Integer
  431.    dmPaperLength As Integer
  432.    dmPaperWidth As Integer
  433.    dmScale As Integer
  434.    dmCopies As Integer
  435.    dmDefaultSource As Integer
  436.    dmPrintQuality As Integer
  437.    dmColor As Integer
  438.    dmDuplex As Integer
  439.    dmYResolution As Integer
  440.    dmTTOption As Integer
  441.    dmCollate As Integer
  442.    dmFormName As String * CCFORMNAME
  443.    dmUnusedPadding As Integer
  444.    dmBitsPerPel As Integer
  445.    dmPelsWidth As Long
  446.    dmPelsHeight As Long
  447.    dmDisplayFlags As Long
  448.    dmDisplayFrequency As Long
  449. End Type
  450.  
  451. Type PAINTSTRUCT
  452.    hdc As Long
  453.    fErase As Long
  454.    rcPaint As RECT
  455.    fRestore As Long
  456.    fIncUpdate As Long
  457.    rgbReserved(32) As Byte
  458. End Type
  459.  
  460. Type TOldWndProc
  461.    hWnd As Long
  462.    lPrevWndProc As Long
  463. End Type
  464.  
  465. Type OPENFILENAME
  466.     lStructSize As Long
  467.     hwndOwner As Long
  468.     hInstance As Long
  469.     lpstrFilter As String
  470.     lpstrCustomFilter As String
  471.     nMaxCustFilter As Long
  472.     nFilterIndex As Long
  473.     lpstrFile As String
  474.     nMaxFile As Long
  475.     lpstrFileTitle As String
  476.     nMaxFileTitle As Long
  477.     lpstrInitialDir As String
  478.     lpstrTitle As String
  479.     Flags As Long
  480.     nFileOffset As Integer
  481.     nFileExtension As Integer
  482.     lpstrDefExt As String
  483.     lCustData As Long
  484.     lpfnHook As Long
  485.     lpTemplateName As String
  486. End Type
  487.  
  488. Type PAGESETUPDLG
  489.     lStructSize As Long
  490.     hwndOwner As Long
  491.     hDevMode As Long
  492.     hDevNames As Long
  493.     Flags As Long
  494.     ptPaperSize As POINTAPI
  495.     rtMinMargin As RECT
  496.     rtMargin As RECT
  497.     hInstance As Long
  498.     lCustData As Long
  499.     lpfnPageSetupHook As Long
  500.     lpfnPagePaintHook As Long
  501.     lpPageSetupTemplateName As String
  502.     hPageSetupTemplate As Long
  503. End Type
  504.  
  505. Type CHOOSECOLOR
  506.     lStructSize As Long
  507.     hwndOwner As Long
  508.     hInstance As Long
  509.     rgbResult As Long
  510.     lpCustColors As String
  511.     Flags As Long
  512.     lCustData As Long
  513.     lpfnHook As Long
  514.     lpTemplateName As String
  515. End Type
  516.  
  517. Type LOGFONT
  518.         lfHeight As Long
  519.         lfWidth As Long
  520.         lfEscapement As Long
  521.         lfOrientation As Long
  522.         lfWeight As Long
  523.         lfItalic As Byte
  524.         lfUnderline As Byte
  525.         lfStrikeOut As Byte
  526.         lfCharSet As Byte
  527.         lfOutPrecision As Byte
  528.         lfClipPrecision As Byte
  529.         lfQuality As Byte
  530.         lfPitchAndFamily As Byte
  531.         lfFaceName As String * 31
  532. End Type
  533.  
  534. Type CHOOSEFONT
  535.         lStructSize As Long
  536.         hwndOwner As Long
  537.         hdc As Long
  538.         lpLogFont As Long
  539.         iPointSize As Long
  540.         Flags As Long
  541.         rgbColors As Long
  542.         lCustData As Long
  543.         lpfnHook As Long
  544.         lpTemplateName As String
  545.         hInstance As Long
  546.         lpszStyle As String
  547.         nFontType As Integer
  548.         MISSING_ALIGNMENT As Integer
  549.         nSizeMin As Long
  550.         nSizeMax As Long
  551. End Type
  552.  
  553. Type PRINTDLG_TYPE
  554.     lStructSize As Long
  555.     hwndOwner As Long
  556.     hDevMode As Long
  557.     hDevNames As Long
  558.     hdc As Long
  559.     Flags As Long
  560.     nFromPage As Integer
  561.     nToPage As Integer
  562.     nMinPage As Integer
  563.     nMaxPage As Integer
  564.     nCopies As Integer
  565.     hInstance As Long
  566.     lCustData As Long
  567.     lpfnPrintHook As Long
  568.     lpfnSetupHook As Long
  569.     lpPrintTemplateName As String
  570.     lpSetupTemplateName As String
  571.     hPrintTemplate As Long
  572.     hSetupTemplate As Long
  573. End Type
  574.  
  575. Type DEVNAMES_TYPE
  576.     wDriverOffset As Integer
  577.     wDeviceOffset As Integer
  578.     wOutputOffset As Integer
  579.     wDefault As Integer
  580.     extra As String * 100
  581. End Type
  582.  
  583. Type DEVMODE_TYPE
  584.     dmDeviceName As String * CCHDEVICENAME
  585.     dmSpecVersion As Integer
  586.     dmDriverVersion As Integer
  587.     dmSize As Integer
  588.     dmDriverExtra As Integer
  589.     dmFields As Long
  590.     dmOrientation As Integer
  591.     dmPaperSize As Integer
  592.     dmPaperLength As Integer
  593.     dmPaperWidth As Integer
  594.     dmScale As Integer
  595.     dmCopies As Integer
  596.     dmDefaultSource As Integer
  597.     dmPrintQuality As Integer
  598.     dmColor As Integer
  599.     dmDuplex As Integer
  600.     dmYResolution As Integer
  601.     dmTTOption As Integer
  602.     dmCollate As Integer
  603.     dmFormName As String * CCHFORMNAME
  604.     dmUnusedPadding As Integer
  605.     dmBitsPerPel As Integer
  606.     dmPelsWidth As Long
  607.     dmPelsHeight As Long
  608.     dmDisplayFlags As Long
  609.     dmDisplayFrequency As Long
  610. End Type
  611.  
  612. Type SCROLLINFO
  613.     cbSize As Long
  614.     fMask As Long
  615.     nMin As Long
  616.     nMax As Long
  617.     nPage As Long
  618.     nPos As Long
  619.     nTrackPos As Long
  620. End Type
  621.  
  622. Type ULARGE_INTEGER
  623.   LowPart As Long
  624.   HighPart As Long
  625. End Type
  626.  
  627. Type SHQUERYRBINFO
  628.   cbSize As Long
  629.   i64Size As ULARGE_INTEGER
  630.   i64NumItems As ULARGE_INTEGER
  631. End Type
  632.  
  633. Private Type BROWSEINFO
  634.   hwndOwner      As Long
  635.   pidlRoot       As Long
  636.   pszDisplayName As String
  637.   lpszTitle      As String
  638.   ulFlags        As Long
  639.   lpfnCALLBACK   As Long
  640.   lParam         As Long
  641.   iImage         As Long
  642. End Type
  643.  
  644. Private Type OFSTRUCT
  645.   cBytes     As Byte
  646.   fFixedDisk As Byte
  647.   nErrCode   As Integer
  648.   Reserved1  As Integer
  649.   Reserved2  As Integer
  650.   szPathName As String * 128
  651. End Type
  652.  
  653. Public Type SECURITY_ATTRIBUTES
  654.   nLength              As Long
  655.   lpSecurityDescriptor As Long
  656.   bInheritHandle       As Long
  657. End Type
  658.  
  659. Public Type PROCESS_INFORMATION
  660.   hProcess    As Long
  661.   hThread     As Long
  662.   dwProcessId As Long
  663.   dwThreadID  As Long
  664. End Type
  665.  
  666. Public Type STARTUPINFO
  667.   cb              As Long
  668.   lpReserved      As String
  669.   lpDesktop       As String
  670.   lpTitle         As String
  671.   dwX             As Long
  672.   dwY             As Long
  673.   dwXSize         As Long
  674.   dwYSize         As Long
  675.   dwXCountChars   As Long
  676.   dwYCountChars   As Long
  677.   dwFillAttribute As Long
  678.   dwFlags         As Long
  679.   wShowWindow     As Integer
  680.   cbReserved2     As Integer
  681.   lpReserved2     As Long
  682.   hStdInput       As Long
  683.   hStdOutput      As Long
  684.   hStdError       As Long
  685. End Type
  686.  
  687. Public Enum Priorities
  688.   p_RealTime = &H100
  689.   p_Hight = &H80
  690.   p_Normal = &H20
  691.   p_Idle = &H40
  692. End Enum
  693.  
  694. Public Enum WindowStates
  695.   SW_HIDE = 0
  696.   SW_SHOWNORMAL = 1
  697.   SW_NORMAL = 1
  698.   SW_SHOWMINIMIZED = 2
  699.   SW_SHOWMAXIMIZED = 3
  700.   SW_MAXIMIZE = 3
  701.   SW_SHOWNOACTIVATE = 4
  702.   SW_SHOW = 5
  703.   SW_MINIMIZE = 6
  704.   SW_SHOWMINNOACTIVE = 7
  705.   SW_SHOWNA = 8
  706.   SW_RESTORE = 9
  707.   SW_SHOWDEFAULT = 10
  708.   SW_FORCEMINIMIZE = 11
  709.   SW_MAX = 11
  710. End Enum
  711.  
  712. Public WndProc() As TOldWndProc
  713. Public DevChg As DevMode
  714. Public NumTips As Long
  715.  
  716. Private ExitingProgram As Boolean
  717. Private TaskBarhWnd As Long
  718.  
  719. Dim Error As Long
  720. Dim TheStat As String * 128
  721. Dim Word As Integer
  722. Dim Dword As Long
  723. Dim DByte As Byte
  724. Dim HShort As Integer
  725. Dim Hlong As Long
  726. Dim HInt As Integer
  727. Dim Degrees As Single
  728. Dim Radians As Single
  729. Dim strResult As String
  730. Dim Char As Byte
  731. Dim OFName As OPENFILENAME
  732. Dim CustomColors() As Byte
  733. Dim r As RECT
  734.  
  735. Dim tWnd As Long, bWnd As Long, sSave As String * 250
  736. Function FreeDiskSpace(ByVal Drive As String)  'MODULE 1100
  737.    Dim SectorsPerCluster As Long
  738.    Dim BytesPerSector As Long
  739.    Dim FreeClusters As Long
  740.    Dim NumberOfClusters As Long
  741.    Dim Ret As Long
  742.    Ret = GetDiskFreeSpace(Drive & ":\", SectorsPerCluster, BytesPerSector, FreeClusters, NumberOfClusters)
  743.    FreeDiskSpace = BytesPerSector * SectorsPerCluster * FreeClusters
  744. End Function
  745. Sub MakeDirectory(ByVal Dir As String)  'MODULE 1101
  746.     'Create Path. Parameter: MakeDir (object.property) with an object (text)
  747.     MkDir (Dir)
  748. End Sub
  749. Sub DelTree(ByVal Dir As String)  'MODULE 1102
  750.     'Deletes directory and subdirectories. Parameter: DelTree (object.property) with an object (text: "C:\")
  751.     MsgBox "Delete Directory?", vbYesNo
  752.     If vbYes Then
  753.         RemoveDirectory (Dir)
  754.     End If
  755.     If vbNo Then
  756.         Exit Sub
  757.     End If
  758. End Sub
  759. Sub TimeDateSettingsDialog(u As Single)  'MODULE 1103
  760.     'Parameter: TimeDate(u)
  761.     u = Shell("rundll32.exe shell32.dll,Control_RunDLL timedate.cpl", vbNormalFocus)
  762. End Sub
  763. Sub ModemsSettingsDialog(u As Single)  'MODULE 1104
  764.     'Parameter: Modems(u)
  765.     u = Shell("rundll32.exe shell32.dll,Control_RunDLL modem.cpl", vbNormalFocus)
  766. End Sub
  767. Sub ChangePasswordDialog(u As Single)  'MODULE 1105
  768.     'Parameter: ChangePass(u)
  769.     u = Shell("rundll32.exe shell32.dll,Control_RunDll password.cpl", vbNormalFocus)
  770. End Sub
  771. Sub DesktopSettingsDialog(u As Single)  'MODULE 1106
  772.     'Parameter: Desktop(u)
  773.     u = Shell("rundll32.exe shell32.dll,Control_Rundll Desk.cpl", vbNormalFocus)
  774. End Sub
  775. Function ArcSin(u As Double) As Double  'MODULE 1107
  776.     'Sin^-1 Parameter: object.property = ArcSin(object.property)
  777.     ArcSin = Atn(u / Sqr(u * u + 1))
  778. End Function
  779. Function ArcCos(u As Double) As Double  'MODULE 1108
  780.     'Cos^-1 Parameter: object.property = ArcCos(object.property)
  781.     ArcCos = Atn(-u / Sqr(-u * u + 1)) + 2 * Atn(1)
  782. End Function
  783. Function ArcTan(u As Double) As Double  'MODULE 1109
  784.     'Tan^-1  Parameter: object.property = ArcCos(object.property)
  785.     ArcTan = Atn(u)
  786. End Function
  787. Function Ln(u As Double) As Double  'MODULE 1110
  788.     'Ln Parameter: object.property = Ln(object.property)
  789.     Ln = Log(u)
  790. End Function
  791. Function Exp10(u As Double) As Double  'MODULE 1111
  792.     '10^x Parameter: object.property = Ten(object.property)
  793.     Ten = 10 ^ (u)
  794. End Function
  795. Function Sinh(u As Double) As Double  'MODULE 1112
  796.     'Sinh Parameter: object.property = Sinh(object.property)
  797.     Sinh = (Exp(u) - Exp(-u)) / 2
  798. End Function
  799. Function Cosh(u As Double) As Double  'MODULE 1113
  800.     'Cosh Parameter: object.property = Cosh(object.property)
  801.     Cosh = (Exp(u) + Exp(-u)) / 2
  802. End Function
  803. Function PlayWav(ByVal u As String)  'MODULE 1114
  804.     soundfile1 = u
  805.     sndPlaySound u, 1
  806. End Function
  807. Function Csc(u As Double) As Double  'MODULE 1122
  808.     'Csc Parameter: object.property = Csc(object.property)
  809.     Csc = 1 / Sin(u)
  810. End Function
  811. Function Sec(u As Double) As Double  'MODULE 1123
  812.     'Sec Parameter: object.property = Sec(object.property)
  813.     Sec = 1 / Cos(u)
  814. End Function
  815. Function Cot(u As Double) As Double  'MODULE 1124
  816.     'Cot Parameter: object.property = Cot(object.property)
  817.     Cot = 1 / Tan(u)
  818. End Function
  819. Function Csch(u As Double) As Double 'MODULE 1175
  820.     'Csch Parameter: object.property = Csch(object.property)
  821.     Csch = 1 / Sinh(u)
  822. End Function
  823. Function Sech(u As Double) As Double  'MODULE 1176
  824.     'Sech Paramete: object.property = Sech(object.property)
  825.     Sech = 1 / Cosh(u)
  826. End Function
  827. Function Tanh(u As Double)
  828.     Tanh = Sinh(u) / Cosh(u)
  829. End Function
  830. Function Log10(u As Double)
  831.     Log10 = Ln(u) / Ln(10)
  832. End Function
  833. Function LogX(u As Double, v As Double)
  834.     LogBase = Ln(u) / Ln(v)
  835. End Function
  836. Function ArcCsc(u As Double) As Double
  837.     ArcCsc = 1 / ArcSin(u)
  838. End Function
  839. Function ArcSec(u As Double) As Double
  840.     ArcSec = 1 / ArcCos(u)
  841. End Function
  842. Function ArcCot(u As Double) As Double
  843.     ArcCot = 1 / ArcTan(u) 'Or ArcCot = 1 / Atn(u) < = The standard math function.
  844. End Function
  845. Function Deg2Rad(Degrees)
  846.     Deg2Rad = Degrees * (pi / 180)
  847. End Function
  848. Function Rad2Deg(Radians)
  849.     Rad2Deg = Radians * (180 / pi)
  850. End Function
  851. Sub GradientColor(frm As Form, colStart As Long, colEnd As Long) 'Create a gradient back color
  852.    
  853.    'Example: Me.BackColor = GradientColor(Me, RGB(0,0,0), RGB(255,255,255))
  854.    
  855.    Dim red As Single
  856.    Dim green As Single
  857.    Dim blue As Single
  858.    Dim redStep As Single
  859.    Dim greenStep As Single
  860.    Dim blueStep As Single
  861.    Dim StepInterval As Single
  862.    Dim X As Long
  863.    Dim Ret As Long
  864.    Dim OldMode As Long
  865.    Dim FillArea As RECT
  866.    Dim rTop As Single
  867.    Dim hBrush As Long
  868.    OldMode = frm.ScaleMode
  869.    frm.ScaleMode = vbPixels
  870.    StepInterval = frm.ScaleHeight / 64
  871.    blue = (colStart \ &H10000) And &HFF
  872.    blueStep = (blue - ((colEnd \ &H10000) And &HFF)) / 64
  873.    green = (colStart \ &H100) And &HFF
  874.    greenStep = (green - ((colEnd \ &H100) And &HFF)) / 64
  875.    red = (colStart And &HFF)
  876.    redStep = (red - (colEnd And &HFF)) / 64
  877.    rTop = 0
  878.    FillArea.Left = 0
  879.    FillArea.Right = frm.ScaleWidth
  880.    FillArea.Top = 0
  881.    FillArea.Bottom = StepInterval
  882.    For X = 1 To 64
  883.        hBrush = CreateSolidBrush(RGB(red, green, blue))
  884.        Ret = FillRect(frm.hdc, FillArea, hBrush)
  885.        Ret = DeleteObject(hBrush)
  886.        red = red - redStep
  887.        green = green - greenStep
  888.        blue = blue - blueStep
  889.        rTop = rTop + StepInterval
  890.        FillArea.Top = rTop
  891.        FillArea.Bottom = rTop + StepInterval
  892.    Next
  893. End Sub
  894. Sub ScreenResolution(X As Single, Y As Single) 'Change the Screen Resolution
  895.    Dim u As Boolean
  896.    Dim i&
  897.    i = 0
  898.    Do
  899.        u = EnumDisplaySettings(0&, i&, DevChg)
  900.        i = i + 1
  901.    Loop Until (u = False)
  902.  
  903.    Dim v&
  904.    DevChg.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
  905.    DevChg.dmPelsWidth = X
  906.    DevChg.dmPelsHeight = Y
  907.    v = ChangeDisplaySettings(DevChg, 0)
  908. End Sub
  909. Sub Drag(ByVal uObject As Object)  'Drag an object
  910.     ReleaseCapture
  911.     SendMessage uObject.hWnd, WM_NCLBUTTONDOWN, LP_HT_CAPTION, 0
  912. End Sub
  913. Sub EllipseObject(ByVal Width As Long, ByVal Height As Long, ByVal hWnd As Long)  'Creates an ellptic object.
  914.     Dim Right As Long
  915.     Dim Bottom As Long
  916.     Dim Rgn As Long
  917.     Right = Width / Screen.TwipsPerPixelX
  918.     Bottom = Height / Screen.TwipsPerPixelY
  919.     Rgn = CreateEllipticRgn(0, 0, Right, Bottom)
  920.     SetWindowRgn hWnd, Rgn, True
  921. End Sub
  922. Sub RoundRectObject(ByVal u As Object, ByVal v As Long, ByVal w As Long)  'Creates a rounded rectangular object.
  923.     Dim lRight As Long
  924.     Dim lBottom As Long
  925.     Dim hRgn As Long
  926. With u
  927. lRight = .Width / Screen.TwipsPerPixelX
  928. lBottom = .Height / Screen.TwipsPerPixelY
  929. hRgn = CreateRoundRectRgn(0, 0, lRight, lBottom, v, w)
  930. SetWindowRgn .hWnd, hRgn, True
  931. End With
  932. End Sub
  933. Sub HideStartMenu()  'Hide the start menu button.
  934.     tWnd = FindWindow("Shell_traywnd", vbNullString)
  935.     bWnd = GetWindow(tWnd, GW_CHILD)
  936.     Do
  937.         GetClassName bWnd, sSave, 250
  938.         If LCase(Left$(sSave, 6)) = "button" Then Exit Do
  939.         bWnd = GetWindow(bWnd, GW_HWNDNEXT)
  940.     Loop
  941.     SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW
  942. End Sub
  943. Sub ShowStartMenu()  'Shows the original start menu.
  944.     SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW
  945. End Sub
  946. Function ShowColor(ByVal uObject As Object)  'Creates the color selection dialog.
  947.     Dim cc As CHOOSECOLOR
  948.     Dim Custcolor(16) As Long
  949.     Dim lReturn As Long
  950.  
  951.     cc.lStructSize = Len(cc)
  952.     cc.hwndOwner = uObject.hWnd
  953.     cc.hInstance = App.hInstance
  954.     cc.lpCustColors = StrConv(CustomColors, vbUnicode)
  955.     cc.Flags = 0
  956.     If CHOOSECOLOR(cc) <> 0 Then
  957.         ShowColor = cc.rgbResult
  958.         CustomColors = StrConv(cc.lpCustColors, vbFromUnicode)
  959.     Else
  960.         ShowColor = -1
  961.     End If
  962. End Function
  963. Function ShowOpen(ByVal uObject As Object, ByVal uCaption As String) As String  'Creates the open dialog
  964.     OFName.lStructSize = Len(OFName)
  965.     OFName.hwndOwner = uObject.hWnd
  966.     OFName.hInstance = App.hInstance
  967.     OFName.lpstrFilter = "All Files (*.*)" + Chr$(0) + "*.*" + Chr$(0)
  968.     OFName.lpstrFile = Space$(254)
  969.     OFName.nMaxFile = 255
  970.     OFName.lpstrFileTitle = Space$(254)
  971.     OFName.nMaxFileTitle = 255
  972.     OFName.lpstrInitialDir = "C:\"
  973.     OFName.lpstrTitle = uCaption
  974.     OFName.Flags = 0
  975.  
  976.     If GetOpenFileName(OFName) Then
  977.         ShowOpen = Trim$(OFName.lpstrFile)
  978.     Else
  979.         ShowOpen = ""
  980.     End If
  981. End Function
  982. Function ShowFont(ByVal uObject As Object) As String  'Shows the font dialog.
  983.     Dim cf As CHOOSEFONT, lfont As LOGFONT, hMem As Long, pMem As Long
  984.     Dim fontname As String, retval As Long
  985.     lfont.lfHeight = 0
  986.     lfont.lfWidth = 0
  987.     lfont.lfEscapement = 0
  988.     lfont.lfOrientation = 0
  989.     lfont.lfWeight = FW_NORMAL
  990.     lfont.lfCharSet = DEFAULT_CHARSET
  991.     lfont.lfOutPrecision = OUT_DEFAULT_PRECIS
  992.     lfont.lfClipPrecision = CLIP_DEFAULT_PRECIS
  993.     lfont.lfQuality = DEFAULT_QUALITY
  994.     lfont.lfPitchAndFamily = DEFAULT_PITCH Or FF_ROMAN
  995.     lfont.lfFaceName = "Times New Roman" & vbNullChar
  996.   
  997.     hMem = GlobalAlloc(GMEM_MOVEABLE Or GMEM_ZEROINIT, Len(lfont))
  998.     pMem = GlobalLock(hMem)
  999.     CopyMemory ByVal pMem, lfont, Len(lfont)
  1000.  
  1001.     cf.lStructSize = Len(cf)
  1002.     cf.hwndOwner = uObject.hWnd
  1003.     cf.hdc = Printer.hdc
  1004.     cf.lpLogFont = pMem
  1005.     cf.iPointSize = 120
  1006.     cf.Flags = CF_BOTH Or CF_EFFECTS Or CF_FORCEFONTEXIST Or CF_INITTOLOGFONTSTRUCT Or CF_LIMITSIZE
  1007.     cf.rgbColors = RGB(0, 0, 0)
  1008.     cf.nFontType = REGULAR_FONTTYPE
  1009.     cf.nSizeMin = 10
  1010.     cf.nSizeMax = 72
  1011.  
  1012.     retval = CHOOSEFONT(cf)
  1013.     If retval <> 0 Then
  1014.         CopyMemory lfont, ByVal pMem, Len(lfont)
  1015.         ShowFont = Left(lfont.lfFaceName, InStr(lfont.lfFaceName, vbNullChar) - 1)
  1016.         Debug.Print
  1017.     End If
  1018.     retval = GlobalUnlock(hMem)
  1019.     retval = GlobalFree(hMem)
  1020.     cf.lpTemplateName = uObject.Font
  1021. End Function
  1022. Function SaveDialog(ByVal uObject As Object, ByVal uCaption As String) As String  'Creates the save as Dialog.
  1023.     OFName.lStructSize = Len(OFName)
  1024.     OFName.hwndOwner = uObject.hWnd
  1025.     OFName.hInstance = App.hInstance
  1026.     OFName.lpstrFilter = "All Files (*.*)" + Chr$(0) + "*.*" + Chr$(0)
  1027.     OFName.lpstrFile = Space$(254)
  1028.     OFName.nMaxFile = 255
  1029.     OFName.lpstrFileTitle = Space$(254)
  1030.     OFName.nMaxFileTitle = 255
  1031.     OFName.lpstrInitialDir = "C:\"
  1032.     OFName.lpstrTitle = uCaption
  1033.     OFName.Flags = 0
  1034.     If GetSaveFileName(OFName) Then
  1035.         SaveDialog = Trim$(OFName.lpstrFile)
  1036.     Else
  1037.         SaveDialog = ""
  1038.     End If
  1039. End Function
  1040. Function ShowPageSetupDlg(ByVal uObject As Object) As String  'Page Setup Dialog
  1041.     Dim m_PSD As PAGESETUPDLG
  1042.     m_PSD.lStructSize = Len(m_PSD)
  1043.     m_PSD.hwndOwner = uObject.hWnd
  1044.     m_PSD.hInstance = App.hInstance
  1045.     m_PSD.Flags = 0
  1046.     If PAGESETUPDLG(m_PSD) Then
  1047.         ShowPageSetupDlg = 0
  1048.     Else
  1049.         ShowPageSetupDlg = -1
  1050.     End If
  1051. End Function
  1052. Sub ShowPrinter(frmOwner As Form, Optional PrintFlags As Long)  'Print Dialog
  1053.     Dim PrintDlg As PRINTDLG_TYPE
  1054.     Dim DevMode As DEVMODE_TYPE
  1055.     Dim DevName As DEVNAMES_TYPE
  1056.  
  1057.     Dim lpDevMode As Long, lpDevName As Long
  1058.     Dim bReturn As Integer
  1059.     Dim objPrinter As Printer, NewPrinterName As String
  1060.     PrintDlg.lStructSize = Len(PrintDlg)
  1061.     PrintDlg.hwndOwner = frmOwner.hWnd
  1062.  
  1063.     PrintDlg.Flags = PrintFlags
  1064.     On Error Resume Next
  1065.     DevMode.dmDeviceName = Printer.DeviceName
  1066.     DevMode.dmSize = Len(DevMode)
  1067.     DevMode.dmFields = DM_ORIENTATION Or DM_DUPLEX
  1068.     DevMode.dmPaperWidth = Printer.Width
  1069.     DevMode.dmOrientation = Printer.Orientation
  1070.     DevMode.dmPaperSize = Printer.PaperSize
  1071.     DevMode.dmDuplex = Printer.Duplex
  1072.     On Error GoTo 0
  1073.     PrintDlg.hDevMode = GlobalAlloc(GMEM_MOVEABLE Or GMEM_ZEROINIT, Len(DevMode))
  1074.     lpDevMode = GlobalLock(PrintDlg.hDevMode)
  1075.     If lpDevMode > 0 Then
  1076.         CopyMemory ByVal lpDevMode, DevMode, Len(DevMode)
  1077.         bReturn = GlobalUnlock(PrintDlg.hDevMode)
  1078.     End If
  1079.  
  1080.     With DevName
  1081.         .wDriverOffset = 8
  1082.         .wDeviceOffset = .wDriverOffset + 1 + Len(Printer.DriverName)
  1083.         .wOutputOffset = .wDeviceOffset + 1 + Len(Printer.Port)
  1084.         .wDefault = 0
  1085.     End With
  1086.  
  1087.     With Printer
  1088.         DevName.extra = .DriverName & Chr(0) & .DeviceName & Chr(0) & .Port & Chr(0)
  1089.     End With
  1090.     PrintDlg.hDevNames = GlobalAlloc(GMEM_MOVEABLE Or GMEM_ZEROINIT, Len(DevName))
  1091.     lpDevName = GlobalLock(PrintDlg.hDevNames)
  1092.     If lpDevName > 0 Then
  1093.         CopyMemory ByVal lpDevName, DevName, Len(DevName)
  1094.         bReturn = GlobalUnlock(lpDevName)
  1095.     End If
  1096.  
  1097.     If PrintDialog(PrintDlg) <> 0 Then
  1098.  
  1099.         lpDevName = GlobalLock(PrintDlg.hDevNames)
  1100.         CopyMemory DevName, ByVal lpDevName, 45
  1101.         bReturn = GlobalUnlock(lpDevName)
  1102.         GlobalFree PrintDlg.hDevNames
  1103.         
  1104.         lpDevMode = GlobalLock(PrintDlg.hDevMode)
  1105.         CopyMemory DevMode, ByVal lpDevMode, Len(DevMode)
  1106.         bReturn = GlobalUnlock(PrintDlg.hDevMode)
  1107.         GlobalFree PrintDlg.hDevMode
  1108.         NewPrinterName = UCase$(Left(DevMode.dmDeviceName, InStr(DevMode.dmDeviceName, Chr$(0)) - 1))
  1109.         If Printer.DeviceName <> NewPrinterName Then
  1110.             For Each objPrinter In Printers
  1111.                 If UCase$(objPrinter.DeviceName) = NewPrinterName Then
  1112.                     Set Printer = objPrinter
  1113.                 End If
  1114.             Next
  1115.         End If
  1116.  
  1117.         On Error Resume Next
  1118.         Printer.Copies = DevMode.dmCopies
  1119.         Printer.Duplex = DevMode.dmDuplex
  1120.         Printer.Orientation = DevMode.dmOrientation
  1121.         Printer.PaperSize = DevMode.dmPaperSize
  1122.         Printer.PrintQuality = DevMode.dmPrintQuality
  1123.         Printer.ColorMode = DevMode.dmColor
  1124.         Printer.PaperBin = DevMode.dmDefaultSource
  1125.         On Error GoTo 0
  1126.     End If
  1127. End Sub
  1128. Sub FontSelect(ByVal uObject As Object, ByVal vObject As Object)  'Create the font dialog to select the font of an object.
  1129.     On Error Resume Next
  1130.     uObject.Font = ShowFont(vObject)
  1131. End Sub
  1132. Sub FileOpen(ByVal uObject As Object, ByVal uTitle As String)
  1133.     Dim sFile As String
  1134.     sFile = ShowOpen(uObject, uTitle)
  1135.     If sFile <> "" Then
  1136.         MsgBox "You chose this file: " + sFile  'RichTextBox1.LoadFile OFName.lpstrFile, 1  is used to Open File. Do not erase. This is the example how to open files"
  1137.     Else
  1138.         MsgBox "No file has been selected"
  1139.     End If
  1140. End Sub
  1141. Sub FileSaveAs(ByVal uObject As Object, ByVal uTitle As String)  'Save As Dialog
  1142.     Dim sFile As String
  1143.     sFile = SaveDialog(uObject, uTitle)
  1144.     If sFile <> "" Then
  1145.         MsgBox "Selected File:" + sFile  'RichTextBox1.SaveFile OFName.lpstrFile, 1  is used to Save File. Do not erase."
  1146.     Else
  1147.         MsgBox "No color has been entered."
  1148.     End If
  1149. End Sub
  1150. Sub ColorSelect(ByVal uObject As Object)  'Color selection dialog
  1151.     Dim NewColor As Long
  1152.     NewColor = ShowColor(uObject)
  1153.     If NewColor <> -1 Then
  1154.         uObject.BackColor = NewColor
  1155.     Else
  1156.         MsgBox "No color has been selected.", vbInformation
  1157.     End If
  1158. End Sub
  1159. Sub FlatScrollBarV(ByVal uObject As Object)  'Vertical ScrollBar
  1160.     Dim SI As SCROLLINFO
  1161.     InitializeFlatSB uObject.hWnd
  1162.     FlatSB_SetScrollProp uObject.hWnd, WSB_PROP_VSTYLE, FSB_ENCARTA_MODE, False
  1163.     FlatSB_EnableScrollBar uObject.hWnd, SB_VERT, ESB_DISABLE_UP
  1164.     FlatSB_SetScrollRange uObject.hWnd, SB_VERT, 20, 80, False
  1165.     FlatSB_SetScrollPos uObject.hWnd, SB_VERT, 60, False
  1166.     FlatSB_ShowScrollBar uObject.hWnd, SB_HORZ, False
  1167.     SI.cbSize = Len(SI)
  1168.     SI.fMask = SIF_ALL
  1169.     FlatSB_GetScrollInfo uObject.hWnd, SB_VERT, SI
  1170.     SI.nPos = SI.nPos - 10
  1171.     FlatSB_SetScrollInfo uObject.hWnd, SB_VERT, SI, True
  1172.     Dim RetMin As Long, RetMax As Long
  1173.     FlatSB_GetScrollRange uObject.hWnd, SB_VERT, RetMin, RetMax
  1174.     uObject.AutoRedraw = True
  1175. End Sub
  1176. Sub FlatScrollBarH(ByVal uObject As Object)  'Horizontal ScrollBar
  1177.     Dim SI As SCROLLINFO
  1178.     InitializeFlatSB uObject.hWnd
  1179.     FlatSB_SetScrollProp uObject.hWnd, WSB_PROP_VSTYLE, FSB_ENCARTA_MODE, False
  1180.     FlatSB_EnableScrollBar uObject.hWnd, SB_HORZ, ESB_DISABLE_UP
  1181.     FlatSB_SetScrollRange uObject.hWnd, SB_HORZ, 20, 80, False
  1182.     FlatSB_SetScrollPos uObject.hWnd, SB_HORZ, 60, False
  1183.     FlatSB_ShowScrollBar uObject.hWnd, SB_HORZ, False
  1184.     SI.cbSize = Len(SI)
  1185.     SI.fMask = SIF_ALL
  1186.     FlatSB_GetScrollInfo uObject.hWnd, SB_HORZ, SI
  1187.     SI.nPos = SI.nPos - 10
  1188.     FlatSB_SetScrollInfo uObject.hWnd, SB_HORZ, SI, True
  1189.     Dim RetMin As Long, RetMax As Long
  1190.     FlatSB_GetScrollRange uObject.hWnd, SB_HORZ, RetMin, RetMax
  1191.     uObject.AutoRedraw = True
  1192. End Sub
  1193. Sub RemoveScrollBar(ByVal uObject As Object)  'Destroy the scrollbar
  1194.     UninitializeFlatSB uObject.hWnd
  1195. End Sub
  1196. Function NewStartMenu(ByVal uTitle As String) As String  'Creates a new start button. Under 5 characters.
  1197.     Dim r As RECT
  1198.     Dim aWnd As Long, bWnd As Long, ncWnd As Long
  1199.     aWnd = FindWindow("Shell_TrayWnd", vbNullString)
  1200.     bWnd = FindWindowEx(tWnd, ByVal 0&, "BUTTON", vbNullString)
  1201.     GetWindowRect bWnd, r
  1202.     ncWnd = CreateWindowEx(ByVal 0&, "BUTTON", uTitle, WS_CHILD, 0, 0, r.Right - r.Left, r.Bottom - r.Top, aWnd, ByVal 0&, App.hInstance, ByVal 0&)
  1203.     ShowWindow ncWnd, SW_NORMAL
  1204.     ShowWindow bWnd, SW_HIDE
  1205. End Function
  1206. Sub EmptyRecycleBin(ByVal uObject As Object)  'Empty the recycle bin
  1207.     Dim RBinInfo As SHQUERYRBINFO, Msg As VbMsgBoxResult
  1208.     RBinInfo.cbSize = Len(RBinInfo)
  1209.     SHQueryRecycleBin vbNullString, RBinInfo
  1210.     If (RBinInfo.i64Size.LowPart And &H80000000) = &H80000000 Or RBinInfo.i64Size.HighPart > 0 Then
  1211.         Msg = MsgBox("Your Recycle Bin consumes over 2 GB right now!" + vbCrLf + "Do you want to empty it?", vbYesNo + vbQuestion)
  1212.     Else
  1213.         Msg = MsgBox("Your Recycle Bin consumes" + Str$((RBinInfo.i64Size.LowPart) / 1024) + " KB right now." + vbCrLf + "Do you want to empty it?", vbYesNo + vbQuestion)
  1214.     End If
  1215.     If Msg = vbYes Then
  1216.         SHEmptyRecycleBin uObject.hWnd, vbNullString, 0
  1217.         SHUpdateRecycleBinIcon
  1218.     End If
  1219. End Sub
  1220. Sub RotateText(ByVal uForm As Form, ByVal uDegrees As Long, ByVal uString As String)  'Rotate the text of an object
  1221.     Dim RotateMe As LOGFONT
  1222.     Dim uSize As Long
  1223.     uForm.AutoRedraw = True
  1224.     uSize = 16
  1225.     RotateMe.lfEscapement = uDegrees * 10
  1226.     RotateMe.lfHeight = (uSize * -20) / Screen.TwipsPerPixelY
  1227.     rFont = CreateFontIndirect(RotateMe)
  1228.     Curent = SelectObject(uForm.hdc, rFont)
  1229.     uForm.CurrentX = 500
  1230.     uForm.CurrentY = 200
  1231.     uForm.Print uString
  1232. End Sub
  1233. Function FileProperties(ByVal FileName As String, ByVal hWnd As Long)  'Show the file properties of a sepcified file
  1234.     Dim SEI As SHELLEXECUTEINFO
  1235.     Dim r As Long
  1236.     With SEI
  1237.         .cbSize = Len(SEI)
  1238.         .fMask = SEE_MASK_NOCLOSEPROCESS Or _
  1239.          SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI
  1240.         .hWnd = hWnd
  1241.         .lpVerb = "Properties"
  1242.         .lpFile = FileName
  1243.         .lpParameters = vbNullChar
  1244.         .lpDirectory = vbNullChar
  1245.         .nShow = 0
  1246.         .hInstApp = 0
  1247.         .lpIDList = 0
  1248.     End With
  1249.     r = ShellExecuteEx(SEI)
  1250. End Function
  1251. Function RunDialog(ByVal uCaption As String, ByVal uPrompt As String, ByVal hWnd As Long)  'Shows the run Dialog
  1252.     Dim sTitle As String, sPrompt As String
  1253.     sTitle = uCaption
  1254.     sPrompt = uPrompt
  1255.     If IsWinNT Then
  1256.         SHRunDialog hWnd, 0, 0, StrConv(sTitle, vbUnicode), StrConv(sPrompt, vbUnicode), &H2
  1257.     Else
  1258.         SHRunDialog hWnd, 0, 0, sTitle, sPrompt, &H2
  1259.     End If
  1260. End Function
  1261. Function IsWinNT() As Boolean
  1262.     Dim OSInfo As OSVERSIONINFO
  1263.     OSInfo.dwOSVersionInfoSize = Len(OSInfo)
  1264.     Ret& = GetVersionEx(OSInfo)
  1265.     IsWinNT = (OSInfo.dwPlatformId = 2)
  1266. End Function
  1267. Function AlwaysOnTop(ByVal hWnd As Long)  'Makes a form always on top
  1268.     SetWindowPos hWnd, v(sPTF_RUNee As Long
  1269.     h hWnd, s LLRBinInfo.i64Size.HighPart > 0ong
  1270.     h hWnd, s LLRBinInfo.i64Size.HigwOSVersion    l=.undRectRgn(0, 0, lLLATTtformId = 0, StrCo.lpVerb = "= "Comic Sans MS" hctRgn(0, 0, lLLATT h hWn = "= "Comic Sans MS" idth As Long
  1271.   Verb & = GetVersionEx(OSInfo)
  1272.     IsWinNT = (OOnfo)
  1273.     IUnder 5RotateersiBinInfo.i64SizeD