加密保護軟件 WinLicense常見問題整理大全(八):自定義對話框

WinLicense具有和Themida同級別的保護功能以及授權管理功能。軟件功能強大,使用靈活,開發者可以安全地發佈軟件的試用版和完全版。

1.我正在嘗試使用“Message DLL”,但是當保護第一次調用DLL時我有一個異常。我可以確定我使用的是正確的函數語法。怎麼回事?

一個常見問題是捆綁的DLL在加載時生成託管異常。要解決這些異常,請選中“XBundlerExceptionSupport”選項(在SecureEngine Config面板中)並再次進行保護。

如果仍然有問題,建議你給我們(WinLicense)發送一個我們可以在這裏用來重現你的問題的測試DLL(編譯的DLL)。


2.我想修改傳遞給我的自定義DLL的字符串,因此消息由我修改但由WinLicense顯示。另外,我不想解析收到的字符串以提取過期信息等。 所以,我可以在我修改過的字符串中直接使用定義的常量(%daysleft,%machineid等)嗎?

在最新的WinLicense中,你可以直接將傳遞的字符串更改爲自定義DLL,並在修改後的字符串中使用已定義的試用/許可證常量。

如果要將傳遞的字符串修改爲UNICODE,則必須使用char“L”啓動UNICODE字符串。例如,如果你修改的UNICODE字符串是“This is my string”,則必須傳遞“LThis is my string”。


3.我想知道如何在外部自定義DLL對話框中獲取和顯示像%daysleft(參見MsgID14)這樣的變量?

當你使用自定義DLL功能顯示對話框時,DLL中接收所有通知消息的函數將作爲參數獲取指向應顯示的原始消息的指針。因此,如果你將%daysleft放在自定義對話框面板中以獲取所需的特定消息,則你的DLL將獲得該消息, 其中“%daysleft”已轉換爲當前剩餘日期。所以,當你想要提取當前的“剩餘天數”時,只需要解析消息。


4.如果沒有許可證,如何顯示自定義對話框/表單?

請轉到“Customized Dialog(自定義對話框)”面板,你可以看到一個新選項“Control Messages from external DLL(從外部DLL控制消息)”。 這個新功能使你有機會從嵌入受保護應用程序(並且從不寫入磁盤)的DLL中顯示自己的對話框。請參閱最新的幫助文件“WinLicense - >保護應用程序 - >自定義對話框”部分,以獲取有關此選項的更多信息。


5.我們可以以任何方式停用Themida/WinLicense的警告/錯誤消息嗎?

請轉到“Customized Dialog”面板。對於消息MSGID0到MSGID13(內部保護消息),你只需編輯消息,在消息正文中留一個空格。Themida/WinLicense不會顯示正文包含在一個空格中的消息。

對於MSGID13到MSGID35(試用註冊消息),只需選擇你不想顯示的特定消息,然後選中該特定消息的“Displayed by SDK or not displayed(由SDK顯示或不顯示)”選項。


6.如果我想顯示剩餘天數和其他事情的對話框(從應用程序內部),而不使用WinLicense保護後顯示的對話框,我必須購買WinLicense DLL Control或我可以用WinLicense執行此操作嗎?(例如:如果應用程序試用期到期,我想從代碼管理它,而不是顯示默認對話框)

WinLicense DLL Control僅適用於非常特定的情況。WinLicense可以處理所有常見情況,無需DLL控件。

請轉到“Customized Dialog”面板,你可以看到WinLicense顯示的所有消息。對於每個試用/註冊消息,你都可以設置WinLicense是否顯示該消息。例如,如果你選擇“MsgID15:試用天數已過期”並選中“Displayed by SDK or not displayed”選項,則表示即使你的試用版已過期,WinLicense也不會顯示任何消息,並且會保留你的應用運行! 所以,你負責處理該事件(通過調用WinLicense SDK API,如本示例中的WLTrialDaysLeft)並在試用期滿數天後執行適當的操作。

請記住,對於每條消息,你可以啓用它是否由Winlicense或你處理(通過選中“Will be displayed by Winlicense”或“Displayed by SDK or not displayed”選項)。因此,你只需要處理你希望從應用程序處理的那些消息,並留下由WinLicense處理的特殊消息/事件(如許可證損壞,被盜許可證密鑰等)。

下載WinLicense最新試用版


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章