Thema: Delphi Ärger mit Shellexecute

Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Ärger mit Shellexecute

  Alt 31. Mai 2022, 20:00
Hi zusammen

Im Moment ist vor allem das eine Handle nil(0):
Delphi-Quellcode:
        aWnd:=FindWindow(PChar('Ashampoo PDF'), nil);
          if aWnd<>0 then
          begin
            Winapi.Windows.SetParent(awnd,OfficerAlexMain.tbsAppParent.Handle);
          end;
Ich hab bisher noch weiter gesucht und mit verscchiedenen Codeversionne gearbeitet - wenn aWnd 0 ist, nützt das alles nichts.
Ich habe auch eine
Delphi-Quellcode:
procedure TOfficerAlexMain.FindPaint;
var aWnd : Hwnd;
    WPM : TWindowPlacement;
    Rect : TRect;
begin
  aWnd:=Findwindow('paint.net',nil);
  if aWnd<>0 then begin
    Winapi.Windows.SetParent(awnd,OfficerAlexMain.tbsAppParent.Handle);
    WPM.Length:=SizeOf(WPM);
    GetWindowPlacement(awnd,@WPM);
    Rect.Top :=0;
    Rect.Left :=0;
    Rect.Right :=Panel1.Width;
    Rect.Bottom:=Panel1.Height;
    wpm.rcNormalPosition:=Rect;
    SetWindowPlacement(awnd,@WPM);
    end;
end;
von zwei ähnlichen Prozeduren mal separat als Reaktion auf einen Button nachgebaut:
Delphi-Quellcode:
procedure TOfficerAlexMain.FindPaint;
var aWnd : Hwnd;
    WPM : TWindowPlacement;
    Rect : TRect;
begin
  aWnd:=Findwindow('paint.net',nil);
  if aWnd<>0 then begin
    Winapi.Windows.SetParent(awnd,OfficerAlexMain.tbsAppParent.Handle);
    WPM.Length:=SizeOf(WPM);
    GetWindowPlacement(awnd,@WPM);
    Rect.Top :=0;
    Rect.Left :=0;
    Rect.Right :=Panel1.Width;
    Rect.Bottom:=Panel1.Height;
    wpm.rcNormalPosition:=Rect;
    SetWindowPlacement(awnd,@WPM);
    end;
end;
Hier und in meinen bisherigen Umsetzungen ist die Variable aWnd immer 0, womit der darunter folgende Code nicht ausgeführt wird.

Wieso das?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat