簡體   English   中英

C#所需的HASP HL工作演示

[英]HASP HL working demo needed for C#

好的。 好吧,我知道這個問題很有可能在前10分鍾內被關閉,但我還是會問它,因為我花了將近一天半的時間試圖尋找解決方案。 不過,我無法想出這個。 雖然他們有演示,但即使在HASP(safenet)網站上也沒有太多關於此的信息。

我有一個HASP HL USB加密狗。 我嘗試轉換他們的演示和測試運行它,但對於我的生活我甚至無法讓它登錄甚至。 它不斷提高Aladdin.HASP.HaspStatus.HaspDotNetDllBroken異常。

但是,如果我運行他們演示的C版本,它可以很好地工作。

這是我的代碼的Csharp版本:

Aladdin.HASP;
HASP myHasp = new HASP();
var thestatus = myHasp.Login(vender_code);
myHasp.Logout;

我想登錄USB HASP並在其內存中獲取其HaspID和設置。

提前致謝,

可能是您沒有HASP運行時的所有依賴項。 我正在打包應用程序:

hasp_windows_NNNNN.dll (NNNNN = your number)
hasp_net_windows.dll
MSVCR71.DLL (added manually)
msvc runtime 80

HASP需要一個運行時庫,它不會告訴您哪一個,除非您將它放在DEPENDS.EXE實用程序中(您可能已安裝Visual Studio)。

要登錄(並讀取一些字節):

            byte[] key = new byte[16];
            HaspFeature feature = HaspFeature.FromFeature(4);
            string vendorCode = "your vendor string, get it from your tools";
            Hasp hasp = new Hasp(feature);
            HaspStatus status = hasp.Login(vendorCode);
            if (HaspStatus.StatusOk != status)
            {
                //  no license to run
                return false;
            }
            else
            {
                //  read some memory here
                HaspFile mem = hasp.GetFile(HaspFileId.ReadOnly);
                mem.Read(key, 0, 16);
                status = hasp.Logout();
                if (HaspStatus.StatusOk != status)
                {
                    //handle error
                }
            }

希望能幫助到你。 我的HASPed軟件就像一個魅力。 BTW,在沒有設置組合的情況下無法在.NET應用程序周圍放置信封。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM