本文整理自网络,侵删。
如果程序当前在前台,返回 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 执行一个外部程序,当外部程序结束后言主程序立即响应
Delphi 全局变量 hinstance 到底是在什么时候赋值的?
更多相关阅读请进入《Delphi》频道 >>