AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Service und Vista - Interactive läuft nicht

Ein Thema von dmagin · begonnen am 28. Nov 2008 · letzter Beitrag vom 28. Nov 2008
Antwort Antwort
Seite 1 von 2  1 2      
dmagin

Registriert seit: 17. Jan 2003
Ort: Frankfurt
33 Beiträge
 
#1

Service und Vista - Interactive läuft nicht

  Alt 28. Nov 2008, 11:21
Moin liebe DelphiPraxis Gemeinde,

nun mal eine Frage von mir. Vielleicht habe ich gerade ein Hänger im Kopf jedoch irgendwie finde ich es nicht raus.
Also man erstellt einen ganz nornmalen Service unter Delphi (wie ich es immer schon machte).

Hier mal ein Beispiel mit Showmessage geht einfach nicht mehr (beep auch nicht).
Interactive ist auf TRUE gesetzt.

Der Service lässt sich einwandfrei kompilieren installieren ausführen usw..
Wenn ich im Timer eine Datei mitschreibe klappt es, also der timer läuft.

Das ganze unter Vista. Services lassen sich ja unter vista nur als Admin installieren. Habe ich ja auch gemacht.

Einer ne Idee??

Gruss Daniel Magin

Delphi-Quellcode:
unit u_ServiceModule;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs,
  ExtCtrls;

type
  TService7 = class(TService)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure ServiceExecute(Sender: TService);
  private
    { Private-Deklarationen }
  public
    function GetServiceController: TServiceController; override;
    { Public-Deklarationen }
  end;

var
  Service7: TService7;

implementation

{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
  Service7.Controller(CtrlCode);
end;

function TService7.GetServiceController: TServiceController;
begin
  Result := ServiceController;
end;

procedure TService7.ServiceExecute(Sender: TService);
begin
  Timer1.Enabled:=true;
  while not Terminated do
   ServiceThread.ProcessRequests(True);

  Timer1.Enabled := False

end;

procedure TService7.Timer1Timer(Sender: TObject);
begin
// beep;
 showmessage('Hallo ich bins');

// sTemp:=TStringList.Create;
// if FileExists('c:\tmp\aa_service.txt') then
// sTemp.LoadFromFile('c:\tmp\aa_service.txt');
//
//
// sTemp.add(TimeToStr(now));
// stemp.SaveToFile('c:\tmp\aa_service.txt');
// stemp.free;

end;

end.
Daniel Magin
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Service und Vista - Interactive läuft nicht

  Alt 28. Nov 2008, 11:26
Zitat von dmagin:
Das ganze unter Vista. Services lassen sich ja unter vista nur als Admin installieren. Habe ich ja auch gemacht.
Ist schon seit NT so. Schon mal nur als User der Gruppe "Benutzer" und nicht "Hauptbenutzer" sowas probiert?

Zitat von dmagin:
Hier mal ein Beispiel mit Showmessage geht einfach nicht mehr (beep auch nicht).
Interactive ist auf TRUE gesetzt.
As Designed. Da solche interaktion eine große potentielle Sicherheitslücke darstellt wird es nicht mehr unterstützt (bzw. du müsstest explizit Registry-Keys anpassen). Bau lieber dein Programm um: Ein Teil Server, ein Teil GUI und beide kommunizieren z.B. mit TCP-IP miteinander.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
dmagin

Registriert seit: 17. Jan 2003
Ort: Frankfurt
33 Beiträge
 
#3

Re: Service und Vista - Interactive läuft nicht

  Alt 28. Nov 2008, 11:28
hi bernhard,

bist du sicher,

ich dachte ich hab damals auf den roadshows mit xp und delphi 6 oder 7 (?) ein timer mit beep gebaut. werde es mal unter xp nochmal probieren.

aber erstmal danke
Daniel Magin
  Mit Zitat antworten Zitat
dmagin

Registriert seit: 17. Jan 2003
Ort: Frankfurt
33 Beiträge
 
#4

Re: Service und Vista - Interactive läuft nicht

  Alt 28. Nov 2008, 11:34
Hi Bernhard,

also unter XP läuft das einwandfrei (beep und showmessage).

also ist es in vista verboten.

Hat jemand eine Idee es dort beep und showmessage'n zu lassen

gruss daniel magin



EDIT:
Also der Dienst Beep auch wenn keiner eingeloggt ist (in XP).
Daniel Magin
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Service und Vista - Interactive läuft nicht

  Alt 28. Nov 2008, 11:48
Zitat von dmagin:
ich dachte ich hab damals auf den roadshows mit xp und delphi 6 oder 7 (?) ein timer mit beep gebaut. werde es mal unter xp nochmal probieren.
Zu XP-zeiten war das noch Problemlos möglich.


Zitat von dmagin:
Hat jemand eine Idee es dort beep und showmessage'n zu lassen
Aus dem Dienst gar nicht. Mein Lösung habe ich schon geschrieben

Zitat von dmagin:
Also der Dienst Beep auch wenn keiner eingeloggt ist (in XP).
Hier wäre eine GINA-Erweiterung sinnvoll.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
dmagin

Registriert seit: 17. Jan 2003
Ort: Frankfurt
33 Beiträge
 
#6

Re: Service und Vista - Interactive läuft nicht

  Alt 28. Nov 2008, 11:58
wird halt nicht mehr gebeept sondern wie du schon auch gemeint hast zu einer tray app per tcp ne message gesendet.

egal

trotzdem danke und noch viel spass

Daniel Magin
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Service und Vista - Interactive läuft nicht

  Alt 28. Nov 2008, 12:08
Ui, deine Frage überrascht mich jetzt aber etwas. Dass es bei Hobbyprogrammierern noch nicht ganz durchgedrungen ist, dass interaktive Dienste eine Sicherheitslücke darstellen und deswegen seit Windows Vista auch nicht mehr unterstützt werden, kann ich ja noch verstehen. Aber bei dir?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#8

Re: Service und Vista - Interactive läuft nicht

  Alt 28. Nov 2008, 12:10
Soviel ich weis, lässt Vista keine direkten Userinteraktionen mit Systemdiensten zu bzw. schränkt diese ein.

guck mal hier

http://www.winfaq.de/faq_html/Conten...?h=tip2336.htm
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#9

Re: Service und Vista - Interactive läuft nicht

  Alt 28. Nov 2008, 16:27
Das ganze Unterfangen funktioniert eigentlich seit Win2000 nicht mehr. Das Problem sind Sessions für den Multiuserbetrieb. Jeder eingeloggte Benutzer (Konsole oder Terminal-RDP) bekommt eine eigene Session. Unter XP teilen sich Dienste und der erste eingeloggte Benutzer die Session Nummer 0. Ein neuer Benutzer bekommt die 1 usw. In Vista hat wurde für Dienste und der erste Benutzer zwei Sessions eingeführt und daher sind interaktive Dienste nicht mehr möglich.

Eine Session ist eine Umgebung, die WindowStations, Desktops und einiges mehr besitzt. Jede hat eine winsta0\winlogon + default Desktop. SendMessage (Und damit das ganze Windowmanagersystem) funktioniert nicht über Sessiongrenzen hinweg und sogar ein Großteil der Handles sind ungültig.
Benutze WTSSendMessage für eine session-gezielte Nachrichtenbox (nur lokal).

UpdateHabe ich doch glatt meinen Artikel vergessen:
http://blog.delphi-jedi.net/2008/06/...ite-a-service/
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Service und Vista - Interactive läuft nicht

  Alt 28. Nov 2008, 20:41
Handles sind sogar desktopspezifisch.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz