写一个函数
MyMessage(var Msg:TMsg;handled:Boolean);
在其中加入你的判断条件,就是程序是否被激活的条件,
在程序的主窗体的onCreate事件中加入:
Application.Message:=MyMessage;
应该可以的。
今天没法给你实现代码,如果还没法解决,请写信给我:
My E-mail:[email protected]
我一定会给你解决的。
MyMessage(var Msg:TMsg;handled:Boolean);
在其中加入你的判断条件,就是程序是否被激活的条件,
在程序的主窗体的onCreate事件中加入:
Application.Message:=MyMessage;
应该可以的。
今天没法给你实现代码,如果还没法解决,请写信给我:
My E-mail:[email protected]
我一定会给你解决的。
解决方案 »
- 咨询delphi连接sql server2000问题
- 哪位朋友能发给我一个reportmachine,并告诉我如何安装在delphi6中,我就把分给他/她。
- 纯属散分:给定三边长度,判断是否是一个三角形
- 谁来解读delphi程序框架代码?
- 求频谱显示程序,请好心人赐教
- OCX是如何注册的
- 刚入门,SQL server数据在DELPHI的转换,
- 如何实现这样的查询统计?
- 提供一个关键字,如何得到表中所有字段中任意一个字段包括此关键值的所有记录,这样的SQL语句如何写?最好不要一个字段一个字段的去like,
- 下面的代码为何提示出错??因为如果没有While语句时可以通过。
- 如何永久的删除vpf中的记录,请那位仁兄不啬指教?
- 急用!!!请问谁会使用API中的GetfileinformationByHandle这个函数?请帮忙!!!
procedure TForm1.Timer1Timer(Sender: TObject);
var
vhdc:hdc;
fetchcolor:Tcolor;
begin
if Application.Active then
begin
//your code.........
end;
end;
也许HOOK可以达到你的目的。
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
Function KeyHook(iCode: Integer; wParam: Longint; var Msg: TMsg): Longint; stdcall;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}Function KeyHook(iCode: Integer; wParam: Longint; var Msg: TMsg): Longint; stdcall;
begin
messagebox(0,pchar(inttostr(icode)),pchar(inttostr(wParam)),mb_ok);
Keyhook:=1;//为1时应收窗口将收不到键盘消息
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
tag:=SetWindowsHookEx(WH_KEYBOARD, @Keyhook, hInstance, 0);
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
UnhookWindowsHookEx(tag);
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0);
end;end.
你点了一下其它的程序你的程序不是活动的了,所以代码不好用了。
HOOK应该可以