Hallo Gemeinde,
gelesen habe ich schon eine Menge, auch zu diesem Thema, wo ich gerade eine Lösung für suche. Das schon mehrere Tage.
Problemstellung, eine Applikation überwacht Waagen über TCP. Da es da nicht viel zu überwachen gibt, kann der Anwender die Applikation in den Hintergrund schicken "me.hide" oder das Fenster einfach überdecken mit anderen.
Will der User nun was wissen, kann er wie normal üblich das Programm nach vorne holen, über "NotifyIcon".
Es hat sich gezeigt das es viel verlangt ist , der User startet einfach das Programm erneut.
Das abzufangen ist leicht, falls das Fenster im Hintergrund liegt.
Funktioniert auch teilweise ganz gut,
Der Hacken ist, ich kann die Nachricht nicht fangen, wenn das Fenster ausgeblendet ist
"me.hide" der FensterHandle "p.MainWindowHandle" hat dann der Wert "0"
... und falls das Fenster Minimiert ist, kann der FensterHandle nicht aufgelöst werden.
Da wäre ich für ein paar Tipps oder Anregungen sehr dankbar.
Vielleicht die Nachricht an anderer Stelle als in der "Hauptform"
zu fangen und das aus dem Programm dann selber zu regeln...
Dank vorab und Grüße,
Detlef
gelesen habe ich schon eine Menge, auch zu diesem Thema, wo ich gerade eine Lösung für suche. Das schon mehrere Tage.
Problemstellung, eine Applikation überwacht Waagen über TCP. Da es da nicht viel zu überwachen gibt, kann der Anwender die Applikation in den Hintergrund schicken "me.hide" oder das Fenster einfach überdecken mit anderen.
Will der User nun was wissen, kann er wie normal üblich das Programm nach vorne holen, über "NotifyIcon".
Es hat sich gezeigt das es viel verlangt ist , der User startet einfach das Programm erneut.
Das abzufangen ist leicht, falls das Fenster im Hintergrund liegt.
VB.NET-Quellcode
- Dim myhandle As IntPtr = currentProcess.Handle
- If Process.GetProcessesByName(currentProcess.ProcessName).Length > 1 Then
- For Each p As Process In pl
- If p.ProcessName = My.Application.Info.Title Then
- If p.Handle <> myhandle Then
- 'SendMessage(p.MainWindowHandle, WM_USER + 5, 0, 0)
- SetForegroundWindow(p.MainWindowHandle)
- End
- End If
- End
- End If
- Next
- End If
Funktioniert auch teilweise ganz gut,
Der Hacken ist, ich kann die Nachricht nicht fangen, wenn das Fenster ausgeblendet ist
"me.hide" der FensterHandle "p.MainWindowHandle" hat dann der Wert "0"
... und falls das Fenster Minimiert ist, kann der FensterHandle nicht aufgelöst werden.
Da wäre ich für ein paar Tipps oder Anregungen sehr dankbar.
Vielleicht die Nachricht an anderer Stelle als in der "Hauptform"
zu fangen und das aus dem Programm dann selber zu regeln...
Dank vorab und Grüße,
Detlef
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „spacedet“ ()