有没有办法或技巧来确定用户发送的应用程序退出命令还是系统在关闭时发送的命令

时间:2011-12-02 00:02:11

标签: c#

我的项目只是创建日志文件,其中包含有关应用程序启动或应用程序退出的日期以及如何退出的信息。

可选问题:如何将我的应用程序添加到启动列表(到msconfig.exe的东西)

可选问题2:在关机时/之前我想创建一个日志文件时是否存在丢失概率?

1 个答案:

答案 0 :(得分:1)

有一种方法可以检测应用程序关闭的原因,但是您需要使用p / Invoke来获取Windows主消息循环。我不知道触发关机时Windows广播的确切消息,但至少我可以让你朝着正确的方向前进。

有关讯息的一般信息:http://msdn.microsoft.com/en-us/library/windows/desktop/ms632590%28v=vs.85%29.aspx

GetMessage函数:http://msdn.microsoft.com/en-us/library/windows/desktop/ms644936%28v=vs.85%29.aspx

我认为这是广播信息:http://msdn.microsoft.com/en-us/library/windows/desktop/ms632617%28v=vs.85%29.aspx

从C#这样做是留给读者的练习。它将涉及替换WinForms或WPF提供的主消息泵,检查每条消息,然后调用替换的泵。

我从这里开始:Message pumping?