myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Basistechnologien und allgemeine .NET-Klassen » Wie kann ich aus einem Dienst ein Programm (visuell) öffnen?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie kann ich aus einem Dienst ein Programm (visuell) öffnen?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Nesso
myCSharp.de-Mitglied

avatar-3159.jpg


Dabei seit: 20.08.2010
Beiträge: 18
Entwicklungsumgebung: VS 2008, VS 2010


Nesso ist offline

Wie kann ich aus einem Dienst ein Programm (visuell) öffnen?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Liebe myC# Freunde,

folgendens plagt mich beim aufrufen einer DLL übern einen Dienst...

Szenario: Über einen Dienst wird eine DLL eingebunden (ist auch registriert) auf einem Windows Server (2012) (Testumgebung).
Diese DLL ruft eine beliebige Anwendung auf, als Beispiel nehmen wir Notepad.exe, die ich mit  System.Diagnostic.Process.Start aufrufe

Wird die DLL über den Dienst ausgeführt, sehe ich Notepad nur als Hintergrundprozess. Erwartet hätte ich, das der Editor aufgeht.

Packe in den gleichen Code in einer Konsolenanwendung zum testen und starte die EXE, funktioniert das einwandfrei.

Daraufhin kam mir die Idee, dass ich eventuell Parametern von  System.Diagnostics.ProcessStartInfo übergeben muss.
Habe das im unterem Code ausgeführt, an welche ich mich bedient habe aus meinen Recherchen.

Leider bekam ich nicht den gewünschten Effekt zurück und ich sehe Notepad nur im Hintergrundprozess.
Vll kann mir jemand diesen Verhalten erklären, da ich gerade nicht schlau davon werde.
Kann es sein, das ich irgendwelche Parameter vergessen habe?

Hier mein Code:

C#-Code:
var ssPwd = new SecureString();
                string password = "meinPW!";
                for (int x = 0; x < password.Length; x++)
                {
                    ssPwd.AppendChar(password[x]);
                }
                using (Process process1 = new Process())
                {
                    process1.StartInfo = new ProcessStartInfo(@"C:\Windows\system32\notepad.exe");
                    process1.StartInfo.CreateNoWindow = true;
                    process1.StartInfo.ErrorDialog = false;
                    process1.StartInfo.RedirectStandardError = true;
                    process1.StartInfo.RedirectStandardInput = true;
                    process1.StartInfo.RedirectStandardOutput = true;
                    process1.StartInfo.UseShellExecute = false;
                    process1.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                    process1.StartInfo.UserName = Environment.UserName;
                    process1.StartInfo.Password = ssPwd;
                    process1.StartInfo.Domain = Environment.UserDomainName;
                    process1.Start();
                    process1.WaitForExit();
                }

Ich hoffe, das Forum ist richtig gewählt und ich habe die Forumssuche richtig bedient enttäuscht
Liebe Grüße
Neuer Beitrag 04.08.2020 19:04 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
dannoe
myCSharp.de-Mitglied

Dabei seit: 24.11.2015
Beiträge: 95
Entwicklungsumgebung: VS2005-VS2017


dannoe ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Per Dienst gestartete Anwendungen haben im Normalfall nicht die Möglichkeit mit dem Desktop zu interagieren (und sollten sie auch nicht).
Warum? =>  Interacting with Services | Microsoft Docs und  Interactive Services - Win32 apps | Microsoft Docs
Neuer Beitrag 04.08.2020 19:47 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.029
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Windows Services haben - anders als Konsolenanwendungen - keinen Shell/UI Zugriff und können daher entsprechende Anwendungen auch nicht starten, die selbige benötigen.
Neuer Beitrag 04.08.2020 20:21 Beiträge des Benutzers | zu Buddylist hinzufügen
Nesso
myCSharp.de-Mitglied

avatar-3159.jpg


Dabei seit: 20.08.2010
Beiträge: 18
Entwicklungsumgebung: VS 2008, VS 2010

Themenstarter Thema begonnen von Nesso

Nesso ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Leute,

vielen Dank, die MSDN Artikeln waren für mich sehr hilfreich! Daumen hoch Daumen hoch
Neuer Beitrag 05.08.2020 11:52 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 13.08.2020 16:08