在代码在vb6中完成之前阻止任何操作

时间:2012-02-07 12:21:38

标签: vb6

我的意思是阻止任何操作关闭 - 卸载 - 终止它们都应该被阻止,直到代码完成工作..

在代码完成工作之前,应取消特别终止..

我想这样做是为了创建一个非常重要的.log文件,并用它在文件夹之间移动一些文件,所以我必须阻止那个在服务器上的所有东西,而不知道一件事并被系统管理员称为停止此动作只是因为他不喜欢它在后台运行(如果你明白我的意思)。因为我有关于该服务器的日志和移动可能导致数据丢失的文件。我很确定大多数程序员都会遇到与老人不相关的推力问题,我需要帮助来处理这种情况。

那么我怎么能在vb6中实现呢?

2 个答案:

答案 0 :(得分:3)

您可能需要重新设计应用程序逻辑以允许在任何阶段终止您的进程 - 通过rename_src-copy-rename_tgt-delete_src操作移动文件,在每个事件写入后关闭日志文件等等。理想情况下,您应该始终能够识别哪个操作完全由信息完成,由文件系统(文件名等)提供。 毕竟,有些情况下需要终止处理。

否则,如果您的应用程序具有可见窗口,则可以跟踪Form_QueryUnload事件并取消卸载。当然,这不会阻止从任务管理器进程视图中删除您的应用程序。

答案 1 :(得分:2)

虽然您可以通过处理QueryUnload事件(假设您定期致电DoEvents)来阻止用户尝试关闭应用程序,但您无法阻止具有完全管理员权限的人员杀死您完全过程。