![]() |
AW: Fenster sichtbar machen
Zitat:
|
AW: Fenster sichtbar machen
Ich kann über eine URL direkt ein JPG von der Kamera abrufen. Das jpg wird dann in einer TWebBrowser Komponente angezeigt. Damit das funktioniert, muss das Formular mit dem TWebbrowser im Vordergrund sichtbar sein.
|
AW: Fenster sichtbar machen
Und warum holst du es dir nicht über eine HTTP-Komponente und einem Download direkt in dein Programm?
|
AW: Fenster sichtbar machen
Zitat:
Zitat:
Frage? Wenn du eine Taste für deine Anwendung registrierst und dann versuchst mit dieser deine Anwendung wieder zu maximieren was passiert wenn diese keinen Focus hat? Gar nichts! Lösung! Das bedeutet du benötigst eine Callback (oder einen Hook) von einer externen Anwendung DLL oder was auch immer die den Status deiner Anwendung überprüft. Diese sendet dann ein ShowWindow wenn diese Minimiert wurde und das war's dann schon. Deine Anwendung selbst kann das nicht. Zitat:
Das kannst du dann weder resizen noch Minimieren. Aber letztendlich wirst du über einen Hook nicht drum rum kommen da du ja auch den Vordergrund Status prüfen musst. gruss |
AW: Fenster sichtbar machen
Zitat:
Zitat:
![]() Wie mache ich aus einer normalen Form ein nicht minimierbares Fenster? |
AW: Fenster sichtbar machen
Tja, und mittlerweile ist es durch das hausgemachte Problem mit der Screenshotkrücke wohl erheblich teurer geworden und funktioniert nicht zuverlässig. Und der Download mit einer HTTP-Komponente ist auch nicht viel komplexer. Eher wahrscheinlich das Gegenteil und zudem dürfte es zuverlässiger funktionieren.
Link: ![]() Copy and paste und schon fast fertig. Inklusive Anpassung für den Kunden 2 oder 3 Stunden. |
AW: Fenster sichtbar machen
Du schreibst du holst alle paar Minuten ein Bild und dann wird ein Timer aktiviert.
Aber dieses "alle paar Minuten"... ist das nicht auch ein Timer? Oder noch schlimmer. Ein Sleep? Mit "Ausgelastet" meinte ich keine 100% Auslastung sondern einfach nur, dass der Hauptthread blockiert wird. |
AW: Fenster sichtbar machen
Liste der Anhänge anzeigen (Anzahl: 1)
Mit XE7, WIN8.1 geht folgender Test-Code:
Delphi-Quellcode:
Source + EXE hinzugefügt
unit Unit1;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; Button1: TButton; procedure Timer1Timer(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure SetCursorToControl(Control: TControl); var P: TPoint; begin P.X := Control.Width div 2; P.Y := Control.Height div 2; P := Control.ClientToScreen(P); SetCursorPos(P.X, P.Y); end; procedure TForm1.Button1Click(Sender: TObject); begin Timer1.Enabled:= TRUE; Button1.Enabled:= FALSE; Self.WindowState:= wsMinimized; end; procedure TForm1.Timer1Timer(Sender: TObject); // interval:= 10000; begin Timer1.Enabled:= FALSE; Button1.Enabled:= TRUE; Application.BringToFront; //Setzt das zuletzt aktive Fenster auf dem Desktop in den Vordergrund Self.WindowState:= wsNormal; // besser als: Application.Restore; SetCursorToControl(self); mouse_event(MOUSEEVENTF_LEFTDOWN, 50, 50, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, 50, 50, 0, 0); end; end. |
AW: Fenster sichtbar machen
Zitat:
Und das "hausgemachte" Problem war zu Beginn überhaupt nicht absehbar. Von einer normalen Form kann ich jederzeit eine Kopie eines Teils des Canvas machen, auch wenn die Form gerade nicht am Bildschirm sichtbar ist. Alle Schwierigkeiten haben damit begonnen, dass das in diesem Fall nicht funktioniert. Das konnte ich im voraus nicht wissen. |
AW: Fenster sichtbar machen
Zitat:
gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 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