一些解释:对于我正在处理的项目,我必须编写一个在后台运行的程序,检测对文件的更改,并将修改后的file upload到Web服务以使其他人可用。 非常简单的同步,如果它不是用户修改一个大文件,并决定在编辑后立即closures它的计算机的情况下。
我可以取消上传,并等待下一次重新启动上传,但我可以想象用户在第二天早上从networking上下载文件到另一台计算机,不明白为什么他昨天晚上的变化不存在。
所以我的想法是检测用户什么时候注销或者重新引导Windows,如果我正在上传,只是询问用户“我们还在同步刚才改变的文件Foo.txt 。你确定你想要重新启动?只有在重新启动计算机之后,您的更改才能被其他人使用!“ 如果用户说不,我需要取消重新启动/注销
这可能吗?
Microsoft Jet数据库无法打开文件“…”已被其他用户独占打开,或者需要查看其数据的权限
CompileAssemblyFromDom抛出FileNotFoundException
如何有效地检查,如果一个path是C#中的另一个path的孩子?
Xamarin Studio不能build立一个控制台应用程序
用静态存储持续时间破坏本地对象
使用C#.NET从每个桌面删除pipe理员权限
创buildXML文件,赋予所有Windows帐户用户以写权限
简单的IParallelEnumerable <T>教程
有一个名为SystemEvents的静态类,公开了这种行为:
http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.aspx
但是,它不能区分某些操作,也不会暂停OS进程的超时警戒。 我曾经使用过它,但在注册表中配置的默认超时时间有点短,所以可能需要增加。
长话短说,这一切都感觉有点ha </s>。
要添加到@ Adam的答案,如果您需要告诉注销和关机/重新启动之间的区别,您可以处理WM_QUERYENDSESSION消息。
“ 关闭Windows Vista的更改 ”是一个有用的文章,了解关闭超时。
试图阻止关机现在是一个有损命题,在Vista和更高版本中不可能这样做。 提示不可读也不可访问。 使用服务在这里高度显示,让您在用户注销后生存下来。 而且重新启动后,您的服务将自动重新开始运行,让您完成这项工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。