Hallo,
ich habe eine Anwendung, in der in einer Textbox über einen Scanner Barcodes eingelesen werden.
Ab und zu und völlig ohne dass man igrgend einen Grund erkennen könnte, minimiert sich die Anwendung nach einem Scan und muss dann über die Taskleistze wieder maximiert werden.
Hatte jemand schonmal ein ähnliches Problem oder kann mir jemand einen Tipp geben, warum das so ist?
Danke und Grüße Oli
Viele Grüße, Oli
Manche Scanner schicken am Ende ja ein "Enter", vielleicht sind bei diesem Zeitpunkten das "MinimierungsIcon" fokusiert und mit dem Enter aktiviert?
lg Lion
Hallo,
kann ich mir zwar nicht vorstellen, ich fokussiere nach jeden Scan sofort wieder die Textbox.
Aber nichts ist unmöglich. ICh werde das abfangen.
Für weitere Vorschläge bin ich dankbar.
Grüße Oli
Viele Grüße, Oli
Falls das nicht hilft, kannst du die Windows Message fürs Minimieren vor dem Scan ignorieren, nach dem Scan wieder tolerieren.
> Codejunky <
Hallo Junky,
Kannst Du mir das ein bisschen näher erläutern?
Wie ignoriert man einen Windows Message?
Danke Oli
Viele Grüße, Oli
> Codejunky <
Hallo,
Kommando zurück. Sorry aber das Programm minimiert sich nicht, sondern legt sich einfach in den Hintergrund!
Und es behält sogar den Fokus. Jetzt check ich gar nix mehr....
Also angenommen Internet Explorer ist offen, dann kommt der vor die Anwendung. Aber der Fokus ist noch auf der Anwendung. Wenn ich z.B. "Enter" drücke kommt die Anwendung wieder hoch....
BringToFront nach einer Eingabe bringt auch nix...
Sorry, dass ich mich falsch ausgedrückt habe....
Viele Grüße, Oli
Fenster.Activate();
Fenster.Show();
> Codejunky <
Passiert das, während du dein Programm mit Visual Studio o.ä. debuggst?!
Ich hatte einmal das gleiche Problem, welches sich aber behoben hat, indem man das Program ->nicht<- aus der IDE raus gestartet hat. Woher das Problem nun letztendlich herkam, kann ich dir auch nicht sagen.
Religionskriege sind Konflikte zwischen erwachsenen Menschen, bei denen es darum geht, wer den cooleren, imaginaeren Freund hat
Hi,
@pohlmann: sowohl als auch
@junky: Bringt leider auch nix. Ist schon recht seltsam...
Ich kann notfalls auch mal den Code posten, falls das was bringt...
Grüße Oli
Viele Grüße, Oli
Hmm hatte mal ein ähnliches Phänomen mit einer externen Anwendung, die meine aufruft. Nach viel herumprobiere hat dann bei mir folgendes funktioniert:
//falls jemand das fenster minimiert hat, wieder auf normal stellen
if (MainForm.WindowState == FormWindowState.Minimized)
ShowWindowAsync(MainForm.Handle,9);
//Hauptfenster wieder als vordergrund Fenster setzen
SetForegroundWindow(MainForm.Handle);
Benötigte DllImports:
[DllImport("user32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
vielleicht hilfts ja...