User Passwort
 Passwort speichern Passwort vergessen?
 
 
 
 Alle Foren
 PDA-Dev :: Windows Mobile
 C#
 Form minimieren und aus Taskmanager entfernen

Hinweis: Sie müssen sich registrieren, um eine Antwort schreiben zu können.
Um sich zu registrieren, klicken Sie hier. Die Registrierung ist kostenlos!

Auflösung:
Benutzer:
Passwort:
Funktion:
Format: FettKursivUnterstreichenDurchstreichen Links ausrichtenZentrierenRechts ausrichten Horizontale Line Hyperlink einfügenEmail einfügenBild einfügen Code einfügenZitat einfügenListe einfügen Spoiler einfügen Infos zur Code-Formatierung
   
Nachricht:

Smilies
Achtung [!] Aufgeregt [angry] Big Smile [:D] Computer... [comp]
Durchgedreht [O] Idee [i!] Jubel [jump] Ratlos [:I?]
Schüchtern [8)] Smile [:)] Sprachlos [:O!] Traurig [:(]
Wütend [:(!] Zunge [:P] Zustimmung [^] Zwinkern [;)]

     HTML ist AUS | Forum Code ist AN
Tags:
Bereits vorhandene Tags: API Form
Wiederholen Sie wichtige Tags oder fügen Sie neue Tags hinzu.
Trennen Sie mehrere Tags durch Kommas voneinander ab.

  Signatur anhängen.
Dieses Thema abonnieren.
    

  Übersicht  
~Sammy~
Erstellt am: 03.05.2009 : 23:56:09 Uhr
Hallo Leute,
ich habe eine Anwendung geschrieben, die aus 2 Formularen besteht.
Zu dem Zeitpunkt an dem beide geöffnet sind erscheinen auch beide im Taskmanager.
Wie kann ich es machen, dass nur das Hauptfenster angezeigt wird?
Im moment zeig ich das zweite Fenster so an:
frmOptions.ShowDialog();
Und wie kann ich es über einen Codebefehl lösen das ich die Anwendung minimiere? Also praktisch das X per Code drücke?
Ich will es nicht beenden, sondern nur minimieren.
Bei C# Anwendungen auf dem PC würde es anscheinend so gehen:
this.WindowState = FormWindowState.Minimized;
Minimized ist allerdings auf dem PPC nicht verfügber.
Es gibt nur Maximized und Normal.
Gibt es dazu vielleicht eine passende Windows Message?
Vielen Dank im vorraus.
Die 3 letzen Antworten (Neue zuerst)
pda-dev
Erstellt am: 08.05.2009 : 09:35:11 Uhr
Naja wie du das Form vor Pocket Plus versteckst, kann ich leider auch nicht sagen, da ich dessen Algorithmus nicht kenne. Grundsäzlich gilt natürlich: solange das Formular lebt, kann es auch irgendwie aufgefunden werden.
Ich habe mir mal folgende Hilfsmethoden gebastelt, vielleicht helfen sie dir weiter (ist VB.NET, sorry, aber es gibt ja Übersetzer von VB.NET nach C#)
 
Private Const HWND_TOP = 0
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const HWND_BOTTOM = 1
Private Const SWP_SHOWWINDOW = &H40
Private Const SWP_HIDEWINDOW = &H80
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOACTIVATE = &H10
<DllImport("CoreDll", EntryPoint:="SetWindowPos")> _
Private Shared Function SetWindowPos(ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
End Function
<System.Runtime.InteropServices.DllImport("CoreDll")> _
Private Shared Function FindWindow(ByVal className As String, ByVal WindowsName As String) As IntPtr
End Function
'minimiert ein Fenster
'Fenster wird noch in Taskbar angezeigt (?)
Private Shared Function Minimize(ByVal strWindowText As String) As Integer
Dim hwnd As Integer
hwnd = FindWindow(Nothing, strWindowText).ToInt32
If hwnd = 0 Then 'fenster wurde nicht gefunden
Return 0
Else
Return SetWindowPos(hwnd, HWND_BOTTOM, 0, 0, 240, 320, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOSIZE Or SWP_NOMOVE)
End If
End Function
''' <summary>
''' Zeigt das Fenster mit der übergebenen Caption an.
''' </summary>
''' <param name="strCaption"></param>
''' <remarks></remarks>
Public Shared Sub ShowWindowOnTop(ByVal strCaption As String)
Dim hwnd As IntPtr
hwnd = FindWindow(Nothing, strCaption)
Dim res As Integer = SetWindowPos(hwnd.ToInt32, HWND_NOTOPMOST, 0, 0, 240, 320, SWP_SHOWWINDOW)
End Sub
 
Wenn du etwas mit den Parametern spielst, kommst du evtl. auf das gewünschte Ergebnis.
~Sammy~
Erstellt am: 07.05.2009 : 19:13:24 Uhr
Mit Hide verschwindet es zwar auch aus dem Taskmanager, aber das hab ich anders gemeint.
Ich benutze SPB Pocket Plus und der zeigt eine Art Mini Taskmanager an wenn ich lang auf das [X] Oben rechts drücke.
Man kann Programme beenden oder zwischen aktiven Programmen switchen.
Das zweite Fenster meines Progs (Optionen-Fenster) soll nicht in dieser Liste, also auch nicht im Taskmanager erscheinen.
Gibt es vielleicht eine möglichkeit darauf zu reagieren wenn mein Programm erneut starten will und dann einfach nur das Show aufzurufen?
pda-dev
Erstellt am: 07.05.2009 : 09:18:57 Uhr
Hmm ich bin mir nicht sicher, aber soweit ich weiss verschwindet das Formular auch aus dem Taskmanager, wenn man es mit "Hide" versteckt.



pda-dev.de

Quicklinks: Foren-Übersicht | Developer-News | Suche | Impressum

© just-works! Software

Zum Anfang der Seite

Snitz Forums 2000