gpt4 book ai didi

c# - C# 所需的 HASP HL 工作演示

转载 作者:太空狗 更新时间:2023-10-29 23:33:20 26 4
gpt4 key购买 nike

好的。好吧,我知道这个问题很有可能会在前 10 分钟内结束,但我还是要问这个问题,因为我已经花了将近一天半的时间来寻找解决方案。仍然,我无法弄清楚这一点。尽管有演示,但在 Internet 上甚至在 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 软件运行起来就像一个魅力。顺便说一句,在没有任何设置组合的情况下,无法在 .NET 应用程序周围放置信封。

关于c# - C# 所需的 HASP HL 工作演示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10760673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com