![]() |
[DELPHI 2010] EnumWindows mit Handle
Hallöchen!
Langsam bin ich echt sauer, dass mein Vater mit Delphi 2010 von seiner Firma mitgebracht hat! Nagut, es ist schnell, stabil und teuer! JEDOCH LASSEN SICH VIELE SOURCECODES NICHT KOMPILIEREN!!!!!! :evil: Ich glaube ich werde wieder zu delphi 7 umsteigen müssen! Naja.. Jetzt zu meinem Problem: Ich habe von Torry's Delphi Pages diesen Code:
Delphi-Quellcode:
um in einer ListBox alle offenen Fenster aufzulisten! [+ Handle]
function EnumWindowsProc(wHandle: HWND; lb: TListBox): Bool; stdcall; export;
var Title, ClassName: array[0..255] of char; begin Result := True; GetWindowText(wHandle, Title, 255); GetClassName(wHandle, ClassName, 255); if IsWindowVisible(wHandle) then lb.Items.Add(string(Title) + '-' + string(ClassName)); end; procedure TForm1.Button1Click(Sender: TObject); begin EnumWindows(@EnumWindowsProc, Integer(Listbox1)); end; Doch kompilieren lässt sich mal wieder nicht, der Aufrufcode! Nach
Delphi-Quellcode:
sagt er:
EnumWindows(@EnumWindowsProc
Variable erforderlich! Hat jemand ne Idee? :drunken: |
Re: [DELPHI 2010] EnumWindows mit Handle
Hmm, bei mir funkz es auf Anhieb in 2010. Welche Units nutzt du?
|
Re: [DELPHI 2010] EnumWindows mit Handle
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls; Also ich weiß auch nicht weiter... |
Re: [DELPHI 2010] EnumWindows mit Handle
Zeig mal DEINEN gesamten Code.
|
Re: [DELPHI 2010] EnumWindows mit Handle
Liste der Anhänge anzeigen (Anzahl: 2)
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ListBox1: TListBox; Button1: TButton; procedure Button1Click(Sender: TObject); function EnumWindowsProc(wHandle: HWND; lb: TListBox): Bool; stdcall; export; private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin EnumWindows(@EnumWindowsProc, Integer(ListBox1)); end; function TForm1.EnumWindowsProc(wHandle: HWND; lb: TListBox): Bool; stdcall; export; var Title, ClassName: array[0..255] of char; begin Result := True; GetWindowText(wHandle, Title, 255); GetClassName(wHandle, ClassName, 255); if IsWindowVisible(wHandle) then lb.Items.Add(string(Title) + '-' + string(ClassName)); end; end. Hoffentlich ist das kein dussliger Fehler :pale: |
Re: [DELPHI 2010] EnumWindows mit Handle
EnumWindowsProc muss eine reguläre Funktion sein, keine Methode.
|
Re: [DELPHI 2010] EnumWindows mit Handle
Jupp, funktioniert ohne Probleme.
Nur dieses stört mich etwas, aber es bereitet zumindestens keine Probleme. Zitat:
Zitat:
|
Re: [DELPHI 2010] EnumWindows mit Handle
OK, sry!
wie muss ich das denn jetzt machen? Wisst ihr, ich hatte Delphi nie in der Schule und habe mir das selber beigebracht! Wie muss ich das jetzt aufrufen? ^^ [DCC Fehler] Unit1.pas(29): E2003 Undeklarierter Bezeichner: 'EnumWindowsProc' Wenn ich das so schreibe function EnumWindowsProc(wHandle: HWND; lb: TListBox): Bool; stdcall; export; €D1T: OK Ok alles Ok! Danke! Danke Danke! GOOGLE: ![]() |
Re: [DELPHI 2010] EnumWindows mit Handle
Setze die Funktion im Quelltext vor den Aufruf.
|
Re: [DELPHI 2010] EnumWindows mit Handle
Ja, so ist das noch besser! Klasse! ^^
Hier erhält man sehr viel Erfahrung und Hilfe :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz