	
        <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>

	RRRRRR    AAAA   II  NN  NN  BBBBB    OOOO   WW WW WW    DDDDD   LL       LL
	RR   RR  AA  AA      NNN NN  BB  BB  OO  OO  WW WW WW    DD  DD  LL       LL
	RRRRRR   AAAAAA  II  NN  NN  BBBBB   OO  OO  WW WW WW    DD  DD  LL       LL
	RR  RR   AA  AA  II  NN  NM  BB  BB  OO  OO  WW WW WW    DD  DD  LL       LL
	RR   RR  AA  AA  II  NN  NN  BBBBB    OOOO    WWWWWW     DDDDD   LLLLLLL  LLLLLL

	<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>

	Helpfile for RainbowDLL,  by R.C.K., for version: 1.0.565

	Welcome to the helpfile for RainbowDLL. This helpfile is best viewed in
	800x600-resolution. The best font for this file is Fixedsys (ASCII, PC).
	
	>> In this helpfile...
	*> Contact information

	*> What is RainbowDLL?
	*> Who should read this file?
	*> How do I use it?
	*> Functions?
	*> How do I use the functions?
	*> Versions
	*> Errors
	*> About this file

	Updated: 2000-01-16.

------*	Contact Information for R.C.K.:

	E-mail:		rck@mail.bip.net
	ICQ:		944659	

------* What is RainbowDLL? ----------------------------------------------------------------------

	Well RainbowDLL is an ActiveX DLL that is created to make some API-code in Visual Basic
	easier and more comforttable to use. The DLL contains things that sometimes is needed in
	Visual Basic.

------* Who should read this file? ---------------------------------------------------------------

	*> Well, if youre an user of RainbowDLL and isnt planning to develop anything with 
	   RainbowDLL, then you can quit reading now. =)

	*> If youre interested in developing with RainbowDLL, just continue. =)

------* How do I use it? -------------------------------------------------------------------------

	To use the DLL you need Visual Basic 5 (or higher?). The instructions below is made for
	Visual Basic 5.0 with Service Pack 3 installed.


	There are 2 ways to use the RainbowDLL...

	*> CreateObject-way...
	This is the recommended way.

	1. Make sure RAINBOW.DLL is correctly registered in the system.
	2. In your project, write this to contact RainbowDLL (in a form or in a module...)

		' In Declares
		Public objRDLL as Object

		' In a Function/Sub (Main, Load...)
		Set objRDLL = CreateObject("RainbowDLL.RainbowEngine")	

	3. Now you can use the RainbowDLL functions and subs. Remember to write objRDLL. before 
	   you write the function. As an example:

		objRDLL.SaveString 1, "Software\My Software", "Name", "Lurf"
	
	   by the way, you cant direct-use the Enum:s, write numers instead, like the
	   1 in the example - its the same as rdHKEY_CURRENT_USER. But you cant call 
	   rdHKEY_CURRENT_USER. Use 1. To find out which number each enum has, follow the
	   Resource-way, instructions and have it as an reference, disconnect the reference 
	   when youre finished.

	*> Resource-way...
	This way will cause problems (see error-chapter) when RainbowDLL is updated.

	1. Copy the DLL to a directory on your disk.
	2. Start Visual Basic.
	3. Create a new Standard EXE-project.
	4. Click on the Project-menu and choose References.
	5. Click on the Browse-button.
	6. Locate the Rainbow.dll-file and open this.
	7. Check 'R.C.K. RainbowDLL...' in the list (this is sometimes already done by VB
	   but make sure that this is made).
	8. Click on the OK-button.

	Now youre ready to use the DLL in your projects.

------* Functions? -------------------------------------------------------------------------------

----->> The DLL is based on public functions. Here is a list of them...

	* ByteToString - Convert bytes to strings
	* CDDoor - Control the CD-door on the current music-CD-drive.
	* DeleteKey - Delete Windows Registry key
	* DeleteSysMenuItem - Delete item in the System menu of a form.
	* DeleteValue - Delete Windows Registry value
	* FlashTitle - Flash the titlebar on a form.
	* GetCLSIDProgID - Get CLSID or ProgID.
	* GetCmdLine - Get the full command line.
	* GetDWORD - Get Windows Registry DWORD value.
	* GetIconFromFile - Get icons from files.
	* GetINIData - Get settings from INI files.
	* GetKeyList - Get a list of keys in the system registry.
	* GetMousePosition - Get the mouse X and Y coordinates.	
	* GetString - Get Windows Registry string value.
	* GetSysInfo - Get system information.
	* GetSysTime - Get system time.
	* GetWindowHandle - Get handle for windows.
	* GetWindowHandleMore - Get more handle by using the GetWindowHandle function.
	* GetWindowSize - Get the size of a window.
	* GetWinPath - Get the special Windows paths.
	* GetWinRunTime - Get the running time of the Windows session.
	* GetWinWorkingArea - Get the free area on the screen (not covered by taskbars). 
	* HangUp - Hang up DUN (Internet) connection.
	* ListKeys - Get a list of keys in the system registry.
	* MoveWindow - Let the user move and resize a form without any titlebar.
	* PlayScreenSaver - Turn off/on CTRL+ALT+DEL.
	* RandomNumber - Get a random number.
	* RDI - Get info about RainbowDLL.
	* RegisterService - Remove your project from the CTRL+ALT+DEL-window.
	* SaveDWORD - Save Windows Registry DWORD value
	* SaveINIData - Save settings to INI files.
	* SaveKey - Save Windows Registry key
	* SaveString - Save Windows Registry string value
	* ScrollText - Scroll a textbox.
	* SetAlwaysOnTop - Set a window to always on top.
	* SetDesktopSettings - Set the settings for the desktop.
	* SetHandleText - Set text by using handle.
	* SetMenuIcon - Set 13x13 icons in menus.
	* SetWinColors - Set the Windows colors.
	* SetWindowSize - Set the size of a window.
	* ShellHandle - Shell an application and get handle handle for it.
	* StartScreenSaver - Start the Windows screen saver
	* Wait - Wait x seconds in code
	* VerifyFile - Verify if a file exist.
	
----->> Some functions are no longer in the Rainbow DLL...
	
	* NoTaskman - Hide the project in the Taskmanager. ^beta^
	-> Added in version:   1.0.1
	-> Removed in version: 1.0.3
	-> Why Removed: The function didnt work.
	* HideMouse - Hide the mouse.
	-> Added in version:   1.0.2
	-> Removed in version: 1.0.3
	-> Why Removed: The function didnt work.
	* GetSystemPath - Get the Windows System path.
	-> Added in version: 1.0.1 - 1.0.2
	-> Removed in version: 1.0.3
	-> Why Removed: The function has been replaced by GetWinPath.
	* Get CurrentUser - Ge the current user.
	-> Added in version:  1.0.0
	-> Removed in version: 1.0.563
	-> Why removed: The function has been included in GetSysInfo (as rdUserName).
	* FormOnTop - Set a window to always on top.
	-> Added in version: 
------* How do I use the functions? --------------------------------------------------------------

--------* ByteToString:

	' Convert Byte to String:
	ByteToString BytString

	' Example:
	MsgbBox RainbowDLL.ByteToString(TheByte)

--------* CDDoor:

	' Open:
	CDDoor True
	
	' Close:
	CDDoor False

--------* DeleteKey:

	' Delete a key in the Windows Registry:
	DeleteKey HKEY, "The Key\The SubKeys\The SubKeys"
	
	' Example:
	DeleteKey rdHKEY_CURRENT_USER, "Software\Microsoft"
--------* DeleteSysMenuItem:

	' Delete a item in the System menu of a form:
	DeleteSysMenuItem TheForm, ItemNr, ResetSysMenu

	' Example:
	DeleteSysMenuItem Form1.hWnd, 0, False

