Verificando se o Word, PowerPoint, Excel, Access e o Outlook estão abertos
Esta dica serve para você saber se no momento o Word, o PowerPoint, o Excel, o Access ou o Outlook estão rodando. Esta dica é bem útil caso você queira fazer um aplicação que funcione junto com alguns desses programas, e veremos que não é dificil de usa-lá.
Primeiramente crie um novo projeto no Delphi, e adiconne no seu formulário apenas um componente Tbutton. Agora iremos fazer a verificação.
Antes de qualquer coisa é necessário incluir duas unit que serão usadas, elas serão inclusas na seção uses lá no começo do código. lá irá ter várias outras units, coloque mais essas duas separadas por virgula.
uses ComObj,ActiveX;
Agora criaremos uma função que verificará se o programa está aberto. Insira no código esta função, em qualquer parte depois da declaração {$R *.DFM}
function IsObjectActive(className: string):boolean;
var
ClassID: TCLSID;
Unknown: IUnknown;
begin
try
ClassID := ProgIDToClassID(ClassName);
Result := GetActiveObject(ClassID, nil, Unknown) = S_OK;
except
Result := false;
end;
end;
Então no evento Onclick do botão Verificar insira o código abaixo:
procedure TForm1.Button1Click(Sender: TObject);
begin
if IsObjectActive('Word.Application') then
ShowMessage('O MS Word está rodando!');
if IsObjectActive('Excel.Application') then
ShowMessage('O MS Excel está rodando !');
if IsObjectActive('Outlook.Application') then
ShowMessage('O MS Outlook está rodando!');
if IsObjectActive('Access.Application') then
ShowMessage('O MS Access está rodando!');
if IsObjectActive('Powerpoint.Application') then
ShowMessage('O MS Powerpoint está rodando!');
end;
Este procedimento apenas informa a função qual o programa que ele irá verificar e executará uma ação, neste caso coloquei apenas um ShowMessage. Espero que esta dica seja de grande utilidade, qualquer coisa contacte-me
Feito por Marco Antonio