Das problem ist ich bin jetzt so schon fertig mit der Browsersteuerung, nur mir ist aufgefallen, dass sich die Dinger dann im Taskmanager häufen.
Hat keiner eine Idee, wie ich genau mein Fenster wieder schließe?
Wäre mir am liebsten und würde mich auch unabhängig von der Notwendigkeit mal interresieren wie das mit den Handles ist.
Ich könnte die Datei die aufgerufen wird doch auch z.B.
ASJKDASDASDASIWEHJRJKDAHDKLADKLDDASDA nennen und dann das
Handle kriegen indem ich eben das Fenster mit dem Titelteil:
ASJKDASDASDASIWEHJRJKDAHDKLADKLDDASDA
suche, oder?
Weiß jemand wie das genau geht, das nur dieser Teil im Fensternamen stehen muss, weil die genaue Bezeichnung hinge ja vom Browser ab, z.B.
ASJKDASDASDASIWEHJRJKDAHDKLADKLDDASDA - Mozilla Firefox
oder
Microsoft Internet Explorer - ASJKDASDASDASIWEHJRJKDAHDKLADKLDDASDA
Hätte da jemand einen Codeschipsel für mich um das
Handle zu kriegen?
//Edit:
Also ich weiß das ich mit diesem Code das Fensterhandle anhand eines Fensternamens bekomme:
Prozedur:
Delphi-Quellcode:
uses TLHelp32;
procedure GetExeNameByWindowTitle(fenstertitel: string; var ergebnis: TStringList);
var PID: DWord;
aSnapShotHandle: THandle;
ContinueLoop: Boolean;
aProcessEntry32: TProcessEntry32;
begin
ergebnis.clear;
GetWindowThreadProcessID(FindWindow(nil, PChar(fenstertitel)), @PID);
aSnapShotHandle := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
try
aProcessEntry32.dwSize := SizeOf(aProcessEntry32);
ContinueLoop := Process32First(aSnapShotHandle, aProcessEntry32);
while Integer(ContinueLoop) <> 0 do begin
if aProcessEntry32.th32ProcessID = PID then
ergebnis.Add(aProcessEntry32.szExeFile);
ContinueLoop := Process32Next(aSnapShotHandle, aProcessEntry32);
end;
finally
CloseHandle(aSnapShotHandle);
end;
Aufruf:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var sl: TStringList;
begin
sl:=TStringList.Create;
try
GetExeNameByWindowTitle('
HTML Editor', sl);
ListBox1.Items.AddStrings(sl);
finally
sl.free;
end;
end;
Aber ich kenne ja nur einen Teil des Fensternamens, in Beispielfall ASJKDASDASDASIWEHJRJKDAHDKLADKLDDASDA , wie kann ich nun trotzdem das Fensterhandle kriegen?