1

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

4

2 回答 2

2

只需在 App.Config 中存储一个值

<appSettings>
<add key="HasExecuted" value ="0"/>

在代码中:

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

这是保存/更新 AppConfig 的指南:在运行时更新 app.config system.net 设置

于 2013-01-17T03:31:57.610 回答
1

由于您没有解释为什么您不想/不能使用任何“通用”方法来存储应用程序的状态参数,因此我假设它是出于反盗版目的。


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

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

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

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

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


这是一个演示此方法“基础知识”的示例:HiddenParams

于 2013-01-17T02:29:15.127 回答