Differences between revisions 25 and 39 (spanning 14 versions)
Revision 25 as of 2011-06-02 07:01:09
Size: 3217
Editor: KaiJaeger
Comment: New version
Revision 39 as of 2018-03-03 11:35:07
Size: 149
Editor: KaiJaeger
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Dealing with the Windows Registry =
{{{WinReg}}} is part of the CategoryAplTree project.
= WinRegSimple: dealing with the Windows Registry =
Line 4: Line 3:
<<TableOfContents>>

== Overview ==
This class offers methods useful to deal with the Windows Registry without using .NET.

== 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 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.

In this picture:

[[attachment:EditReg.jpg|{{attachment:EditReg.jpg|attachment:EditReg.jpg}}]]

you can see that this string is visible in the top of the window:

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

=== HKEY_CURRENT_USER ===
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'''.

=== SOFTWARE\Dyalog\Dyalog APL/W 12.0 Unicode ===
This is called a '''subkey'''.

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".

== Shared Methods ==
{{{
Close
CopyTree
Copyright
DeleteSubKey
DeleteSubKeyTree
DeleteValue
DoesKeyExist
DoesValueExist
GetAllSubKeyNames
GetAllValueNames
GetAllValues
GetErrorAsStringFrom
GetString
GetTree
GetTreeWithValues
GetTypeAsStringFrom
GetValue
History
KeyInfo
OpenAndCreateKey
OpenKey
PutBinary
PutString
PutValue
Version

}}}

== 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 ||
||Current state: ||2.2.0 ||


== Download ==
You have two options: you can either download the script for usage:

[[http://aplwiki.com/WinReg?action=AttachFile&do=get&target=WinReg.ZIP|Download WinReg script right now]]

or get the whole thing from the AplWikiRepository, including the development workspace and the script and maybe more for any development or for running the test cases:

{{{
svn list svn://aplteam.com/os/dyalog/WinReg/tags
}}}
If you plan to contribute please note that all stuff published as part of the APLAPL project must follow certain [[AplAplStandards|APLAPL-specific standards]].

----
CategoryAplApl
The project has been relocated to [[https://github.com/aplteam/WinRegSimple]] on 2018-03-03.

WinRegSimple: dealing with the Windows Registry

The project has been relocated to https://github.com/aplteam/WinRegSimple on 2018-03-03.

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