delphi exe异常关闭,怎么获取异常关闭状态

delphi exe异常关闭,怎么获取异常关闭状态,第1张

用下面的例程去调用delphi.exe(找一台运行delphi没问题渣灶的机器调试好含下面例程的程序)。

function WinExecAndWait32(FileName: stringVisibility: Boolean): integer

var

zAppName: array[0..512] of char//存如镇扮放应用程序名

StartupInfo: TStartupInfo

ProcessInfo: TProcessInformation

exitCode: Dword

aVisibility: integer

begin

StrPCopy(zAppName, FileName)

FillChar(StartupInfo, Sizeof(StartupInfo), #0)

//给StartupInfo结构体赋值

StartupInfo.cb := Sizeof(StartupInfo)

StartupInfo.dwFlags := STARTF_USESHOWWINDOW

if Visibility then

aVisibility := 1

else

aVisibility := 0

StartupInfo.wShowWindow := aVisibility

//调用CreateProcess 创建进程,执行指定的可执行文件

if not CreateProcess(nil, zAppName, nil, nil, false

, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS

, nil, nil, StartupInfo, ProcessInfo) then

Result := -1

else

begin

//等待可执行文件退出

WaitforSingleObject(ProcessInfo.hProcess, INFINITE)

//得旅棚到进程终止状态码

GetExitCodeProcess(ProcessInfo.hProcess, exitCode)

result := Exitcode

end

end

这怎能捕获呢,电都没了,程序就在内存全消失了。

唯一的就是程序中,定时保存当前程序状态或部分参数,

一旦停了,能知道从哪里再开始。

-------------------------

客户端碰数EXE程序要定时向服务端的数据表中写当前服务器的时间(SQL中御返可以写

服务端时间而不是客户端时间),服务端一旦检笑拆首测客户端写入的时间已与实际时间

严重超时(超周期),表示已登出,要重新登录。

这是最简单的办法, 没有更好的办法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12510635.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存