Alguem sabe onde posso encontrar informações sobre API

Delphi

13/02/2003

Estou precisando de informações sobre APIs do Windows, preciso de rotinas e funções para verificar qnd uma janela do windows foi aberta.


Profjohnny

Profjohnny

Curtidas 0

Respostas

Carnette

Carnette

13/02/2003

Que tal dar um estudada neste exemplo....Já é um bom começo

Para listar (pegar) todas janelas abertas, deve-se usar a funcao da API EnumWindows, que usa uma funcao Callback, com dois parametros, um Handle para a janela e um ponteiro. Voce pode usá-la com um códi-go semelhante a este (Este lista as janelas abertas, mesmo invisí-veis, em uma listbox):


function EnumWindowsProc(Wnd : HWnd;Form : TForm1) : Boolean; Export; {$ifdef Win32} StdCall; {$endif}
var
Buffer : Array[0..99] of char;
begin
GetWindowText(Wnd,Buffer,100);
if StrLen(Buffer) <> 0 then
Form.ListBox1.Items.Add(StrPas(Buffer));
Result := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
EnumWindows(@EnumWindowsProc,LongInt(Self));
end;


GOSTEI 0
Anonymous

Anonymous

13/02/2003

Que tal dar um estudada neste exemplo....Já é um bom começo Para listar (pegar) todas janelas abertas, deve-se usar a funcao da API EnumWindows, que usa uma funcao Callback, com dois parametros, um Handle para a janela e um ponteiro. Voce pode usá-la com um códi-go semelhante a este (Este lista as janelas abertas, mesmo invisí-veis, em uma listbox): function EnumWindowsProc(Wnd : HWnd;Form : TForm1) : Boolean; Export; {$ifdef Win32} StdCall; {$endif} var Buffer : Array[0..99] of char; begin GetWindowText(Wnd,Buffer,100); if StrLen(Buffer) <> 0 then Form.ListBox1.Items.Add(StrPas(Buffer)); Result := True; end; procedure TForm1.Button1Click(Sender: TObject); begin EnumWindows(@EnumWindowsProc,LongInt(Self)); end;


Eu preciso de alguma função que verifique o momento exato em q uma janela foi aberta, pois o sistema fica rodando enquanto o computador estiver ligado e qnd o usuario abre uma janela se a mesma não for permitida tera q ser fechada.

Obrigado pela intenção, se souber de algo eu agradeço.


GOSTEI 0
Anonymous

Anonymous

13/02/2003

Se a funcao pega TODAS as janelas abertas....

Entao é so testar de tempos em tempos (ou quando a lista aumentar) se o usuario pode abrir tal janela (vc vai ter q varrer todas as janelas abertas...) e fechar a q ele nao puder abrir.

Se vc ja sabe quais as janelas o usuario nao pode abrir procure por elas com um Timer e a API FindWindow (Ver help do Delphi...) e feche-a com CloseWindow (Ver help....)

Acho q a funcao acima é um bom começo.

Um Abraço
Werlon Goulart


GOSTEI 0
POSTAR