--------* DeleteValue:

	' Delete a value in the Windows Registry:
	DeleteValue HKEY, "The Key\The SubKeys\The SubKeys", "The Value"
	
	' Example:
	DeleteValue rdHKEY_CURRENT_USER, "Software\Microsoft", "Test"

--------* FlashTitle:

	' Flash title (works best in a timer...)
	FlashTitle Handle
	
	' Example (needs an form): 
	FlashTitle Me.hWnd
	
--------* GetCLSIDProgID:

	' Get CLSID or ProgID:

	GetCLSIDProgID GetType Value

	' Example:

	MsgBox GetCLSIDProgID(rdProgIDtoCLSID,"RainbowDLL.RainbowEngine")

--------* GetCmdLine:

	' Get the full command line:
	GetCmdLine

	' Example:
	MsgBox GetCmdLine

--------* GetMousePosition:

	' Get Mouse X and Y Position:
	GetMousePosition Value	

	' Get Mouse Position, X:
	GetMousePosition rdGetX  
	' Get Mouse Position, Y:
	GetMousePosition rdGetY

	' Example:
	MsgBox GetMousePosition(rdGetX) & ", " & GetMousePosition(rdGetY)

--------* GetStartupMode:

	' Get the startup mode for Windows:
	GetStartupMode TextReturn

	' Example:
	MsgBox GetStartupMode(True)

	' >> Note: If you set the TextReturn value to true will the return value be in text,
	' you can get Normal, Safe Mode and Safe Mode with Network.
	' Without TextReturn = True you will get a number ...
	' Safe Mode - 1
	' Safe Mode with Network - 2   
	' Normal - 3

--------* GetDWORD:

	' Get DWORD value from the Windows Registry:
	GetDWORD Hkey, "The Key\The Subkey\The Subkeys", "The Value"
	
	' Example:
	MsgBox GetDWORD(rdHKEY_CURRENT_USER, "Software\Microsoft", "Test")
--------* GetIconFromFile

	' Get icons from files

	GetIconFromFile FileName, IconIndex, IconSize32

	' Example:

	Picture1.Picture = GetIconFromFile("C:\WINDOWS\SYSTEM\SHELL32.DLL", 7, True)

	' Note that this example requires that Standard Ole types is checked in References, and 
	a standard project with a pcicturebox named Picture1.

--------* GetINIData

	' Get settings from INI files in the Windows Directory.
	GetINIData "Inifile.ini", "Section", "Entry", "DefaultValue"

	' Example:
	MsgBox "Current Shell: " & GetINIData("system.ini","boot","shell","")

--------* GetKeyList:

	' Get a list of keys in the system registry:
	' GetKeyList(rdCountKeys, HKEY, strPath, KeyNr)

	' Example:  This example will give the number of keys in HKEY_CURRENT,USER\Software.
	MsgBox GetKeyList(rdCountKeys, rdHKEY_CURRENT_USER, "Software", 0)
	
	' Example:  This example will give the name of the key that has number 1 
	' in HKEY_CURRENT,USER\Software.
	MsgBox GetKeyList(rdGetKeyByNr, rdHKEY_CURRENT_USER, "Software", 1)

--------* GetString:

	' Get String value from the Windows Registry:
	GetString HKEY, "The Key\The Subkeys\The Subkeys", "The Value"

	' Example: 
	MsgBox GetString(rdHKEY_CURRENT_USER, "Software\Microsoft", "Test")

--------* GetSysInfo:

	' Get system information:
	GetSysInfo Value

	' Example:
	MsgBox GetSysInfo(rdProcessorType)

	' Note: Replace rdProcessorType with any other argument if you like:

	' rdOEMID
	' rdPageSize
	' rdMinAppAddress
	' rdMaxAppAddress
	' rdActiveProcessorMask
	' rdNrOfProcessors
	' rdProcessorType
	' rdAllocationGranularity
	' rdReserved
	' rdUserName
	' rdComputerName

--------* GetSysTime:

	' Get system time:
	GetSysTime Value

	' Example:
	MsgBox GetSysTime(rdMilliSecond)

	' Note: Replace rdMilliSecond with another argument if you like to.
	' rdDay - Day
	' rdDayOfWeek - Day of week
	' rdHour - Hour
	' rdMilliSecond - Millisecond
	' rdMinute - Minute
	' rdMonth - Month
	' rdSecond - Second
	' rdYear - Year

--------* GetWindowHandle:

	' Get handle for a window by using the title of the window or the class name.
	GetWindowHandle WindowTitle, WindowClassName
	
	' Example:
	MsgBox GetWindowHandle("Run", vbNullString)

	' NOTE: Open the Run-dialog before testing the example, otherwise you will get 0 in the
	' messagebox, change the "Run"-text to another window title to get handle for another window.

--------* GetWindowHandleMore:

	' Get more handle by using the GetWindowHandle function. Like a button in a window.
	GetWindowHandleMore Handle1, Handle2, Text1, Text2

	' Example:
	MsgBox GetWindowHandleMore(GetWindowHandle("Run", vbNullString), 0&, vbNullString, "OK")
	
	' NOTE: Open the Run-dialog before testing the example, otherwise you will get 0 in the
	' messagebox, change the "Run"-text to the title of the window you want handle for.
	' Change the "OK"-text to the object you want handle for. 

--------* GetWindowSize:

	' Get size of a window:
	GetWindowSize Handle, PosType, CalcFix

	' Example:
	MsgBox GetWindowSize(GetWindowHandle("Run", vbNullString), rdTop, True)

	' NOTE: Open the Run-dialog before testing the example, otherwise you will get 0 in the
	' messagebox, change the "Run"-text to the title of the window you want to use.
	' You can use change the rdTop to get other values...

	' rdBottom - Get the bottom (Height) y position.
	' rdLeft - Get the left x position.
	' rdRight - Get the right (Width) x position.
	' rdTop - Get the top y position

	' The CalcFix makes this automaticly if it is set to True:
	' rdRight - rdLeft - When using the rdRight
	' rdBottom - rdTop -  When using the rdBottom
	' This lets you get the size of a window without and big trouble, test it, use the 
	' function with and without the CalcFix, you may see the difference... =)

--------* GetWinPath:

	' Get the special paths for Windows:
	GetWinPath ThePath

	' Example:
	MsgBox GetWinPath(rdWindowsPath)

	' Names of paths:
	rdWindowsPath - Windows path
	rdTempPath - Temp path
	rdSystemPath - System Path

--------* GetWinRunTime:

	' Get the running time of tthe Windows session:
	GetWinRunTime Value

	' Example:
	MsgBox RainbowDLL.GetWinRunTime(rdMinutes)

	' You may replace rdMinutes with rdDays, rdHours or rdSeconds if you want days, hours or
	' seconds.
 

--------* GetWinWorkingArea:

	' Get the free area of the screen (not covered by taskbars):
	GetWinWorkingArea WorkingAreaType

	' Example:
	MsgBox GetWinWorkingArea(rdBottom, True)

	' You may replace rdBottom with rdTop, rdLeft and rdRight. The last setting controls if
	' Twips should be used or not.
	
--------* HangUp:

	' Hang up DUN (Internet) Connection:
	HangUp

--------* MoveWindow:

	' Move Window:
	MoveWindow Me.hWnd, rdWCaption

	' Resize from bottom:
	MoveWindow Me.hWnd, rdWBottom

	' Resize from bottom-left:
	MoveWindow Me.hWnd, rdWBottomLeft

	' Resize from bottom-right:
	MoveWindow Me.hWnd, rdWBottonRight

	' Resize from left:
	MoveWindow Me.hWnd, rdWLeft

	' Resize from right:
	MoveWindow Me.hWnd, rdWRight

	' Resize from top:
	MoveWindow Me.hWnd, rdWTop

	' Resize from top-left:
	MoveWindow Me.hWnd, rdWTopLeft

	' Resize from top-right:
	MoveWindow Me.hWnd, rdWTopRight

