Would you like to secure your Windows Mobile application? Would you like to offer a shareware version of your application? Would you like to sell your application hassle free at Handango.com or Pocketgear.com (and have 'them' send the registration code to the buyer?)


Introducing the Dynamic Registration Library

Our Dynamic Registration Library is a .NET Compact Framework 2.0 library that allow you to issue and verify registration codes to unlock the full functionality of your shareware applications using RPN (Reverse Polish Notation). It supports the Dynamic Registration of Handango, PocketGear, and others. It also provides access to the C/DUI (Customer/Device Unique Identifier) information about the Owner of the PocketPC/WM device.

Test your RPN string


Compare these reults against the
Handango Registration Code Tester @

RPN String:
Customer/Device Unique Identifier:


New!! This product works with the Shareware Lock Library which provides a useful way to offer a trial of your software. To learn more about the Shareware Lock Library (click here).


The Dynamic Registration Library is very simple to use:

First add a reference to DeviceDynamicRegistrationLib.dll & then add the following using statmement to your program:

Then declare the ddrLib object passing either the RPN-string alone or the RPN-string and the Device Identifier String.

That's it!

Eample code is in C#, please write if you experience problems using other languages such as Visual Basic.

Note: When you add your product to the HANDANGO SITE specify 'PocketPC Dynamic' as your 'Registration Mode' and you will be prompted for your RPN String.
When you add your product to the POCKETGEAR SITE set the unlocking method to 'Generated Key RPN - PPCON' then paste the RPN string in the box provided.

As long as the code you enter on the HANDANGO (or other) site is the same as your 'sRPN' then the user will get a Registration Code when they purchase your software. They simply enter the code into your application and you compare for a match to unlock your software.

Our (and HANDANGO's) RPN strings support the following operators:
           - + * / % << >> ~ & | && || ! == >= > <= < != ^

please read the rules for RPN strings at (https://developer.handango.com/RegCode.jsp?siteId=1).

Here are some Sample RPN strings

This Library requires the .NET Compact Framework 2.0 and works on all devices to which the .NET Compact Framework 2.0 can be installed.

You may wish to check your user's cDUI or resulting RegistrationCode from time to time just in case the user changed their cDUI only for the period of time they were registering your product. Also, this Library was made to work in conjuction with our Shareware Lock Library.

Possible problems you may encounter:
PROBLEM: user has a hidden space at the end or beginning of their "Owner Name" then their code will not match. In this case
PROBLEM: user had not entered a User name the code will (of course) not match for the same reason.

SOLUTION (for both problems): Have the user enter an "Owner Name" under "Owner Information" from the Settings Folder. Then regenerate a code for them. Feel free to use our website (see above) to make them a valid code using thier "Owner Name" after they fix their PocketPC situation.

PROBLEM: sometimes the && operator results are different from the HANDANGO results. The problem appears when the && operator is used with the i variable (but only in some cases).

SOLUTION: do not use the && operator with the i variable. It is my belief that Handango is using the && operator inappropriatly to compare two "numbers or booleans" for equality. The && operator should compare two boolean operands. If they switch to our Library, the problem will go away;)

This developer tool brought to you by Twoopy Entertainment. (mobile)
SUPPORT: support@twoopy.com