我想在程序中实现如下想法:当系统设定的屏幕保护程序开始运行时,我的程序就自动关闭。请问如何实现?谢谢各位大哥大嫂弟弟妹妹! 如题! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用一个timer 不断检查屏幕保护程序。var bRun:boolean;begin SystemParametersInfo(SPI_GETSCREENSAVERRUNNING, 0,@bRun,0); if bRun then Application.Terminate;end; 映射WM_SYSCOMMAND事件,当Msg.wParam=SC_SCREENSAVER的时候 拦截屏保消息,做出相应的处理unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;type TForm1 = class(TForm) CheckBox1: TCheckBox; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } protected procedure WMSYSCOMMAND (var Msg: TWMSYSCOMMAND);message WM_SYSCOMMAND ; end;var Form1: TForm1;implementation{$R *.dfm}{ TForm1 }procedure TForm1.WMSYSCOMMAND(var Msg: TWMSYSCOMMAND);begin //捕获屏保消息 if Msg.CmdType = SC_SCREENSAVE then Application.Terminate;//结束运行 inherited;end;end. ShanShiMin(剑雨飘香),thank you very much! 感觉应该是小问题,但是解决不了,哪位高手帮帮忙 一个关于TREEVIEW的使用方法(我对它不是很了解),最好有源码,请大家谈谈! 程序运行问题(InitCC32.exe拒绝访问) 女程序员的悲愤和迷茫 能否解释一下Newform是什么意思,在这里用作什么? 请问那里有DevExpress控件下载 painbox 变大 其中的图像如何也变大? delphi思路求助 大送分!两个简单问题! 怎样做出这样的窗口效果? 一个关于ADO的问题,没有分了只好把最后的35分全部奉送! 各位看看吧!!!!
var
bRun:boolean;
begin
SystemParametersInfo(SPI_GETSCREENSAVERRUNNING,
0,@bRun,0);
if bRun then
Application.Terminate;
end;
当Msg.wParam=SC_SCREENSAVER的时候
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;type
TForm1 = class(TForm)
CheckBox1: TCheckBox;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
protected
procedure WMSYSCOMMAND (var Msg: TWMSYSCOMMAND);message WM_SYSCOMMAND ;
end;var
Form1: TForm1;implementation{$R *.dfm}{ TForm1 }procedure TForm1.WMSYSCOMMAND(var Msg: TWMSYSCOMMAND);
begin
//捕获屏保消息
if Msg.CmdType = SC_SCREENSAVE then
Application.Terminate;//结束运行
inherited;
end;end.
thank you very much!