Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Mfc-exe als Dienst

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.11.2003, 18:12 Uhr
~Chris
Gast


Hallo zusammen,
wie kann ich eine .exe als Dienst laufen lassen ?

Mit CreateService() bekomme ich das nicht hin.
BS: WinXp Home

Hier der verwendete Code:

LPCTSTR lpszBinaryPathName = "C\test.exe";
CString lpszDisplayName = "MeinService";
SC_HANDLE manager = OpenSCManager(NULL, SERVICES_ACTIVE_DATABASE,SC_MANAGER_ALL_ACCESS);

SC_HANDLE schService = CreateService(
manager, // SCManager database
"Rekursion1", // name of service
lpszDisplayName, // service name to display
SERVICE_ALL_ACCESS, // desired access
SERVICE_WIN32_OWN_PROCESS, // service type
SERVICE_AUTO_START, // start type
SERVICE_ERROR_NORMAL, // error control type
lpszBinaryPathName, // service's binary
NULL, // no load ordering group
NULL, // no tag identifier
NULL, // no dependencies
NULL, // LocalSystem account
NULL); // no password


if (schService == NULL)
AfxMessageBox("Error: CreateService");
else
AfxMessageBox("CreateService SUCCESS.");

CloseServiceHandle(schService);


schService ist immer NULL.

Was mache ich falsch ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.11.2003, 18:55 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


probier mal:


C++:
SC_HANDLE manager = OpenSCManager(NULL, SERVICES_ACTIVE_DATABASE,SC_MANAGER_ALL_ACCESS);
if(manager == NULL)
{
  int iError = GetLastError();
  switch(iError)
  {
  case ERROR_ACCESS_DENIED:
    AfxMessageBox(" The requested access was denied ");
    break;
  case ERROR_DATABASE_DOES_NOT_EXIST:
    AfxMessageBox("The specified database does not exist");
    break;
  case ERROR_INVALID_PARAMETER:
    AfxMessageBox("A specified parameter is invalid");
  }
}


Dann sieht man wenigstens welchen Fehler er dir zurückgibt
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.11.2003, 16:29 Uhr
~Chris
Gast


Danke !

Den Dienst kann ich jetzt erzeugen und er wird mir auch im System angezeigt.
Das neue Problem:

Ich kann den Dienst nicht starten aus folgendem Grund:
Fehler 1053: Der Dienst antwortet nicht ... auf die Start- oder Steuerungsanforderung.

Um´s nochmal zu beschreiben:
Die exe liegt bei mir momentan noch im Debug-ORdner einer MFC Anwendung.
Wenn die exe gestartet wird, dann öffnet sich ein Dialog, d.h. der Dienst sollte dann auch einen Dialog öffnen ...

Ist es überhaupt möglich, einen Dienst von einer Dialogfeldbasierenden MFC-Anwendung zu installieren bzw. dann zu starten ?

Wo soll ich ansetzen ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: