gpt4 book ai didi

c# - 重新启动 Windows 操作系统后如何重置应用程序设置?

转载 作者:可可西里 更新时间:2023-11-01 11:46:14 25 4
gpt4 key购买 nike

背景

我有一个 C# Windows 窗体应用程序,它根据上一个打开的应用程序实例的顶部和左侧值设置其默认顶部和左侧值。

例如,应用程序 A 在 left=50 和 top=15 打开。用户向右拖动应用程序窗口,使应用程序的左=500 和上=50。用户退出应用程序并重新打开应用程序。它的当前位置是它最后关闭的位置(left=500 and top=50)。

问题

我想在重新启动 Windows 操作系统后将值重置为 left=50 和 top=15。谷歌搜索仅在应用程序退出后重置值,但我想要的是在 Windows 操作系统重启后重置值。

我目前能想到的唯一方法是在任务调度程序中创建一个任务,该任务运行批处理脚本文件以在 Windows 重启后调整应用程序的 .config 文件中的值,但这样做将需要一个人维护一个额外的脚本文件并创建一个任务(更多工作)。

最佳答案

另一种方法是检测自上次应用程序启动后 Windows 是否重新启动,并相应地重置设置。

简单的解决方案是存储一个额外的设置,例如 LastLaunchTime,并将其设置为应用程序启动时的当前时间。

然后您可以将它与启动时间进行比较,并找出自上次启动后系统是否重新启动:

DateTime startupTime = DateTime.Now - UpTime;
if(Settings.LastLaunchTime < startupTime) {
//system was restarted since the last launch, resetting location
}
Settings.LastLaunchTime = DateTime.Now;

//System up time property
TimeSpan UpTime {
get {
using (var uptime = new PerformanceCounter("System", "System Up Time")) {
uptime.NextValue(); //Call this an extra time before reading its value
return TimeSpan.FromSeconds(uptime.NextValue());
}
}
}

系统正常运行时间计算取自此处:Retrieve system uptime using C#

关于c# - 重新启动 Windows 操作系统后如何重置应用程序设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44125096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com