Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Windows API / MS.NET Framework API (https://www.delphipraxis.net/20-library-windows-api-ms-net-framework-api/)
-   -   Delphi Klasse eines Fensters herausfinden (https://www.delphipraxis.net/23349-klasse-eines-fensters-herausfinden.html)

Cuchulainn 1. Jun 2004 21:23


Klasse eines Fensters herausfinden
 
Diese Funktion gibt die Klasse eines Fensters als String zurück:

Delphi-Quellcode:
function FGetWindowClass(hWindow: HWND): String;
var
  StrClass: String;
  pClass: pAnsiChar;
const
  MaxBufferSize = 32767;
begin
  pClass := GetMemory(MaxBufferSize);
  ZeroMemory(pClass, MaxBufferSize);
  GetClassName(hWindow, pClass, MaxBufferSize);
  SetString(StrClass, pClass, Strlen(pClass));
  Result := StrClass;
  FreeMemory(pClass);
end;
Übergabeparameter ist das Handle des Fensters, dessen Fensterklasse zu bestimmen ist.

[edit=Matze]Code formatiert. Mfg, Matze[/edit]

shmia 8. Jun 2004 14:21

Re: Klasse eines Fensters herausfinden
 
Dann werfe ich doch mal meine Version ins Rennen: :dancer2:
Delphi-Quellcode:
function FGetWindowClass(hWindow: HWND): String;
const
  MaxBufferSize = 32767;
var
  count : Integer;
begin
  SetLength(Result, MaxBufferSize);   // Speicher reservieren
  count := GetClassName(hWindow, PChar(Result), MaxBufferSize);
  SetLength(Result, Count);  // Speicher auf benötigtes Mass zusammenstutzen
  // falls nötig eine Exception auslösen
  // so weiss man bei Fehlern woran man ist
  if count = 0 then
    RaiseLastWin32Error;
end;
[edit=Matze]Code formatiert. Mfg, Matze[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz