AppWinStyle nachträglich ändern

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von daniel303.

    AppWinStyle nachträglich ändern

    Moin,
    ich habe ein kleines Problem und zwar möchte ich eine Anwendung versteckt starten, dass tue ich mit

    Quellcode

    1. dbl_taskid = Shell("notepad.exe", AppWinStyle.Hide)
    2. If dbl_taskid = 0 Then
    3. LoginStatus.Text = "Stopped"
    4. LoginStatus.ForeColor = Color.Green
    5. Else
    6. LoginStatus.Text = "Running"
    7. LoginStatus.ForeColor = Color.Green
    8. End If

    So wenn man nun aber auf das Label, wo jetzt Running oder Stopped drin steht rauf klickt, soll die Anwendung wider erscheinen.
    Wie kann ich also den Parameter "AppWinStyle.hide" nachträglich wieder ändern?

    Danke,
    Daniel303
    Steig um auf Process

    VB.NET-Quellcode

    1. Dim pr As New Process
    2. pr.StartInfo.FileName = "Notepad.exe"
    3. pr.Start()
    4. 'pr.MainWindowHandle
    da hast Du die Property pr.MainWindowHandle, mit ihr kannst Du das Notepad sichtbar machen:

    VB.NET-Quellcode

    1. <DllImport("user32.dll")> _
    2. Public Shared Function ShowWindow(hwnd As IntPtr, nCmdShow As Integer) As IntPtr
    3. End Function
    4. Public Const SW_HIDE As Integer = 0
    5. Public Const SW_SHOWNORMAL As Integer = 1
    6. Private Sub ShowExe(ByVal (visible As Boolean)
    7. If (visible) Then
    8. ShowWindow(pr.MainWindowHandle, SW_SHOWNORMAL)
    9. Else
    10. ShowWindow(pr.MainWindowHandle, SW_HIDE)
    11. End If
    12. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Gut das mit Process klingt ja vielversprechend.
    Ich habe vor, mit diesem Programm einen Apache Webserver zu starten, dieser sucht für gewöhnlich seine Config Files in dem Ordner /config/ der (so habe ich die Erfahrung gemacht) nicht gefunden werden kann, da der Webserver den Ordner im Verzeichnis meines Programmes sucht und selbst wenn ich die Working Directory ändere.
    Gibt es da sonnst noch irgendwelche Erfahrungswerte mit solch einem Problem?

    Danke!!!