| Rapid-Q Documentation by William Yu (c)1999 | Appendix A: QREGISTRY |
|
| |
(*) Registry is composed of Keys and SubKeys. Each Key and SubKey (*) can containone or more variables named Values. These Values (*) have a ValueName and a ValueData. (*) Example : (*) Key HKEY_CLASSES_ROOT .Bas\Shell\Open\Command (*) contains a Default value who's ValueName is "" and whose (*) value is "C:\Rapidq\RapidQ.Exe %1" (*) ValueName maybe "AnyName". The default ValueName is "" (*) The Registry can be edited with Regedit.Exe or regedt32.Exe
| Field | Type | R/W | Default |
|
|
|
|
|
| CurrentKey | INTEGER | R | |
| CurrentPath | STRING | R | |
| (*)GetDataSize(ValueName$) | INTEGER | R | |
| (*)GetDataType(ValueName$) | INTEGER | R | |
| HasSubKeys | INTEGER | R | |
| KeyItemCount | INTEGER | R | |
| ValueItemCount | INTEGER | R | |
| RootKey | INTEGER | RW | HKEY_CURRENT_USER |
| Method | Type | Description | Params |
|
|
|
|
|
| CloseKey | SUB | Closes opened key | 0 |
| CreateKey | FUNCTION (Key$) AS INTEGER | Creates a new key in CurrentPath. | 1 |
| DeleteKey | FUNCTION (Key$) AS INTEGER | Deletes key. | 1 |
| DeleteValue | FUNCTION (ValName$) AS INTEGER | Deletes a value data. | 1 |
| KeyExists | FUNCTION (Key$) AS INTEGER | Returns 0 or 1 if key exists. | 1 |
| KeyItem | FUNCTION (Index%) AS STRING | Retrieve the names of the subkeys | 1 |
| MoveKey | FUNCTION (OldKey$, NewKey$, Delete%) | Moves existing key, subkeys, and data values. | 3 |
| OpenKey | FUNCTION (Key$, CanCreate%) | CanCreate specifies whether to create the specified key if it does not exist. | 2 |
| (*)ReadBinary | (*)FUNCTION (ValueName$, Index%) AS BYTE | Return binary value of specified key(Bug : Index must Start at -1) | 2 |
| (*)ReadFloat | FUNCTION (ValueName$) AS DOUBLE | Return double value of specified key | 1 |
| (*)ReadInteger | FUNCTION (ValueName$) AS INTEGER | Return integer value of specified key | 1 |
| (*)ReadString | FUNCTION (ValueName$) AS STRING | Return string value of specified key | 1 |
| RegistryConnect | FUNCTION (CompName$) AS INTEGER | Establishes connection to another computer's registry. | 1 |
| RenameValue | (*)SUB (OldValueName$, NewValueName$) | Renames existing data value. | 2 |
| ValueExists | FUNCTION (ValueName$) AS INTEGER | Returns 0 or 1 if data value Value$ exists. | 1 |
| ValueItem | FUNCTION (Index%) AS STRING | Retrieve the names of the data values | 1 |
| WriteBinary | (*)SUB (ValueName$, BYTE(), Size%) | Write Array of BYTEs in the specified key | 3 |
| WriteFloat | (*)SUB (ValeName$, ValueData#) | Write double value in the specified key | 2 |
| WriteInteger | (*)SUB (ValueName$, ValueData&) | Write integer value in the specified key | 2 |
| WriteString | (*)SUB (ValueName$, ValueData$) | Write string in the specified key | 2 |
(*) Notes : (*) - READ and WRITE requires the mother KEY to be OPENED first with OpenKey(Key) (*) - WRITE subs Create ValueName if it does not exist (*) - MOVEKEY sets undefined ValueDatas of String type to "", which can be a problem. (*) MOVEKEY with Delete% set to one is like renaming a key.
| Event | Type | Occurs when... | Params |
|
|
|
|
|
' Detect if your computer is connected to the internet
Const HKEY_LOCAL_MACHINE = &H80000002
DIM Registry AS QRegistry
Registry.RootKey = HKEY_LOCAL_MACHINE
Registry.OpenKey("System\CurrentControlSet\Services\RemoteAccess", 0)
'(index was 0 originally, but due to ReadBinary bug it must be -1)
IF Registry.ReadBinary("Remote Connection", -1) = 1 THEN
ShowMessage("You're connected!")
ELSE
ShowMessage("You're not connected!")
END IF
Registry.CloseKey '(*)
(*) Lines corrected in april 2004
| Prev Component | Contents | Next Component |