我有一个问题,我可以在第一次应用程序执行时只执行一次语句吗?可以在没有注册密钥或安装程序的情况下完成吗?
问问题
1347 次
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 回答