如何记录WIN98关闭的时间(100分)

  • 主题发起人 主题发起人 qn-wl
  • 开始时间 开始时间
Q

qn-wl

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用程序记录WIN98关闭的时间?
 
当windows要关机的时候会向各个应用程序发一个消息:WM_QUERYENDSESSION
WM_QUERYENDSESSION
nSource = (UINT) wParam; ; ;// source of end-session request
fLogOff = lParam ; ; ; ; ; ;// logoff flag
;
Parameters
nSource
Reserved for future use.
fLogOff
Value of lParam. Indicates whether the user is logging off or shutting down the system. Supported values include: ENDSESSION_LOGOFF.
Return Values
If an application can terminate conveniently, it should return TRUE; otherwise, it should return FALSE. ;

你可以在程序里面拦截这个消息。在处理过程里面把系统时间记录下来写入注册表不就是了么!
 
非法关机你就没辙了吧。
 
这个当然了!
 
那么,具体怎么拦截,是不是在TIMER中,能否给出具体点的! 谢谢!
 
98中
先定义:
procedure WMQUERYENDSESSION(msg:Tmessage);message:WM_QUERYENDSESSION ;

处理过程:
procedure Tform1.WMQUERYENDSESSION(msg:Tmessage);message:WM_QUERYENDSESSION ;
var shuttime:string;
begin
; ; ;shuttime:=timetostr(Time); ;//得到关机时间
; ; ;.....//自己添加处理代码把shuttime写入注册表。
; ; ;msg.result:=1; ;//允许windows关机!
end;
 
多人接受答案了。
 
后退
顶部