可以试试
Public Declare Function GetLastError Lib "kernel32" () As Long

解决方案 »

  1.   

    楼上的兄弟,getlasterror函数确实可以获取错误信息。但是你用什么方法知道他刚刚被非法关闭了呢?还有,假如是别的程序调用shellexecute关闭的或是按ctrl+alt+del关闭的,他不一定会返回错误信息的。
      

  2.   

    我认为应该先取得该程序的句柄(假设是有窗体的),然后拦截发给该窗体的WM_CLOSE消息,如果发wm_close消息的本身(用钩子找出句柄)是你的程序,那么他是正常关闭的,如不是,那么是非法关闭的。这时再调用相应处理程序。方法是这样,但我没有试过。你可以试一下。
      

  3.   

    cngxylyh 说的钩子该怎么实现呢?这个我也很想知道
      

  4.   

    <%=自身截获自身的意外退出%>
    gz
      

  5.   

    问一句,如果被其他进程用terminate process之类的方法关闭呢?
      

  6.   

    <%=自身截获自身的意外退出%>
    可能吗?