Super, danke!
Leider bekomme ich es immernoch nicht ans laufen. Selbst ein noninteraktiver Dienst, der ohne jeglichen Inhalt (s.u.) kompiliert wurde, ist unter Vista bisher bei mir nicht lauffähig. Ich denke daher, dass es nicht an der Programmierung der Funktionalitäten scheitert, sondern an der "Deklaration" des Dienstes selbst.
Delphi-Quellcode:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs;
type
TService2 =
class(TService)
private
{ Private-Deklarationen }
public
function GetServiceController: TServiceController;
override;
{ Public-Deklarationen }
end;
var
Service2: TService2;
implementation
{$R *.DFM}
procedure ServiceController(CtrlCode: DWord);
stdcall;
begin
Service2.Controller(CtrlCode);
end;
function TService2.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
end.
Der Dienst soll Informationen mit einer anderen Anwendung austauschen. Da interaktive Dienste bei Vista ja nicht mehr gestattet sind, dachte ich also am Memory Mapped Files (MMF). Unter WinXP funktioniert das auch alles.
Sehe ich das richtig, dass MMF nicht der richtige Weg zur Interprozesskommunikation in Vista ist?