如何在Windowsclosures时执行一个函数。 这是我的情况,我在我的应用程序中使用WNetAddConnection2函数挂载一个驱动器。 现在我想要用户设置选项,如果驱动器将在下一次系统启动时被挂载。
如果他select了,而不是在下次启动时安装,那么我需要使用WNetCancelConnection2删除驱动器,但这应该只发生在用户closures系统时。
我只能想到唯一的解决办法。 创build一个服务来检查用户选项,然后决定是否安装驱动器。
还有其他方法可以继续吗?
如果你有一个可以处理消息的主窗口(甚至是一个不可见的窗口),你可以处理WM_ENDSESSION消息。
请参阅: http : //msdn.microsoft.com/en-us/library/aa376889(v=VS.85).aspx
如果您可以将您的应用程序转换为Windows服务(或让您的应用程序与您提供的应用程序进行通信),则可以在服务控制处理函数中收到SERVICE_CONTROL_SHUTDOWN时执行所需的操作。 这将解决你的应用程序处理用户交互从关机处理,这需要一直在运行(如果用户注销什么?)。
explorer.exe是Windows的GUI过程, 通常只有在Windows关闭时才会关闭(必须针对某些错误情况例外)。 您可以在WM_DESTROY窗口消息中侦听explorer.exe的进程ID,然后卸载。
我能想到的方式是:
我希望我的2分钱可以帮助你。