Dienst mit CBuilder 6 für Vista und höher



  • Hallo,

    ich habe mit dem C-Builder 6 einen Dienst programmiert, der über das Task-Icon einen Dialog anzeigen kann, nachdem sich ein Benutzer angemeldet hat.
    Dieser Dienst funktioniert für Betriebssysteme vor Windows Vista ohne Probleme. Da es seit Vista die “Session 0-Isoaltion” gibt, ist eine Interaktion mit der Oberfläche nicht mehr direkt möglich.
    Vom Prinzip her habe ich in verschiedenen Foren gelesen was am Dienst zu ändern ist, damit er auch ab Vista läuft:

    1. Mit WTSGetActiveConsoleSessionId und WTSQueryUserToken auf einen angemeldeten Benutzer warten
    2. Mit CreateProcessAsUser einen neuen Prozess starten

    Aber wie lässt sich dies mit dem Builder 6 umsetzen, ein Beispiel hierzu wäre super.
    Eine Umsetung mit einer neueren C-Builder Version kommt leider nicht in Frage, da der Dienst ein Teil eines größeren Projektes ist, welches sich nicht mal eben umschreiben lässt.

    Gruß myerscola



  • Hallo zusammen,

    leider kann ich Dir nicht weiterhelfen, jedoch das Thema interessiert mich, da ich nächstes Jahr ein ähnliches Problem haben könnte (Umstieg XP embedded auf Win7 embedded).
    Wenn Du im Prinzip weißt welche Funktionen Du aufrufen mußt wo liegt dann genau dein Problem?

    MfG Stephan



  • Mein Problem liegt darin, dass diese Vorgehensweise bei mir leider nicht funktioniert hat und ich mir nicht sicher bin, ob dies mit dem CBuilder 6 überhaupt möglich ist.
    All meine Versuche diesbezüglich liegen jetzt schon längere Zeit zurück, aber ich erinnere mich noch, dass ich es nicht hinbekommen habe, vom Dienst aus einen
    Prozess in einer anderen Session mit den Benutzerdaten des angemeldeten Users zu starten.
    Mich würde daher interessieren, ob jemand dies mit dem CBuilder 6 bereits realisieren konnte.



  • Hallo zusammen,

    also ich würde mal behaupten das dies nichts mit der Version des Compilers zu tun hat.
    Wenn es mit einer aktuellen Builder Version funktioniert (clang mal ausgeschlossen) sehe ich keinen Grund warum es mit dem 6er nicht funktionieren soll.
    Ich kann bei Gelegenheit mal nachschauen was ich in XP embedded mache.
    Solltest Du diesbezüglich etwas neues Wissen gib hier bitte Bescheid.
    Danke.

    MfG Stephan


Log in to reply