--------* PlayScreenSaver:

	' Play screensaver (Disable/Enable CTRL+ALT+DEL):
	PlayScreenSaver Value	

	' Turn off CTRL+ALT+DEL:
	PlayScreenSaver True
	' Turn on CTRL+ALT+DEL:
	PlayScreenSaver False

--------* RandomNumber:

	' Random a number:
	RandomNumber Upper, Lower

	' Example:
	MsgBox RainbowDLL.RandomNumber(99, 1)

--------* RDI (Rainbow DLL Information):

	' Get comments:
	RDI RDComments

	' Get company name:
	RDI RDCompanyName

	' Get filename	
	RDI RDEXEName

	' Get file description:
	RDI RDFileDescription

	' Get legal copyright:
	RDI RDLegalCopyright

	' Get legal trademarks:
	RDI RDLegalTrademarks

	Get major version:
	RDI RDMajorVersion

	' Get minor version:
	RDI RDMinorVersion

	' Get path:
	RDI RDPath

	' Get product name:
	RDI RDProductName

	' Get revision version:
	RDI RDRevisionVersion

	' Get title:
	RDI RDTitle

	' Example:
	Dim Talk As String
	Talk = Talk & vbCrLf & "Title..."
	Talk = Talk & vbCrLf & RDI(RDTitle)
	Talk = Talk & vbCrLf & ""
	Talk = Talk & vbCrLf & "Product name..."
	Talk = Talk & vbCrLf & RDI(RDProductName)
	Talk = Talk & vbCrLf & ""
	Talk = Talk & vbCrLf & "Comments..."
	Talk = Talk & vbCrLf & RDI(RDComments)
	Talk = Talk & vbCrLf & ""
	Talk = Talk & vbCrLf & "Company name..."
	Talk = Talk & vbCrLf & RDI(RDCompanyName)
	Talk = Talk & vbCrLf & ""
	Talk = Talk & vbCrLf & "Filename..."
	Talk = Talk & vbCrLf & RDI(RDEXEName) & ".dll"
	Talk = Talk & vbCrLf & ""
	Talk = Talk & vbCrLf & "File description..."
	Talk = Talk & vbCrLf & RDI(RDFileDescription)
	Talk = Talk & vbCrLf & ""
	Talk = Talk & vbCrLf & "Copyright..."
	Talk = Talk & vbCrLf & RDI(RDLegalCopyright)
	Talk = Talk & vbCrLf & ""
	Talk = Talk & vbCrLf & "Trademark..."
	Talk = Talk & vbCrLf & RDI(RDLegalTrademarks)
	Talk = Talk & vbCrLf & ""
	Talk = Talk & vbCrLf & "Version..."
	Talk = Talk & vbCrLf & RDI(RDMajorVersion) & "." & _
	RDI(RDMinorVersion) & "." & RDI(RDRevisionVersion)
	Talk = Talk & vbCrLf & ""
	Talk = Talk & vbCrLf & "Path..."
	Talk = Talk & vbCrLf & RDI(RDPath)
	MsgBox Talk, vbOKOnly + vbInformation, RDI(RDTitle)
	
--------* RegisterService:

	' Register/Unregister project:
	RegisterService Value

	' Register your project as a service and remove it from the
	' CTRL+ALT+DEL-window:
	RegisterService True

	' Unregister your project and put it in the CTRL+ALT+DEL-window:
	RegisterService False

--------* SaveDWORD:

	' Save DWORD value to the Windows Registry:
	SaveDWORD HKEY, "The Keys\The Subkeys\The Subkeys", "The Value", "The Data"

	' Example:
	SaveDWORD rdHKEY_CURRENT_USER, "Software\Microsoft", "Test", 7

--------* SaveINIData:

	' Save settings to INI files in the Windows directory.
	SaveINIData "Inifile.ini", "Section", "Entry", "Value"

	' Example:
	SaveINIData "system.ini", "boot", "shell", "progman.exe"

--------* SaveKey:

	' Save key in the Windows Registry:
	SaveKey HKEY, "The Keys\The Subkeys\TheSubkeys"

	' Example:
	SaveKey rdHKEY_CURRENT_USER, "Software\Test"

--------* SaveString:
	
	' Save string value to the Windows Registry:
	SaveString HKEY, "The Keys\The Subkeys\The subkeys", "The Value", "The Data"

	' Example:
	SaveString rdHKEY_CURRENT_USER, "Software\Microsoft", "Test", "Test"

--------* ScrollText:

	' Scroll Textbox:
	ScrollText TheObject, Value

	' Scroll down a textbox one line (replace Textbox with your textbox name):
	ScrollText Textbox.hWnd, rdLineDown

	' Scroll up a textbox one line (replace Textbox with your textbox name):
	ScrollText Textbox.hWnd, rdLineUp

	' Scroll down a textbox one page (replace Textbox with your textbox name):
	ScrollText Textbox.hWnd, rdPageDown

	' Scroll up a textbox one page (replace Textbox with your textbox name):
	ScrollText Textbox.hWnd, rdPageUp

--------* SetAlwaysOnTop:

	' Always On Top:
	SetAlwaysOnTop Handle, OnTop

	' AlwaysOnTop On:
	SetAlwaysOnTop Me.hWnd, True
	' AlwaysOnTop Off:
	SetAlwaysOnTop Me.hWnd, False

--------* SetDesktopSettings:

	' Set Desktop Settings:
	SetDesktopSettings ToDo, Value

	' Example: This example disable the desktop (explorer must be running as shell)
	SetDesktopSettings rdEnableDesktop, False

	' Example: This example hides the desktop icons(explorer must be running as shell)
	SetDesktopSettings rdShowIcons, False
	
--------* SetHandleText:

	' Set text by using handle. Like a title of a window.
	SetHandleText Handle, HandleText

	' Example:
	SetHandleText GetWindowHandle("Run", vbNullString), "BANG!"

	' NOTE: Open the Run-dialog before testing the example, otherwise it wont work.
	' change the "Run"-text to the title of the window you want to use, change the "BANG!"-
	' text to the text you want. (The example changes the title of the Run-dialog)

--------* SetMenuIcon:

	' Set 13x13 pixel icons in menus:
	SetMenuIcon SubMenus, TheForm, MenuNr, SMenuNr, SSMenuNr, SSSMenuNr, SSSSMenuNr, CheckedIcon, Uncheckedicon

	' >> Explanation:
	'The value 'SubMenus' controls if the icons should be set in a menu that is a 1:st line 
	'submenu, the 2:th line submenu, the 3:th line submenu of 4:th line submenu.
	'The value 'TheForm' sets the Form where the menus should be found.
	'The value 'MenuNr' controls which topmenu that should contain the submenus (where the
	'icons should be set). The value 'SMenuNr' controls which submenu under the topmenu that 
	'RainbowDLL should go to to or set an icon in. The value 'SSMenuNr' does the same as the 
	'SMenuNr, but this value controls the next submenus, the value 'SSMenuNr' does the same in
	'the next submenu line under the 'SMenuNr'. The two other values, 'SSSMenuNr' and 
	'SSSSMenuNr' does the same, just one more line down again. The value CheckedIcon sets the 
	'checked icon in the menu, this is the icon that is showed when the menu is checked. The
	'value 'UncheckedIcon' sets the icon when the menu is unchecked. To set an icon for a menu 
	'without the checkvalues, just enter the same icon in the both values for the icons.
		
	' Example:
	' This example needs a form with a topmenu, and two menu items under this, the "bottom"-
	' menu item of those menu items should contain a new menu item under this.
	' >> ASCII Map (this is what it should look like in the menu editor...):

	' Top Menu
	' ---Submenu A
	' ---SubMenu B
	' ------SubMenu C 
	
	' The example do also need an Image with a 13x13 pixel icon. Replace the Image1 
	' with the name of this (if it has got a new name).

	' Set icon on the SubMenu A
	SetMenuIcon rdSubMenu, Me.hWnd, 0, 0, 0, 0, 0, Image1.Picture, Image1.Picture
	' Set icon on the SubMenu C
	SetMenuIcon rdSubSubmenu, Me.hWnd, 0, 1, 0, 0, 0, Image1.Picture, Image1.Picture

	' The example do also need an Image with a 13x13 pixel icon. Replace the Image1 
	' with the name of this (if it has got a new name).

