如何在Windows关闭时执行功能。这是我的方案,我在我的应用程序中使用WNetAddConnection2函数安装驱动器。现在,如果驱动器将在下次系统启动时挂载,我希望用户设置该选项。
如果他选择,而不是在下次启动时挂载,那么我需要使用WNetCancelConnection2删除驱动器,但这只应在用户关闭系统时发生。
我只能想到解决方案。创建一个服务,它将检查用户选项,然后决定是否安装驱动器。
还有其他方法可以继续吗?
答案 0 :(得分:2)
如果你有一个可以处理消息的主窗口(甚至是一个不可见的窗口),你可以处理WM_ENDSESSION消息。
请参阅:http://msdn.microsoft.com/en-us/library/aa376889(v=VS.85).aspx
答案 1 :(得分:1)
如果您可以将应用程序转换为Windows服务(或让您的应用程序与您提供的应用程序通信状态),则可以在service control handler function中收到SERVICE_CONTROL_SHUTDOWN后执行必要的操作。这会将处理用户交互的应用与关机处理分离,这需要一直运行(如果用户注销会怎样?)。
答案 2 :(得分:0)
explorer.exe是Windows的GUI过程,如果Windows关闭,通常只会关闭(必须对某些错误条件进行例外处理)。您可以在WM_DESTROY窗口消息上侦听explorer.exe的进程ID,然后卸载。
答案 3 :(得分:0)
我能想到的方法是:
我希望我的2美分可以帮助你。