Avatar billede cyberjam Nybegynder
11. september 2001 - 13:21 Der er 6 kommentarer og
1 løsning

Hvordan får jeg en liste over handles til de processer der kører?

Jeg vil gerne have en liste over handles til kørende processer så jeg kan manipulere dem.
Avatar billede ziron Nybegynder
11. september 2001 - 13:23 #1
function EnumWnds(Wnd: HWND; Data: LParam): Bool;
var
  Text: string;
begin
  SetLength(Text, 256);

  if GetWindowText(Wnd, PChar(Text), 255) <> 0 then
    Form1.ListBox1.Items.AddObject(Text, Pointer(Wnd));

  Result := True;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  EnumWindows(@EnumWnds, 0);
  ic := 1;
end;

/ZIRON
Avatar billede ziron Nybegynder
11. september 2001 - 13:33 #2
unden ic := 1 :-)

/ZIRON
Avatar billede cyberjam Nybegynder
11. september 2001 - 14:31 #3
det virker ikke... jeg kan godt compile men det gør ingenting... måske skal det siges at jeg kører winxp

som sagt, jeg vil gerne have en liste (i en TListBox fx) over alle de processer der kører\'s handle, så jeg kan manipulere med dem
Avatar billede ziron Nybegynder
11. september 2001 - 14:35 #4
når du kører det der, kommer der så ikke noget frem i din listbox, noget text????

/ZIRON
Avatar billede cyberjam Nybegynder
11. september 2001 - 14:40 #5
nej ingenting
Avatar billede morten_s Nybegynder
11. september 2001 - 15:44 #6
kigger lige med
Avatar billede ziron Nybegynder
11. september 2001 - 16:06 #7
sådan her:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

function EnumWnds(Wnd: HWND; Data: LParam): Bool; stdcall;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function EnumWnds(Wnd: HWND; Data: LParam): Bool;
var
  Text: string;
begin
  SetLength(Text, 256);

  if GetWindowText(Wnd, PChar(Text), 255) <> 0 then
    Form1.ListBox1.Items.AddObject(Text, Pointer(Wnd));

  Result := True;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  EnumWindows(@EnumWnds, 0);
end;

end.

/ZIRON
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