Differences between revisions 25 and 38 (spanning 13 versions)
Revision 25 as of 2011-06-02 07:01:09
Size: 3217
Editor: KaiJaeger
Comment: New version
Revision 38 as of 2018-02-17 16:07:40
Size: 2032
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 =
{{{WinRegSimple}}} is part of the CategoryAplTree project.
Line 7: Line 7:
This class offers methods useful to deal with the Windows Registry without using .NET. This class offers a limited range of methods useful to read, write and delete values from the Windows Registry without using .NET. It uses the [[https://en.wikipedia.org/wiki/Windows_Script_Host|Windows Scripting Host]]. Note that for safety reasons the Windows Script Host might not be available on your Windows box. If that is the case settle for `WinReg`.

For an all-singing-all-dancing class see [[WinReg]] which is much more powerful. However, `WinReg` is a complex and large class. If `WinRegSimple` offers what you need stick with it.
Line 10: Line 12:
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 16: Line 18:
you can see that this string is visible in the top of the window: you can see this string:
Line 20: Line 22:
at the top of the window.
Line 21: Line 25:
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 24: Line 28:
This is called a '''subkey'''. This is called a '''sub key'''.
Line 26: Line 30:
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". 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".
Line 30: Line 37:
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
Read
Write
Delete
Line 60: Line 44:
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 `Write` method supports just two data types: REG_SZ and REG_DWORD.

WinRegSimple: dealing with the Windows Registry

WinRegSimple is part of the CategoryAplTree project.

Overview

This class offers a limited range of methods useful to read, write and delete values from the Windows Registry without using .NET. It uses the Windows Scripting Host. Note that for safety reasons the Windows Script Host might not be available on your Windows box. If that is the case settle for WinReg.

For an all-singing-all-dancing class see WinReg which is much more powerful. However, WinReg is a complex and large class. If WinRegSimple offers what you need stick with it.

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

Read
Write
Delete

Restrictions

The Write method supports just two data types: REG_SZ and REG_DWORD.

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