本文整理自网络,侵删。
如果程序当前在前台,返回 True,否则返回 False。
function IsAppActive:Boolean;
var
AList:JList;
AProcess:JActivityManager_RunningAppProcessInfo;
AName:JString;
AIterator:JIterator;
begin
AList:=SharedActivityManager.getRunningAppProcesses;
AName:=SharedActivityContext.getPackageName;
Result:=False;
if Assigned(AList) then
begin
AIterator:=AList.iterator;
while AIterator.hasNext do
begin
AProcess:=TJActivityManager_RunningAppProcessInfo.Wrap((AIterator.next as ILocalObject).GetObjectID);
if AProcess.processName.equals(AName) then
begin
if AProcess.importance=TJActivityManager_RunningAppProcessInfo.JavaClass.IMPORTANCE_FOREGROUND then
begin
Result:=True;
Break;
end;
end;
end;
end;
end;
相关阅读 >>
Delphi sendmessage postmessage 原理和区别
Delphi用mapfileandchecksum 函数检测 exe 或 dll 是否被修改
Delphi “invalid floating point operation.”错误的解决方法
更多相关阅读请进入《Delphi》频道 >>