--------* SetWinColors: 

	' Set Windows colors:
	SetWinColors WinObjectobject, ColorNr

	' Example:
	SetWinColors rdActiveBorder, RGB(0, 0, 0)

	' Note: Replace rdActiveBorder with the object you like to to change.
--------* SetWindowSize:

	' Set the size of a window:
	SetWindowSize Handle, TopSize, LeftSize, WidthSize, HeightSize, RepaintWnd

	' Example:
	SetWindowSize Me.hWnd, 100, 100, 100, 100, 1
	
	' NOTE: The example needs a project with an form.

--------* StartScreenSaver:

	' Start the Windows screen saver:
	StartScreenSaver TheForm

	' Example:
	StartScreenSaver Me.hWnd

--------* Wait:

	' Wait x seconds in code:
	Wait Value

	Example:
	' This will wait 7 seconds in the code...
	Wait 7
			
--------* VerifyFile:

	' Verify if a file exist, returns a True if it exist, otherwise a False:
	VerifyFile Value
	
	' Example:
	Dim Talk As String
	Dim TalkReturn As Boolean
	Talk = InputBox("Please enter path and filename to to a file ..", _
	"Verify if a file exist..", "Notepad.exe")
	Select Case Talk
	Case ""
		MsgBox "You didnt enter a filename...", _
		vbOKOnly + vbExclamation, "..."
	Case Else
    		TalkReturn = VerifyFile(Talk)
    	
		Select Case TalkReturn
    		Case True
        		MsgBox "File: '" & Talk & "' exist.", _
        		vbOKOnly + vbInformation, "..."
    		Case False
        		MsgBox "File: '" & Talk & "' doesnt exist.", _
        		vbOKOnly + vbInformation, "..."
   		Case Else
        		MsgBox "Unknown return: " & TalkReturn, _
        		vbOKOnly + vbInformation, "..."
   		End Select
	End Select 

------* Versions:

	(xx = forgotten numbers... =(  )

------* 1.0.0 --> 1998.12.xx - 1999.01.xx

	The DLL is created to contain some functions that I often use in my applications, and I
	want to try my knowledge in ActiveX DLL creating. This is the second DLL (the first is
	called LurfDLL, this doesnt work so good). The RainbowDLL does only contain some basic 
	functions, mostly of the functions are taken from a tip-file with API-code that Ive made
	when I searched hints for Visual Basic on the net.

------*	1.0.1 --> 1999.01.xx - 1999.02.xx

	Some new functions are added... 
	* MoveWindow - Move and resize forms without a titlebar.

------* 1.0.2 --> 1999.02.xx - 1999.02.16

	Some bugs are fixed and some new functions are added.
	* MoveWindow - Updated!
	* StartScreenSaver - Start the Windows screen saver

------* 1.0.3 --> 1999.02.16 -  1999.02.28

	Note: from version 1.0.3 has the dll got new names on the enum:s, all enum:s has got 'rd'
	in the name of the values. This makes the DLL sometimes uncompatible with older versions,
	so, if you used the DLL before this version, please check the code and try to fix the 
	errors. Use the Search-function in VB to bugfix your projects.

	New info text about the dll.

	>> New functions added...
	* ByteToString - Convert bytes to strings
	* DeleteKey - Delete Windows Registry keys
	* DeleteValue - Delete Windows Registry values
	* GetDWORD - Get Windows Registry DWORD values
	* GetString - Get Windows Registry string values
	* GetWinPath - Get the special Windows paths
	* HangUp - Hang up DUN (Internet) connection
	* SaveDWORD - Save Windows Registry DWORD values
	* SaveKey - Save Windows Registry keys
	* SaveString - Save Windows Registry string values
	* SetMenuIcon - Set 13x13 icons in menus
	* SetWinColors - Set the Windows colors
	* Wait - Wait x seconds in code
	>> Old functions updated...
	* GetMousePosition - Get mouse x and y position.
	* ScrollText
	>> Replaced functions:
	* GetSystemPath - Get the system path
	--> Replaced with: GetWinPath
	>> Dead functions removed...
	* NoTaskman - Hide application in the Taskman
	* HideMouse - Hide mouse

------* 1.0.4 --> 1999.02.28 - 1999.02.06

	>> New functions added...
	* GetINIData - Get settings from INI files.
	* GetWinRunTime - Get Windows session running time.
	* GetWinWorkingArea - Get the area of the screen (not covered by taskbars).
	* SaveINIData - Save settings to INI files.

------* 1.0.5 --> 1999.03.06
        
        >> New functions added...
	* DeleteSysMenuItem - Delete item in the System Menu of a form.

------* 1.0.52 --> 1999.04.09

	>> New functions added...
	* GetWindowHandle - Get handle for windows.
	* GetWindowHandleMore - Get more handle by using the GetWindowHandle function.
	* SetHandleText - Set text by using handle.

------* 1.0.53 --> 1999.05.13

	>> New functions added...
	* GetWindowSize - Get the size of a window...
	* SetWindowSize - Set the size of a window...

------* 1.0.54 --> 1999.05.19

	>> New functions added...
	* ShellHandle - Start an application and get handle the handle for it.
	>> Many functions are rebuilt/changed (in the DLL, not outside it).

------* 1.0.55 --> 1999.05.29

	>> New functions added...
	* GetSysTime - Get system time.

------* 1.0.56 --> 1999.06.02

	>> New functions added...
	* GetSysInfo - Get system information.
	>> Many functions are rebuilt/changed (in the DLL, not outside it).
	>> Helpfile checked/updated.

------* 1.0.561--> 1999.09.03

	>> New functions added...
	* GetCmdLine - Get the full command line.

------* 1.0.562 -> 1999.09.04

	>> File name change: Changed from RAINBOWDLL.DLL to RAINBOW.DLL.

------* 1.0.563 -> 1999.10.17

	>> New functions added...
	* GetSysInfo -> rdUserName and rdComputerName - Get User Name and Computer Name!
	(rdUserName and rdComputerName are zero-optimized now... =)
	* SetDesktopSettings - Set the settings for the desktop.
	* GetKeyList - Get a list of keys in the system registry.
	>> Replaced functions:
	* GetCurrentUser - Get the current user.
	--> Replaced with: rdUserName in GetSysInfo.
	* FormOnTop - Set a window to always on top.
	--> Replaced with: SetAlwaysOnTop.
------* 1.0.564 -> 1999.11.05

	GetDWORD, SaveDWORD and GetKeyList are working again!
	The problem were some wrong constants.

------* 1.0.565 -> 2000.01.16

	>> New functions added...
	* GetCLSIDProgID -> rdCLSIDProgID - Get CLSID / ProgID.
	* GetIconFromFile - Get icons from files.

------* Errors:

	Here you will find errors than can be found when using RainbowDLL...

	* Error 462: ActiveX component cant be created.
	This is an common error, and it appears because of that RainbowDLL is in an older or newer 
	version than the application expected. The old solve for this problem is to
	re-build the application with the newer version of RainbowDLL or replace the old 
	RainbowDLL with a newer version.

	The new solve is to use 

	Dim objRDLL as Object
	Set objRDLL = CreateObject("RainbowDLL.RainbowEngine")

	to use RainbowDLL, see higher up in this file how to use RainbowDLL without connecting it 
	in the "References".

	* Other errors: If you get an error message from RainbowDLL when using some of the 
	functions, and it seems like the RainbowDLL has got some internal error, then tell me
	so I can fix it. Thanks.

------* About This File:

	Note that this file is not so often updated as the RainbowDLL is. So to find out the 
	latest enums for an example, use the Object Browser in VB to find out. Trial and error! =)
