Avatar billede oergaard Nybegynder
08. november 2003 - 13:11 Der er 2 kommentarer og
1 løsning

Hvordan oprettes en liste over vinduer

Hvordan oprettes en liste over vinduer ??

Jeg vil gerne lave et lille program, som minder lidt om Job-listen, der allerede eksistere i Windows.

Jeg er ikke interesseret i hvilke processor der ligger og kører i baggrunden, men kun hvilke der har et vindue åbent.

Jeg har ikke rigtig kunne nogen løsning på dette, men er helt sikker på, at der er en af jer, som kan hjælpe! :-)

//Oergaard
Avatar billede Slettet bruger
08. november 2003 - 13:18 #1
Function EnumWindowsProc (Wnd: HWND; lb: TListbox): BOOL; stdcall;
var
  caption: Array [0..128] of Char;
begin
  Result := True;
  if IsWindowVisible(Wnd) and ((GetWindowLong(Wnd, GWL_HWNDPARENT) = 0) or
      (HWND(GetWindowLong(Wnd, GWL_HWNDPARENT)) = GetDesktopWindow))
and
    { skip WS_EX_TOOLWINDOW windows }
    ((GetWindowLong(Wnd, GWL_EXSTYLE) and WS_EX_TOOLWINDOW) = 0)
  then begin
    SendMessage( Wnd, WM_GETTEXT, Sizeof( caption ),integer(@caption));
    lb.Items.AddObject( caption, TObject( Wnd ));
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Clear;
  EnumWindows( @EnumWindowsProc, Integer( ListBox1 ));
end;
Avatar billede Slettet bruger
08. november 2003 - 13:21 #2
Avatar billede oergaard Nybegynder
08. november 2003 - 13:32 #3
Hej hejhej :-)

Jeg siger tusind tak for det meget hutige og meget præcise svar, det var lige det jeg havde brug for!

Tak for hjælpen!

//Oergaard
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester