仅执行一次语句(vb.net)

时间:2013-01-16 20:12:23

标签: vb.net

我有一个问题,我可以在首次执行应用程序时只执行一次语句吗?可以在没有登记密钥或安装人员的情况下完成吗?

2 个答案:

答案 0 :(得分:2)

只需在App.Config

中存储一个值即可
<appSettings>
<add key="HasExecuted" value ="0"/>

在代码中:

If Convert.ToBoolean(ConfigurationManager.AppSettings("HasExecuted")) = False Then
'Do something only once
End If

以下是保存/更新AppConfig的指南:Update app.config system.net setting at runtime

答案 1 :(得分:1)

由于您没有解释为什么您不希望/可以使用任何“常用”方法为您的应用程序存储状态参数,我将假设它是出于反盗版的目的。


我想这一切都取决于你想去的深度。

所以,这是我在我开发的几个商业应用程序(主要但不限于防止盗版)上所做的事情:

  • 使用您自己的专有算法加密原始可执行文件(可能在您的情况下不是必需的)
  • 创建一个可以解密并执行您的应用程序的启动器应用程序
  • 在启动器中实现一种机制来修改原始应用程序的某些区域,这些区域不会影响其执行(提示:元数据/资源/等...)
  • 保存修改后的代码

随后执行该程序可以通过“检测”此类更改轻松检测“参数/值/设置”。

同样,这是一种非常复杂且相当模糊的方法来存储应用程序的启动参数(或状态),但同样,根据您要查找的内容,这是一种非常安全有效的方法。


以下是展示此方法“基础知识”的示例:HiddenParams