我有两个Winform的项目,我想通过备用表单运行应用程序.在program.cs文件中有:
Application.Run(new Form1());
Run Code Online (Sandbox Code Playgroud)
这意味着Form1将作为主要表单或启动形式的应用程序执行.是否可以通过一些时间限制或天数限制以编程方式更改它?我的意思是两天后它将执行Form2作为启动表单.如下所示:
Application.Run(new Form2());
Run Code Online (Sandbox Code Playgroud)
可能吗?
当然,这没问题:
var startDate = ReadStartDateFromFile();
if(DateTime.Now.Subtract(startDate).TotalDays < 2 || startDate == new DateTime())
Application.Run(new Form1());
else
Application.Run(new Form2());
Run Code Online (Sandbox Code Playgroud)
该方法ReadStartDateFromFile读取程序第一次启动的日期.如果之前从未启动过,则返回new DateTime().
如果您想将此作为实现共享软件机制的一种方式,请考虑使用混淆器,否则,它很容易破解.此外,您应该加密文件,并将开始日期写入.另外,请考虑使用虚拟日期创建该文件的设置.如果有人只是删除了该文件,您应该考虑安全漏洞并直接显示Form2.
感谢Mark在评论中的精彩讨论!
| 归档时间: |
|
| 查看次数: |
2753 次 |
| 最近记录: |