tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
NEIN
ANTWORTEN
16
ZUGRIFFE
5153
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    Dienste könnte bis XP / W2k3 per Default nicht mit dem Desktop interagieren
    (muss dem Dienst explizit gesagt werden). Ab Vista / W2k8 gar nicht mehr und ist auch nicht zu empfehlen!
    Wenn du eine WinForms Anwendung benötigst, die mit einem Dienst kommuniziert, dann muss dies über Sockets, .NET Remoting oder WCF geschehen.

    Den Zusammenhang zwischen Tracing und WinForms Anwendung versteh ich jetzt aber nicht so wirklich

    ----------------
    Now playing: Rockland
    via FoxyTunes
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  2. #17
    Avatar von mutterholzbein
    mutterholzbein mutterholzbein ist offline Mitglied
    Registriert seit
    Feb 2007
    Ort
    Erfurt
    Beiträge
    20
    Zitat Zitat von eXistenC Beitrag anzeigen
    Hallo Mutterholzbein,

    erst mal genialer Nick... Zeugt von Einfallsreichtum.
    thx
    Zitat Zitat von eXistenC Beitrag anzeigen
    Was man sieht:
    Den Dienst, den Prozess des Dienstes und die gestartete WindowsApplication die dann eine Form zeigen soll. Aber nur den Prozess, ...

    Keine Form auf dem Desktop, also besser gesagt er erzeugt keine GUI.
    ..
    LG eXi
    ...
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    writeToServiceLog("Testanwendung wird gestartet.");
                    myTest = new Process();
                    myTest.StartInfo.FileName = @"E:\FIleCollector\TestAnwendung.exe";
                    myTest.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
                    myTest.StartInfo.CreateNoWindow = false;                
     
                    myTest.Start();
    Ich habe den Code mal schnell in eine App getippt und bei mir lief es am Anfang nicht weil ich den Pfad\zur\Datei\ nicht richtig angegeben hatte, bzw vom system nicht erkannt werden konnte.

    Hab dann einfach (ich habe einen Ordner "Development" genau auf dem Desktop) einen string mit dem Pfad (via DirectoyInfo hab ich mir die Speziellen Ordner wie "Desktop" geholt, da es mit %userprofile%\Desktop nicht geht) angelegt und diesen dann übergeben lassen; die ganze Geschichte noch in einen try-catch-block
    gepackt um zu sehen wo evntl. ne Exception gefeuert wird, und dananch lief es.

    Ich poste mal den Source:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    DirectoryInfo di = new DirectoryInfo(System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop));
                string file = di.ToString() + "\\development\\SendSMS\\SendSMS\\bin\\Debug\\sendsms.exe"; 
                try
                {
                    DialogResult dr = MessageBox.Show("Wollen Sie\r\n" + file + "\r\nöffnen?\r\n", "Frage:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                    if (dr == DialogResult.OK)
                    {
                        myTest = new Process();
                        myTest.StartInfo.FileName = file;
                        myTest.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
                        myTest.StartInfo.CreateNoWindow = false;
                        Application.DoEvents();
                        myTest.Start();
                    }
                }
                catch (Exception ex)
                { MessageBox.Show(ex.Message); }
                Application.Exit();
    Mit dieser Quick'n-Dirty Variante lief die Geschichte. Ich würde sagen überprüf noch mal die Pfade
    Zitat Zitat von eXistenC Beitrag anzeigen
    ...
    myTest.StartInfo.FileName = @"E:\FIleCollector\TestAnwendung.exe";
    ..
    und falls diese doch stimmen sollten, versuch dir doch erstmal so viele Ausgaben über die Aktivitäten deines Priggis zu holen wie, vorserst, möglich (natürlich sollst du diese nicht belassen)! Um zu sehen WIE dein Priggi seine Anweisungen verarbeitet (um Feststellen/Ausschliessen zu können das der Fehler vllt. doch an anderer Stelle liegt).

    greetz, me


    post skriptum:

    Sag mal wird eigentlich nach dem Versuch des Startens deiner "TestAnwendung.exe" die zugehörige TestAnwendung.vshost.exe (ohne das Projekt im VS gerade offen zu haben) ausgeführt?
     

Ähnliche Themen

  1. Dienst installieren und starten
    Von DrMueller im Forum .NET Application und Service Design
    Antworten: 0
    Letzter Beitrag: 06.03.08, 15:22
  2. #develop, Dienst entwickeln und installieren
    Von D12 im Forum .NET Archiv
    Antworten: 3
    Letzter Beitrag: 26.07.05, 09:40
  3. Windows-Dienst installieren
    Von theindra im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 22.06.04, 18:19
  4. Windows-Dienst installieren
    Von theindra im Forum .NET Archiv
    Antworten: 0
    Letzter Beitrag: 17.06.04, 18:04
  5. XP Pro - Dienst installieren ?
    Von Andreas Späth im Forum Microsoft Windows
    Antworten: 2
    Letzter Beitrag: 12.03.04, 21:50