EasyReg


EasyReg

EasyReg is Light-weight and fast COM component for Visual Basic 6 and ASP developers that gives you access to the Windows System Registry API.



EasyReg Overview

The system registry is the central storage for all configuration data. The Windows system configuration, the computer hardware configuration, configuration information about Win32-based applications, and user preferences are all stored in the registry.

The registry contains ordered pairs of keys and their associated values that are manipulated through the Win32 registry application programming interfaces (APIs). For example, the registry might have a Wallpaper key with an associated value of Work.bmp, meaning that the current desktop background is configured to use the Work bitmap.

The EasyReg component allows you to read and write registry keys and values to the system registry. The new EasyReg is small and fast. It does not depend on any external library, but still maintains the powerfull COM interface to allow scripting languages (such as MS Visual Basic) and scripting capable languages (such as C++) easy access to its functions.

EasyReg Features

-Easy interface to System Registry.
- Light-weight COM object.
- You get access to the Registry through 4 objects: RegNode, RegValue and the 2 collections RegNodes and RegValues. Only two data types are supported. Integers (32 bit) and strings. The expandable data string (REG_EXPAND_SZ) can be read, but if you write it back to the Registry it will be written as a regular string! Binary data is not supported.

EasyReg Source Code

It's almost entirely generated with the ATL Wizard and the build-in class-wizard. HTML Help documentation generated with my DocWizard wizard for MSVC++ 6.0.
The following sample shows how to use the objects:
Dim node As New RegNode
Dim value As RegValue

    Call node.Set(HKEY_CURRENT_USER, "SOFTWARE\Baan\Configuration")
    Set value = node.Values("MediaPath")
    Debug.Print value.Name & ": " & value.Value
    Set value = Nothing
    Set node = Nothing

Source Code Dependencies

- Microsoft Visual C++ 6.0
- Microsoft ATL Library
- Microsoft HTML Help Workshop

Installation Guide

Copy the DLL to a directory of your choice and register it using the REGSVR32 utility.

EasyINI and EasyNLS Component

EasyINI is Light-weight and fast COM component for Visual Basic 6 and ASP developers. Gives you access to the Windows .INI configuration file API. You can not only read and write entries in any file, but also enumerate the sections available, the keys in each section and even retrieve the complete section text.

Almost any simple data type can be written to the .INI file. The data will be passed as a VARIANT argument and the ::VariantChangeType() API is then used to handle coercion between the fundamental types. When data is read from the .INI file, a string is always returned. You may convert the data afterwards.

The EasyNLS component implements a few needed objects and functions, which allows Visual Basic programmers to easily master the hassles of National Language Support (NLS).
The Locale object wraps the Locale specific functions in Windows. A locale is a collection of language-related user preference information. Windows has at least one installed locale, but often has many locales from which the user can choose. Using the Locale functions, you can query the System language, currency symbol, number and calendar formats and a range of country specific system information.
Localized applications use a binary resource DLL to store the application's text strings. The EasyNLS's Resource object wraps locating, loading, initialising and resource retrieval from separate resource DLLs. Each binary resource DLL contains all the strings, images, and icons the application uses for one specific language. To add support for a new language, a new binary resource DLL can be added to the installation without changing any code.
To overcome a design problem in most of Microsoft's development tools, the global GetSystemFont function is supplied. A Visual Basic Form uses a hard-coded font. Unfortunately the default fonts (MS Sans Serif, Tahoma, etc) doesn't display Chinese and Japanese glyphs. If you need support for these countries, you'll need to change the Form font and the font used by all the controls.

EasyReg Getting started

The classes

There are four classes to get familar with when using the EasyReg component. They all map to the structures in the system registry:

  • RegNodes maps to a collection of registry keys
  • RegNode maps to a single registry key
  • RegValues maps to a collection of registry values
  • RegValue maps to a single registry value

The only class which can be created is the RegNode class. This is always the class you start with.
From the RegNode class you can the work your way down the registry structures, querying for attached values and the sub-nodes attached to the current node.

You use the Set method in the RegNode class to point to a specific reistry key. This will initialize the class and you will be able to query the node for subnodes and values.

The RegNodes and RegValues classes are collection classes. They are handed to the caller when the Nodes and Values methods are called on the RegNode class.

Finally the RegValue class represents an actual registry value. It has two properties, Name and Value. The Name property, naturally, returns the name of the value, while the Value property returns the actual value. The value may be a number or a text, so the data type may vary.

You can use the collection classes, RegNodes and RegValues, to add and delete registry entries. Using the Add and Remove methods it is possible to build your own registry structures.

Performance

When working in a scripting language, such as MS Visual Basic, you always need to consider performance as an important factor of application development. This is especially true when working with collections.

In short, you should not do the following:


Dim node As New RegNode

    Call node.Set(HKEY_CURRENT_USER, "SOFTWARE\Baan\BaanConfiguration")
    Debug.Print node.Nodes("Display").Values("PosX").value
    Debug.Print node.Nodes("Display").Values("PosY").value
    Debug.Print node.Nodes("Display").Values("SizeX").value
    Debug.Print node.Nodes("Display").Values("SizeY").value
    Set subnode = Nothing
    Set node = Nothing

but rather write...


Dim node As New RegNode
Dim subnode As RegNode
Dim values As RegValues

    Call node.Set(HKEY_CURRENT_USER, "SOFTWARE\Baan\BaanConfiguration")
    Set subnode = node.Nodes("Display")
    Set values = node.Values
    Debug.Print values("PosX").value
    Debug.Print values("PosY").value
    Debug.Print values("SizeX").value
    Debug.Print values("SizeY").value
    Set values = Nothing
    Set subnode = Nothing
    Set node = Nothing

because the latter will only make one reference to each of the collection objects, while the first sample would query and recreate the entire collection each time a value is looked up. Needless to say, that only creating the collections once results in much faster execution.


Conclusion

To conclude EasyReg works on Windows operating system(s) and can be easily downloaded using the below download link according to Freeware license. EasyReg download file is only 44 KB in size.
EasyReg was filed under the General category and was reviewed in softlookup.com and receive 4.7/5 Score.
EasyReg has been tested by our team against viruses, spyware, adware, trojan, backdoors and was found to be 100% clean. We will recheck EasyReg when updated to assure that it remains clean.

EasyReg user Review

Please review EasyReg application and submit your comments below. We will collect all comments in an effort to determine whether the EasyReg software is reliable, perform as expected and deliver the promised features and functionalities.

Popularity 9.4/10 - Downloads - 85 - Score - 4.7/5

Softlookup.com 2023 - Privacy Policy



Category: General 
Publisher: Bjarke Viksoe
Last Updated: 24/11/2023
Requirements: Not specified
License: Freeware
Operating system: Windows
Hits: 479
File size: 44 KB
Price: Not specified


Leave A comment
Name: *
E-Mail: *
Comment: *