多數先進的軟件保護層和注冊系統都嘗試提供軟件開發者一個可供調整的方案,讓他們可以掌控想保護的軟件 ,也避免保護程序造成死板注冊方式的問題產生。
對于一些專門的程序, 這些 “ 量身定做 ” 的軟件保護層和注冊系統其實并沒有提供完全的伸縮性 ,因此這些程序無法加入開發者所需要的重要功能。
WinLicense DLL Control 就是為了這個目的而誕生的:提供最具伸縮性的方案 ,使軟件開發者可以掌控受保護程序的狀態,或隨意地更改程序的屬性。
Most advanced software protection and licensing systems have extremely rigid registration schemes imposed on them by their nature. Consequently, most developers attempt to offer a customizable solution for developers to give some control over the product.
For some specialized applications, these "custom" software protectors and licensing systems do not offer total flexibility; therefore, those applications cannot implement important features that they need to operate.
WinLicense DLL Control was born to achieve that objective: To offer the most flexible scheme for controlling the status of the protected application and change its behaviour as desired.
概念實踐
WinLicense DLL Control 事實上是一個 嵌入 受保護程序里的特定 DLL 。這 DLL 控制將不會被儲存到 磁盤上,但開發者將會通過 WinLicense 接受到受保護程序現處狀態的通知。這 DLL 控制可以不受任何的限制和約束來對每一個所接受到的通知任意進行處理。
你可以使用任何編程語言創建你的 DLL Control 。你只需要輸出你受保護程序運行時所需要處理的函數 , 然后加入到你的 DLL 里。
WinLicense DLL Control的運作
當一個程序已經受到 WinLicense DLL Control 的保護時 , WinLicense 將會在多個階段傳呼 DLL Control 直到受保護的程序最終支配了 微處理機 。這幾個階段包括以下:
WDC_Init : 當你受保護的程序將要被運行時 , 你的 DLL Control 將會被通知。在這個階段, DLL Control 可以進行任何的啟動工作或者 處理 ,例如運行你自己的試用 / 注冊方案。
WDC_ProcessHardwareID : 當得到了目前機器的硬件 ID 后 , WinLicense 將會傳呼在你的 DLL Control 里的這個函數。 WinLicense 將會將這硬件 ID 訊息傳給你的 DLL Control ,讓你有機會更動或從其它設備重新創建一個新的硬件 ID ,例如,從你程序內用來辯證使用者身份的設備來創建一組新的硬件 ID 。
WDC_GetLicenseInfo : 當一個正確的注冊碼被用來注冊程序時 , WinLicense 將會傳呼這個函數。 WinLicense 將會將注冊相關的訊息傳送到你的 DLL Control 去。
WDC_GetApplicationStatus : WinLicense 將會傳呼這個函數來報告一切關于受保護程序現有的試用 / 注冊狀態。在這個函數里,你將會接受到關于你程序的試用或則注冊相關的詳盡訊息。
WDC_DoRegistration : WDC_DoRegistration : 如果你想要提供使用者在啟動受保護程序之前可以注冊程序的選項 , WinLicense 將會傳呼這個函數。
WDC_Finalize : 當受保護程序被完全的解壓以及載入到內存 , 可以隨時開始啟動時 , WinLicense 將會傳呼這個函數。
每一個被你的 DLL Control 傳呼的函數 , 都不會受到 WinLicense 的限制。這使你有更大的空間來開發執行你腦中的概念。
結論
如果你感到自己受到你現在嘗試著的軟件保護和注冊系統的束縛 , 或許 WinLicense DLL Control 正是你所尋找的。 WinLicense DLL Control 被創建的目的 就是給與 程序 編制員完全自由、任意地控制他們想保護的程序。
下是WinLicense® DLL Control的主要特色:
產品截圖:

WinLicense DLL Control
把 DLL Control 加入你的程序中
The Idea
Most advanced software protection and licensing systems have extremely rigid registration schemes imposed on them by their nature. Consequently, most developers attempt to offer a customizable solution for developers to give some control over the product.
For some specialized applications, these "custom" software protectors and licensing systems do not offer total flexibility; therefore, those applications cannot implement important features that they need to operate.
WinLicense DLL Control was born to achieve that objective: To offer the most flexible scheme for controlling the status of the protected application and change its behaviour as desired.
The Implementation
WinLicense DLL Control is in fact a custom DLL that is embedded inside the protected application. The DLL control is never extracted to disk and will receive notifications from WinLicense regarding the current status of the protected application. The DLL control can do processing on each notification received by WInLicense without any restrictions.
You can create your DLL Control using any programming language; you just have to export to your DLL the functions that you want to handle when the protected application is running.
WinLicense DLL Control in Action
When an application has been protected with WinLicense DLL Control, WinLicense will call the DLL Control until the protected application finally takes control of the processor. It attempts this through the following stages:
• WDC_Init : Your DLL Control is notified when the protected application is going to be launched. The DLL Control can perform any initialization task or processing at this stage, like implementation of your own trial/licensing scheme.
• WDC_ProcessHardwareID : WinLicense will call this function in your DLL Control when the hardware ID for the current machine has been acquired. WinLicense will pass the current hardware ID to your DLL Control and give you the chance to modify or re-create a new hardware ID from other devices...for example, creating a new hardware ID from a dongle device that is attached to your application.
• WDC_GetLicenseInfo : WinLicense will call this function when a valid license key is present and the application is fully registered. WinLicense will send the license information to your DLL Control.
• WDC_GetApplicationStatus : WinLicense will call this function to report the current trial/licensing status of the protected application. In this function you will receive detailed information about the trial status of your application and licensing-related information.
• WDC_DoRegistration : WinLicense will call this function if you want to offer the option of registering the protected application before it is executed.
• WDC_Finalize : WinLicense will call this function when the protected application has been totally loaded and decompressed into memory, and it is ready to start its execution.
WinLicense does not impose any restriction in the processing to be done inside each function called from your DLL Control, giving you extra freedom to implement all the ideas that you have in mind.
Conclusion
If you have felt limited by all software protection and licensing systems that you have tried, maybe WinLicense DLL Control is what you were looking for. WinLicense DLL Control was born with the sole objective of giving total freedom to programmers, allowing them to control their protected applications in every possible way.
These are the key features of WinLicense® DLL Control:
- Execute specific tasks when the protected application is going to be launched
- Execute specific tasks when WinLicense is going to pass control to the protected application
- Change the hardware ID to allow the insertion of your own hardware ID from a dongle, flash memory, etc.
- Display complex dialogs before the protected application is executed
- Receive information about the trial and licensing status of your protected application
- Register an application before it runs
- Display user information from a valid license key
- Create your own trial / licensing schemes
SCREENSHOTS

WinLicense DLL Control
Adding DLL Control inside your application