请问在XP下怎样在关机以前运行一个程序 ( 积分: 200 )

  • 主题发起人 主题发起人 liangzhang3942
  • 开始时间 开始时间
L

liangzhang3942

Unregistered / Unconfirmed
GUEST, unregistred user!
如题:
Procedure WMQUERYENDSESSION(Var Msg: TMessage);message WM_QUERYENDSESSION;
...
implementation
..
procedure TMainForm.WMQUERYENDSESSION(var Msg: TMessage);
begin
winexec('yourprogram.exe');
MSg.Result := 1;
end;
以上的程序我试了,根本就不行,
 
这个需要什么技术呀
 
procedure TMainForm.WMQUERYENDSESSION(var Msg: TMessage);
begin
取消关机
winexec('yourprogram.exe');
关机代码
end;
 
呵呵 楼上还不如不说啊 傻瓜都知道是这样的啊
 
procedure TMainForm.WMQUERYENDSESSION(var Msg: TMessage);
begin
winexec('yourprogram.exe');
MSg.Result := 1;
end;
这样是不行的
 
不好说,关健看你的程序执行多长时间,同时注册表中好象有一个值,决定等待的时间.
 
winexec('yourprogram.exe'); 这是不等你执行完再执行RESUTL=1,必须WAITFOR 执行完这个YOURPROGRAM.EXE才行,但系统可能报错.特别是NT下.
 
没有别的办法了吗
 
修改注册表是怎样截获关机事件呀
 
你给注册表关机项关闭,你自己给个关机界面,呵呵
 
怎么关闭呀
 
拦截消息为什么不幸呀
 
要是拦截api可以马
 
要是拦截api怎么做呀,各位老大
 
拦截关机的一个api
 
真的没有人会吗?
 
win2000下有个关机脚本,XP下应该也可以,在关机脚本里指定你要运行的程序就可以了。我以前用它帮朋友干掉过管理员密码的:)
脚本文件路径:
C:/winnt/system32/GroupPolicy/Machine/Scripts/scripts.ini,没有就创建一个。
详情参考
http://soft.ccw.com.cn/apply/os/htm2004/20041103_115OZ.htm
 
谢谢,我试试
 
后退
顶部