我正在开发一个在 Windows 2003 上运行的基于终端服务的系统。它由一个桌面替换应用程序组成,用户可以从中启动程序。它还有一个注销按钮。当用户注销时,必须发生两件事。首先,他从 Windows 中注销。然后调用存储过程清理用户数据库状态。这几乎可以正常工作,但在一种情况下,即用户取消注销事件时。典型场景: 1- 用户登录,启动 MS Word,编辑文档,不保存。2 - 然后用户按下注销按钮。3- MS Word 对此做出反应,要求用户保存他的更改。4 - 用户按下取消。
此时桌面应用程序可能已经调用存储过程清理数据库状态。如何在桌面应用程序中捕捉到这种行为?是否有消息说结束会话操作已取消?
我的问题有意义吗?
哦,所有的应用程序都是用 Delphi 7 编写的,但我也使用 C、C++ 和 C# 工作,所以这些语言的答案也很受欢迎。