我曾经使用命令行SMTP邮件程序,作为试用版的限制,每个Windows会话允许您最多接收10封电子邮件。如果您重新启动计算机,则可以再接收10台计算机。我认为这种共享软件非常简洁,我想在我的应用程序中复制它。
我只是坚持如何做到这一点。我知道如何限制用户的操作,但是如何在应用程序上次运行后重新启动计算机?
操作系统是Windows,语言是C#。
答案 0 :(得分:2)
您应该能够在事件日志中找到事件,例如事件日志服务启动,它会告诉您计算机是否已重新启动。
以下是如何在C#中读取事件日志: http://msdn.microsoft.com/en-us/library/k6b9a7h8%28VS.71%29.aspx
// C#
foreach (System.Diagnostics.EventLogEntry entry in EventLog1.Entries)
{
Console.WriteLine(entry.Message);
}
注意:您应该提供您正在使用的语言和操作系统。
答案 1 :(得分:2)
如果您使用的是.NET,则可以使用Environment.TickCount。这将为您提供自系统启动以来的ms数。请注意,它每隔~24天滚动一次,因此您必须对此进行补偿(如果您在意)。
答案 2 :(得分:2)
对于Windows,如果要检查计算机启动
在命令提示符下键入
C:\>net statistics server
其中一项统计数据将是
Statistics since 22-Jun-11 10:46:20
这是计算机最后一次启动的时间
答案 3 :(得分:1)
对于Windows平台,您可以使用uptime。
C:\>uptime
\\SPOCK has been up for: 2 day(s), 0 hour(s), 45 minute(s), 34 second(s)
答案 4 :(得分:1)
以上答案适用于Pre-Windows Server 2008系统,但对于Windows 2008,可以更轻松地查找Windows 2008服务器的正常运行时间。
答案 5 :(得分:0)
难道你不能只保留你的应用程序执行的事件数量的计数器。当计数器达到阈值时停止?如果您的应用程序包含服务,那么它可以作为服务的一部分嵌入,该服务将通过Windows会话重新启动。我怀疑这是SMTP服务器的工作方式,至少这是我实现类似的最简单的方法。它会让大多数新手/中级系统管理员重新启动这个盒子,聪明的人可能也应该免费获得这个软件。