AGB  ·  Datenschutz  ·  Impressum  







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

TService - Druckerproblem!

Ein Thema von Killi138 · begonnen am 26. Nov 2003 · letzter Beitrag vom 26. Nov 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#11

Re: TService - Druckerproblem!

  Alt 26. Nov 2003, 13:41
Eine Bemerkung noch: einen Service zu schreiben der Interaktiv ist, ist im grunde schwachsinnig. Interaktive Services unterwandern den eigentlichen Sinn von Services und somit auch die Sicherheit. Sie sind im Grunde schlimmer, eg. unsicherer, als normale Anwendungen.

Einen interaktiven Service kannste auch als normale Anwendung programmieren, und dies wäre dann vom Sicherheitskonzept sinnvoller und erspart dir viel Arbeit.
Normalerweise sollte ein Service nicht interaktiv sein, und falls notwendig wird eine zweite Anwendung installiert die dann die Informationen zum Service anzeigen und ändern kann.

Gruß Hagen
  Mit Zitat antworten Zitat
Killi138

Registriert seit: 18. Okt 2003
Ort: Nellmersbach/Stuttgart
23 Beiträge
 
Delphi 6 Professional
 
#12

Re: TService - Druckerproblem!

  Alt 26. Nov 2003, 13:43
brauch aber ne gute Lösung um ein externes Programm VOR allem anderen zu starten - dass man nicht auf die TaskBar kommt...
Life is hard and then you die
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#13

Re: TService - Druckerproblem!

  Alt 26. Nov 2003, 13:46
Dein TForm sollte in TService.OnExecute() erzeugt und auch wieder freigegeben werden. Bedenke in Serives ist alles Thread-basiert.

Gruß Hagen
  Mit Zitat antworten Zitat
Killi138

Registriert seit: 18. Okt 2003
Ort: Nellmersbach/Stuttgart
23 Beiträge
 
Delphi 6 Professional
 
#14

Re: TService - Druckerproblem!

  Alt 26. Nov 2003, 13:48
das ist bisher so:

Code:
procedure TService1.ServiceStart(Sender: TService; var Started: Boolean);
var
  ProcID: PCardinal;
begin
RunProcess(ExtractFilePath(ParamStr(0)) + 'Disco.exe', SW_MINIMIZE, TRUE, ProcID);

end;

function TService1.RunProcess(FileName: string; ShowCmd: DWORD; wait: Boolean; ProcID: PCardinal): Longword;
var
  StartupInfo: TStartupInfo;
  ProcessInfo: TProcessInformation;
begin
  FillChar(StartupInfo, SizeOf(StartupInfo), #0);
  StartupInfo.cb         := SizeOf(StartupInfo);
  StartupInfo.dwFlags    := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
  StartupInfo.wShowWindow := ShowCmd;
  if not CreateProcess(nil,
    @Filename[1],
    nil,
    nil,
    False,
    CREATE_NEW_CONSOLE or
    NORMAL_PRIORITY_CLASS,
    nil,
    nil,
    StartupInfo,
    ProcessInfo)
    then
      Result := WAIT_FAILED
  else
  begin
    if wait = FALSE then
    begin
      if ProcID <> nil then ProcID^ := ProcessInfo.dwProcessId;
      exit;
    end;
    WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
    GetExitCodeProcess(ProcessInfo.hProcess, Result);
  end;
  if ProcessInfo.hProcess <> 0 then
    CloseHandle(ProcessInfo.hProcess);
  if ProcessInfo.hThread <> 0 then
    CloseHandle(ProcessInfo.hThread);
end;

dai ich ja kein form anzeigen will, sondern ein Programm starte...
Life is hard and then you die
  Mit Zitat antworten Zitat
Killi138

Registriert seit: 18. Okt 2003
Ort: Nellmersbach/Stuttgart
23 Beiträge
 
Delphi 6 Professional
 
#15

Re: TService - Druckerproblem!

  Alt 26. Nov 2003, 15:00
weiß keiner woran es liegen könnte?
Life is hard and then you die
  Mit Zitat antworten Zitat
Killi138

Registriert seit: 18. Okt 2003
Ort: Nellmersbach/Stuttgart
23 Beiträge
 
Delphi 6 Professional
 
#16

Re: TService - Druckerproblem!

  Alt 26. Nov 2003, 15:02
weiß keiner woran es liegen könnte?
Life is hard and then you die
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:31 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