Differences between revisions 5 and 35 (spanning 30 versions)
Revision 5 as of 2008-07-26 21:36:55
Size: 1788
Editor: KaiJaeger
Comment:
Revision 35 as of 2017-06-24 17:08:17
Size: 2960
Editor: KaiJaeger
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was copied from WinReg
Line 2: Line 3:
{{{WinReg}}} is part of the CategoryAplTree project.
Line 3: Line 5:
[[TableOfContents]] <<TableOfContents>>
Line 6: Line 8:
This class offers methods useful to deal with the Windows Registry without using .NET. It uses `⎕NA` calls to the appropriate Windows API.
Line 7: Line 10:
This class offers methods useful to deal with the Windows Registry without using .NET. `WinReg` is a powerful class that offers plenty of methods. If you just want to read, write and/or delete values from the Windows Registry then the much smaller class [[WinRegSimple]] might be sufficient.
Line 10: Line 13:

To understand the names of the methods you need to understand the terminology. If you find the terminology strange: so do I, but it was invented by Microsoft and got widely accepted. That is the reason why I decided to go for it: it makes it easier to understand others while talking about the Windows Registry.
To understand the names of the methods you need to understand the terminology. If you find the terminology strange: so do I, but it was invented by Microsoft and therefore defines the standard. That is the reason why I decided to go for it: it makes it easier to understand the Microsoft documentation but also to understand others while talking about the Windows Registry.
Line 15: Line 17:
[[ImageLink(EditReg.jpg)]] [[attachment:EditReg.jpg|{{attachment:EditReg.jpg|attachment:EditReg.jpg}}]]
Line 17: Line 19:
you can see that this string is visible in the top of the window: you can see this string:
Line 21: Line 23:
at the top of the window.
Line 22: Line 26:

This is called a "Main key". There is a particular number of pre-defined main keys available you can choose from. For the most important one from an application programmers view there is also a shortcut available: Instead of '''HKEY_CURRENT_USER''' you can use '''HKCU'''.
This is called a "Main key". There are a number of pre-defined main keys available you can choose from. There is also a shortcut available: instead of '''HKEY_CURRENT_USER''' you can use '''HKCU'''.
Line 26: Line 29:
This is called a '''sub key'''.
Line 27: Line 31:
This is called a '''subkey'''. On the right side you see a list. The entries in this list are called "values". Therefore '''!CancelKey1''' is a value.
Line 29: Line 33:
On the right side you see a list. The entries in this list are called "value". '''!CancelKey1''' is there a value. The actual data saved under this value is called "data". Note that the '''''names''''' are called values; the actual data saved under a value is called "data".
Line 32: Line 37:
{{{
Close
CopyTree
DeleteSubKey
DeleteSubKeyTree
DeleteValue
DoesKeyExist
DoesValueExist
Close
CopyTree
Copyright
DeleteSubKey
DeleteSubKeyTree
DeleteValue
DoesKeyExist
DoesValueExist
GetAllSubKeyNames
GetAllValueNames
GetAllValues
GetDyalogRegPath
GetErrorAsStringFrom
GetString
GetTree
GetTreeWithValues
GetTypeAsStringFrom
GetValue
History
KeyInfo
ListError
ListReg
OpenAndCreateKey
OpenKey
PutBinary
PutString
PutValue
ReadByte
}}}
Line 33: Line 75:
 * !DeleteSubKey
 * !DeleteValue
 * !DoesKeyExist
 * !DoesValueExist
 * !GetString
 * !GetValue
 * !PutString
 * !PutValue
 * Version
== Restrictions ==
Line 43: Line 77:
Note the following restrictions:
Line 44: Line 79:
== History ==  * `PutValue` supports DWORDs (REG_DWORD)
 * `PutBinary` supports REG_BINARY
 * `PutString` and `GetString` support strings (REG_SZ), nested strings (REG_MULTI_SZ) and expanded strings (REG_EXPAND_SZ)
 * `GetValue` supports all data types.
Line 46: Line 84:
For a full version history: [:WinReg/History: History] Other data types can be requested via `GetValue`; however, writing them is not supported.

== Project Page ==
For bug reports, future enhancements and a full version history see WinReg/ProjectPage
Line 49: Line 90:
||Original author: ||KaiJaeger ||
||Responsible: ||KaiJaeger ||
||Email: || kai@aplteam.com ||
Line 50: Line 94:
||Original author:||KaiJaeger||
||Responsible:||KaiJaeger||
||Email:||kai@aplteam.com||
||Current state:||1.0||

== Download ==
Goto the [:WinRegDownloadPage:WinRegDownloadPage]
<<Include(APLTreeDownloads)>>
Line 59: Line 97:
CategoryOpenSourceApl CategoryAplAplDyalog CategoryAplTree

Dealing with the Windows Registry

WinReg is part of the CategoryAplTree project.

Overview

This class offers methods useful to deal with the Windows Registry without using .NET. It uses ⎕NA calls to the appropriate Windows API.

WinReg is a powerful class that offers plenty of methods. If you just want to read, write and/or delete values from the Windows Registry then the much smaller class WinRegSimple might be sufficient.

Terminology

To understand the names of the methods you need to understand the terminology. If you find the terminology strange: so do I, but it was invented by Microsoft and therefore defines the standard. That is the reason why I decided to go for it: it makes it easier to understand the Microsoft documentation but also to understand others while talking about the Windows Registry.

In this picture:

attachment:EditReg.jpg

you can see this string:

HKEY_CURRENT_USER\Software\Dyalog\Dyalog APL/W 12.0 Unicode\AutoComplete

at the top of the window.

HKEY_CURRENT_USER

This is called a "Main key". There are a number of pre-defined main keys available you can choose from. There is also a shortcut available: instead of HKEY_CURRENT_USER you can use HKCU.

SOFTWARE\Dyalog\Dyalog APL/W 12.0 Unicode

This is called a sub key.

On the right side you see a list. The entries in this list are called "values". Therefore CancelKey1 is a value.

Note that the names are called values; the actual data saved under a value is called "data".

Shared Methods

Close
CopyTree
DeleteSubKey
DeleteSubKeyTree
DeleteValue
DoesKeyExist
DoesValueExist
Close               
CopyTree            
Copyright           
DeleteSubKey        
DeleteSubKeyTree    
DeleteValue         
DoesKeyExist        
DoesValueExist      
GetAllSubKeyNames
GetAllValueNames
GetAllValues
GetDyalogRegPath
GetErrorAsStringFrom
GetString
GetTree
GetTreeWithValues
GetTypeAsStringFrom
GetValue
History
KeyInfo
ListError
ListReg
OpenAndCreateKey
OpenKey
PutBinary
PutString
PutValue
ReadByte

Restrictions

Note the following restrictions:

  • PutValue supports DWORDs (REG_DWORD)

  • PutBinary supports REG_BINARY

  • PutString and GetString support strings (REG_SZ), nested strings (REG_MULTI_SZ) and expanded strings (REG_EXPAND_SZ)

  • GetValue supports all data types.

Other data types can be requested via GetValue; however, writing them is not supported.

Project Page

For bug reports, future enhancements and a full version history see WinReg/ProjectPage

Version Information

Original author:

KaiJaeger

Responsible:

KaiJaeger

Email:

kai@aplteam.com


CategoryAplTree

WinRegSimple (last edited 2018-03-03 11:35:07 by KaiJaeger)