<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Service Installieren ok; ist in Computerverwaltung niht gelistet, aber im Taskmanager]]></title><description><![CDATA[<p>Hey all,<br />
ich hatte mal einen Service, und brauche jetzt wieder einen, also habe ich auf den alten Code zurückgegriffen und ihn umgeschrieben.<br />
Jetzt steht im Taskmanager mein Eintrag von wegen Dienst und er &quot;läuft&quot; uach, aber in der computerverwaltung ist er nicht gelistet...</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;windows.h&gt;
#include &lt;Winsvc.h&gt;
#include &lt;stdbool.h&gt;
#include &lt;winreg.h&gt;
#include &quot;resource.h&quot;

#define VERSION		&quot;0.00.04&quot;
#define svcName 	&quot;SyDWatch&quot;
#define svcDesc 	&quot;This service looks for the S.M.A.R.T. parameters of your hard disk drive.&quot;

/*Install the service,											*
  *return -1 = Servicename does allready exist							*
  *return -2 = Access denied										*
  *return -3 = A critical service dependency was detected						*
  *return -4 = Invalid service name									*
  *return -5 = Service allready exist									*
  *return -6 = unknown failure										*
  *return -7 = OpenSCManager has got a failure							*/
int installMyService( char *head );

int deInstSvc( char *head );

int main( void )
/*
	Autor:	Oliver Lippert
	Begin:	2007-11-29
			2007-11-30  :  2007-12-01  :  2008-04-04
	End:		==============
	Description:
		This program installs the Service for watching SMART parameters
*/
{
	int ret = 0;

	char *head,
		 eing;

	writeStringToLog( &quot;Svc-Version\t\t\t&quot;, VERSION );

	head = malloc( sizeof(char)*100 );
	if( NULL == head )
	{
		writeStringToLog( &quot;Cant get memory\t&quot;, &quot;for saveing the head.&quot; );
		ret = -1;
	}
	else
		sprintf( head, &quot;The %s service has detected a Failure:&quot;, svcName );

	ret = installMyService( head );

	if( -1 == ret )
		writeStringToLog( &quot;installMyService failed\t&quot;, &quot;servicename allready exist&quot; );
	else if( -2 == ret )
		writeStringToLog( &quot;installMyService failed\t&quot;, &quot;access denied&quot; );
	else if( -3 == ret )
		writeStringToLog( &quot;installMyService failed\t&quot;, &quot;critical service dependency&quot; );
	else if( -4 == ret )
		writeStringToLog( &quot;installMyService failed\t&quot;, &quot;invalid servicename&quot; );
	else if( -5 == ret )
	{
		writeStringToLog( &quot;installMyService failed\t&quot;, &quot;service allready exist&quot; );

		fflush( stdin );
		printf( &quot;\nWould you like to deinstall the service?&lt;j/n&gt;&quot; );
		eing = getch();
		while( 'j' != eing &amp;&amp; 'n' != eing )
			eing = getch();

		if( 'j' == eing )
			deInstSvc( head );
	}
	else if( -6 == ret )
		writeStringToLog( &quot;installMyService failed\t&quot;, &quot;unknown Failure&quot; );

	writeToLog( &quot;Serviceinstall end with(0=OK)\t&quot; , GetLastError() , 1 );
	return ret;
}

int installMyService( char *head )
	//Service wird installiert
{
	char strDir[1024];

	int retValue = 0;

	SC_HANDLE myService,
			  svcManager;

	LPCTSTR binPath = strDir;

	svcManager = 	OpenSCManager(
						NULL,						//Computername to install the Service (NULL ?or &quot;&quot;? = local)
						NULL,						//Database of services (NULL = default)
						SC_MANAGER_CREATE_SERVICE	//access rights
					); 
    if(svcManager == NULL)
		//OpenSCManager fehlgeschlagen
	{
        writeToLog( &quot;OpenSCManager got a failure\t&quot;, GetLastError(), 0 );
		retValue = -7;
	}
    else
		//OpenSCManager erfolgreich, service wird installiert
	{
		myService = CreateService(
						svcManager,										//Der Servicemanager (durch OpenSCManager)
						svcName,										//Service-Name
						svcDesc,										//Service-Beschreibung
						SERVICE_ALL_ACCESS,								//Der Service hat Adminrechte
						SERVICE_WIN32_OWN_PROCESS, 						//Der Service ist ein Systemprozess
						SERVICE_DEMAND_START,							//Manueller Start
						SERVICE_ERROR_NORMAL, 							//Normale Fehlerausgabe
						&quot;\&quot;C:\\Windows\\System32\\SyD\\SyD_Watch.exe\&quot;&quot;,	//Binäre Pfadangabe
						NULL,											//Gruppenmitglied von gruppe (zu finden in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder)
						NULL,											//TagID
						NULL,											//Services die gestartet werden müssen, bevor dieser läuft
						NULL,											//User
						NULL											//Passwort
					);
		if( NULL == myService )
			//CreateService ist fehlgeschlagen, fehler werden eventuell speziell behandelt
		{
			if( ERROR_DUPLICATE_SERVICE_NAME == GetLastError() )
				retValue = -1;	//doppelter Servicename
			else if ( ERROR_ACCESS_DENIED == GetLastError() )
				retValue = -2;	//zugriff verweigert
			else if ( ERROR_CIRCULAR_DEPENDENCY == GetLastError() )
				retValue = -3;	//anzeigename schon vorhanden oder derselbe anzeigename wie ein service-name
			else if ( ERROR_INVALID_NAME == GetLastError() )
				retValue = -4;	//fehlerhafter servicename
			else if ( ERROR_SERVICE_EXISTS == GetLastError() )
				retValue = -5;	//service schon vorhanden
			else
				retValue = -6;

			writeToLog( &quot;Service installation fail\t&quot;, GetLastError(), 0 );

			CloseServiceHandle( svcManager );
	    }
		else
			//CreateService war erfolgreich, service wird gesartet
		{
			writeStringToLog( &quot;Service installation\t\t&quot;, &quot;successfull&quot;);

			StartService(
				myService,	//Servicehandle
				0,			//Number of services arguments
				NULL		//Services arguments
			);

			CloseServiceHandle( myService ); 
			CloseServiceHandle( svcManager );
		}
	}

	return retValue;
}

int deInstSvc( char *head )
	//Service wird deinstalliert
{
	char 	path[100],
			name[100],
			*tmp;

	int		retValue = 0;

	HKEY 	key,
			haupt = HKEY_LOCAL_MACHINE;

	strcpy( name, svcName );
	for( tmp = name; *tmp != '\0'; ++tmp )
		*tmp = toupper( *tmp );

	SC_HANDLE myService,
			  svcManager;

	svcManager = OpenSCManager( NULL, NULL, SC_MANAGER_CREATE_SERVICE ); 
    if(svcManager == NULL)
		//OpenSCManager fehlgeschlagen
    {
        writeToLog( &quot;OpenSCManager has got a failure\t&quot;, GetLastError(), 0 );
		retValue = -1;
    }
	else
		//OpenSCManager erfolgreich, service wird geöffnet und deinstalliert
	{
		myService = OpenService( svcManager, svcName, GENERIC_ALL );
		if( NULL != myService )
		{
			if( !DeleteService( myService ) )
				//DeleteService erfolgreich
			{
				writeStringToLog( &quot;DeleteService\t\t\t&quot;, &quot;erfolgreich&quot; );
				retValue = 0;
			}
			else
				//DeleteService fehlgeschlagen
			{
				writeToLog( &quot;DeleteService\t\t\t&quot;, GetLastError(), 0 );
				retValue = -3;
			}
		}
		else
		{
			writeToLog( &quot;OpenService has got a failure\t&quot;, GetLastError(), 0 );
			retValue = -2;
		}
	}

	return retValue;
}
</code></pre>
<p>bin ich einfach nur zu dumm um den Fehler zu finden?</p>
<p>Währ cool wenn mal wer rüberschaut(das der Code nicht genial ist, ist mir bekannt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Danke schonmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Konstruktive Kritik gern gesehen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/209874/service-installieren-ok-ist-in-computerverwaltung-niht-gelistet-aber-im-taskmanager</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Apr 2026 04:53:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/209874.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 04 Apr 2008 10:02:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Service Installieren ok; ist in Computerverwaltung niht gelistet, aber im Taskmanager on Fri, 04 Apr 2008 10:02:59 GMT]]></title><description><![CDATA[<p>Hey all,<br />
ich hatte mal einen Service, und brauche jetzt wieder einen, also habe ich auf den alten Code zurückgegriffen und ihn umgeschrieben.<br />
Jetzt steht im Taskmanager mein Eintrag von wegen Dienst und er &quot;läuft&quot; uach, aber in der computerverwaltung ist er nicht gelistet...</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;windows.h&gt;
#include &lt;Winsvc.h&gt;
#include &lt;stdbool.h&gt;
#include &lt;winreg.h&gt;
#include &quot;resource.h&quot;

#define VERSION		&quot;0.00.04&quot;
#define svcName 	&quot;SyDWatch&quot;
#define svcDesc 	&quot;This service looks for the S.M.A.R.T. parameters of your hard disk drive.&quot;

/*Install the service,											*
  *return -1 = Servicename does allready exist							*
  *return -2 = Access denied										*
  *return -3 = A critical service dependency was detected						*
  *return -4 = Invalid service name									*
  *return -5 = Service allready exist									*
  *return -6 = unknown failure										*
  *return -7 = OpenSCManager has got a failure							*/
int installMyService( char *head );

int deInstSvc( char *head );

int main( void )
/*
	Autor:	Oliver Lippert
	Begin:	2007-11-29
			2007-11-30  :  2007-12-01  :  2008-04-04
	End:		==============
	Description:
		This program installs the Service for watching SMART parameters
*/
{
	int ret = 0;

	char *head,
		 eing;

	writeStringToLog( &quot;Svc-Version\t\t\t&quot;, VERSION );

	head = malloc( sizeof(char)*100 );
	if( NULL == head )
	{
		writeStringToLog( &quot;Cant get memory\t&quot;, &quot;for saveing the head.&quot; );
		ret = -1;
	}
	else
		sprintf( head, &quot;The %s service has detected a Failure:&quot;, svcName );

	ret = installMyService( head );

	if( -1 == ret )
		writeStringToLog( &quot;installMyService failed\t&quot;, &quot;servicename allready exist&quot; );
	else if( -2 == ret )
		writeStringToLog( &quot;installMyService failed\t&quot;, &quot;access denied&quot; );
	else if( -3 == ret )
		writeStringToLog( &quot;installMyService failed\t&quot;, &quot;critical service dependency&quot; );
	else if( -4 == ret )
		writeStringToLog( &quot;installMyService failed\t&quot;, &quot;invalid servicename&quot; );
	else if( -5 == ret )
	{
		writeStringToLog( &quot;installMyService failed\t&quot;, &quot;service allready exist&quot; );

		fflush( stdin );
		printf( &quot;\nWould you like to deinstall the service?&lt;j/n&gt;&quot; );
		eing = getch();
		while( 'j' != eing &amp;&amp; 'n' != eing )
			eing = getch();

		if( 'j' == eing )
			deInstSvc( head );
	}
	else if( -6 == ret )
		writeStringToLog( &quot;installMyService failed\t&quot;, &quot;unknown Failure&quot; );

	writeToLog( &quot;Serviceinstall end with(0=OK)\t&quot; , GetLastError() , 1 );
	return ret;
}

int installMyService( char *head )
	//Service wird installiert
{
	char strDir[1024];

	int retValue = 0;

	SC_HANDLE myService,
			  svcManager;

	LPCTSTR binPath = strDir;

	svcManager = 	OpenSCManager(
						NULL,						//Computername to install the Service (NULL ?or &quot;&quot;? = local)
						NULL,						//Database of services (NULL = default)
						SC_MANAGER_CREATE_SERVICE	//access rights
					); 
    if(svcManager == NULL)
		//OpenSCManager fehlgeschlagen
	{
        writeToLog( &quot;OpenSCManager got a failure\t&quot;, GetLastError(), 0 );
		retValue = -7;
	}
    else
		//OpenSCManager erfolgreich, service wird installiert
	{
		myService = CreateService(
						svcManager,										//Der Servicemanager (durch OpenSCManager)
						svcName,										//Service-Name
						svcDesc,										//Service-Beschreibung
						SERVICE_ALL_ACCESS,								//Der Service hat Adminrechte
						SERVICE_WIN32_OWN_PROCESS, 						//Der Service ist ein Systemprozess
						SERVICE_DEMAND_START,							//Manueller Start
						SERVICE_ERROR_NORMAL, 							//Normale Fehlerausgabe
						&quot;\&quot;C:\\Windows\\System32\\SyD\\SyD_Watch.exe\&quot;&quot;,	//Binäre Pfadangabe
						NULL,											//Gruppenmitglied von gruppe (zu finden in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder)
						NULL,											//TagID
						NULL,											//Services die gestartet werden müssen, bevor dieser läuft
						NULL,											//User
						NULL											//Passwort
					);
		if( NULL == myService )
			//CreateService ist fehlgeschlagen, fehler werden eventuell speziell behandelt
		{
			if( ERROR_DUPLICATE_SERVICE_NAME == GetLastError() )
				retValue = -1;	//doppelter Servicename
			else if ( ERROR_ACCESS_DENIED == GetLastError() )
				retValue = -2;	//zugriff verweigert
			else if ( ERROR_CIRCULAR_DEPENDENCY == GetLastError() )
				retValue = -3;	//anzeigename schon vorhanden oder derselbe anzeigename wie ein service-name
			else if ( ERROR_INVALID_NAME == GetLastError() )
				retValue = -4;	//fehlerhafter servicename
			else if ( ERROR_SERVICE_EXISTS == GetLastError() )
				retValue = -5;	//service schon vorhanden
			else
				retValue = -6;

			writeToLog( &quot;Service installation fail\t&quot;, GetLastError(), 0 );

			CloseServiceHandle( svcManager );
	    }
		else
			//CreateService war erfolgreich, service wird gesartet
		{
			writeStringToLog( &quot;Service installation\t\t&quot;, &quot;successfull&quot;);

			StartService(
				myService,	//Servicehandle
				0,			//Number of services arguments
				NULL		//Services arguments
			);

			CloseServiceHandle( myService ); 
			CloseServiceHandle( svcManager );
		}
	}

	return retValue;
}

int deInstSvc( char *head )
	//Service wird deinstalliert
{
	char 	path[100],
			name[100],
			*tmp;

	int		retValue = 0;

	HKEY 	key,
			haupt = HKEY_LOCAL_MACHINE;

	strcpy( name, svcName );
	for( tmp = name; *tmp != '\0'; ++tmp )
		*tmp = toupper( *tmp );

	SC_HANDLE myService,
			  svcManager;

	svcManager = OpenSCManager( NULL, NULL, SC_MANAGER_CREATE_SERVICE ); 
    if(svcManager == NULL)
		//OpenSCManager fehlgeschlagen
    {
        writeToLog( &quot;OpenSCManager has got a failure\t&quot;, GetLastError(), 0 );
		retValue = -1;
    }
	else
		//OpenSCManager erfolgreich, service wird geöffnet und deinstalliert
	{
		myService = OpenService( svcManager, svcName, GENERIC_ALL );
		if( NULL != myService )
		{
			if( !DeleteService( myService ) )
				//DeleteService erfolgreich
			{
				writeStringToLog( &quot;DeleteService\t\t\t&quot;, &quot;erfolgreich&quot; );
				retValue = 0;
			}
			else
				//DeleteService fehlgeschlagen
			{
				writeToLog( &quot;DeleteService\t\t\t&quot;, GetLastError(), 0 );
				retValue = -3;
			}
		}
		else
		{
			writeToLog( &quot;OpenService has got a failure\t&quot;, GetLastError(), 0 );
			retValue = -2;
		}
	}

	return retValue;
}
</code></pre>
<p>bin ich einfach nur zu dumm um den Fehler zu finden?</p>
<p>Währ cool wenn mal wer rüberschaut(das der Code nicht genial ist, ist mir bekannt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Danke schonmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Konstruktive Kritik gern gesehen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1486326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1486326</guid><dc:creator><![CDATA[lippoliv]]></dc:creator><pubDate>Fri, 04 Apr 2008 10:02:59 GMT</pubDate></item><item><title><![CDATA[Reply to Service Installieren ok; ist in Computerverwaltung niht gelistet, aber im Taskmanager on Fri, 04 Apr 2008 10:23:34 GMT]]></title><description><![CDATA[<p>Das ist kein Service! Das Ding erzeugt einen Service. Wenn Dein Programm aber kein Service ist sondern einen normale EXE, dann wird darin das Problem liegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1486348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1486348</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 04 Apr 2008 10:23:34 GMT</pubDate></item><item><title><![CDATA[Reply to Service Installieren ok; ist in Computerverwaltung niht gelistet, aber im Taskmanager on Fri, 04 Apr 2008 12:33:08 GMT]]></title><description><![CDATA[<p>Sry falsch ausgedrückt, dies ist das &quot;Setup&quot; in der EXE ist eine ServiceMain,<br />
die läuft auch als richtiger Service mit den Funktionen...<br />
Das Problem ist ich habe die EXE des alten Services nicht mehr als C datei, also kann ich keine unterschiede mehr überprüfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Hat wer einen kleinen Service für ein Bsp? Habe schon im Forum gesucht und anhand der Treffer meinen gebastelt, aber wies aussieht ist da ja irgendwas falsch...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1486426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1486426</guid><dc:creator><![CDATA[lippoliv]]></dc:creator><pubDate>Fri, 04 Apr 2008 12:33:08 GMT</pubDate></item><item><title><![CDATA[Reply to Service Installieren ok; ist in Computerverwaltung niht gelistet, aber im Taskmanager on Fri, 04 Apr 2008 13:05:57 GMT]]></title><description><![CDATA[<p>guck mal auf <a href="http://www.codeproject.com" rel="nofollow">www.codeproject.com</a> da sind einige bsp zu diesem thema.</p>
<p>schirrmie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1486450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1486450</guid><dc:creator><![CDATA[schirrmie]]></dc:creator><pubDate>Fri, 04 Apr 2008 13:05:57 GMT</pubDate></item><item><title><![CDATA[Reply to Service Installieren ok; ist in Computerverwaltung niht gelistet, aber im Taskmanager on Fri, 04 Apr 2008 16:31:48 GMT]]></title><description><![CDATA[<p>lippoliv schrieb:</p>
<blockquote>
<p>Hat wer einen kleinen Service für ein Bsp? Habe schon im Forum gesucht und anhand der Treffer meinen gebastelt, aber wies aussieht ist da ja irgendwas falsch...</p>
</blockquote>
<p>Du hast im Leben nicht gesucht... dann wärst Du auch auf die unten stehenden Links gestossen! Google mal nach &quot;windows service c++&quot;!</p>
<p>Und wen Du in Codeproject einfach nur nach &quot;Service&quot; suchst springen Dir sofort auf der ersten Seite alle wichtigen Samples ins auge:<br />
<a href="http://www.codeproject.com/KB/system/cntservice.aspx" rel="nofollow">http://www.codeproject.com/KB/system/cntservice.aspx</a><br />
<a href="http://www.codeproject.com/KB/system/serviceskeleton.aspx%5E" rel="nofollow">http://www.codeproject.com/KB/system/serviceskeleton.aspx^</a><br />
<a href="http://www.codeproject.com/KB/system/nt_service.aspx" rel="nofollow">http://www.codeproject.com/KB/system/nt_service.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1486614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1486614</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 04 Apr 2008 16:31:48 GMT</pubDate></item><item><title><![CDATA[Reply to Service Installieren ok; ist in Computerverwaltung niht gelistet, aber im Taskmanager on Mon, 07 Apr 2008 08:25:49 GMT]]></title><description><![CDATA[<p>Das ist das Problem... C++...</p>
<p>Ich suche ja für C, oder ist diesmal kein unterschied da?<br />
Das ist ja bei codeporjekt das kleine Prob, in C++ gibt es viele Sachen die einem die Arbeit aus C erstparen...</p>
<p>[edit]</p>
<p>lippoliv schrieb:</p>
<blockquote>
<p>Habe schon im Forum gesucht und anhand der Treffer meinen gebastelt, aber wies aussieht ist da ja irgendwas falsch...</p>
</blockquote>
<p>Ich hätte nichts, wenn ich hier nicht was gefunden hätte... Vlt war das auch falsch, ich such nochmal den Post.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1487696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1487696</guid><dc:creator><![CDATA[lippoliv]]></dc:creator><pubDate>Mon, 07 Apr 2008 08:25:49 GMT</pubDate></item><item><title><![CDATA[Reply to Service Installieren ok; ist in Computerverwaltung niht gelistet, aber im Taskmanager on Mon, 07 Apr 2008 11:39:51 GMT]]></title><description><![CDATA[<p>Windows Ereignisanzeige schrieb:</p>
<blockquote>
<p>Vom Windows-Defender-Echtzeitschutz-Agent wurden Änderungen erkannt. Microsoft empfiehlt, die Software, die diese Änderungen vorgenommen hat, zu analysieren, um potenzielle Risiken festzustellen. Sie können anhand der Informationen über die Funktionsweise dieser Programme entscheiden, ob die Software ausgeführt werden kann oder vom Computer entfernt werden soll. Lassen Sie nur Änderungen zu, wenn das Programm oder der Softwareherausgeber vertrauenswürdig ist. Windows-Defender kann Änderungen, die Sie zugelassen haben, nicht mehr rückgängig machen.<br />
Weitere Informationen finden Sie im Folgenden:<br />
Nicht zutreffend<br />
Scan-ID: {901E38D9-350C-4DCE-91CD-EB767F31056E}<br />
Benutzer: ***<br />
Name: Unknown<br />
ID:<br />
Schweregrad-ID:<br />
Kategorie-ID:<br />
Gefundener Pfad: service:SyDWatch;file:C:\Windows\System32\SyD\SyD_Watch.exe<br />
Warnungsart: Nicht klassifizierte Software<br />
Feststellungstyp:</p>
</blockquote>
<p>So das kommt, wenn ich meinen Service installiere...<br />
3004 == &quot;An AddJob call was not issued.&quot; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Liegt das Prob an Vista???</p>
<p>[edit]</p>
<pre><code class="language-cpp">int installMyService( char *head )
{
	char strDir[1024];

	int lastErr = 0,
		retValue;

	SC_HANDLE myService,
			  svcManager;

	LPCTSTR binPath = strDir;

	svcManager = OpenSCManager( NULL, NULL, SC_MANAGER_CREATE_SERVICE ); 
    if(svcManager != NULL)
    {
		myService = CreateService( svcManager, svcName, svcDesc,
					SERVICE_ALL_ACCESS,							//Der Service hat Adminrechte
					SERVICE_WIN32_OWN_PROCESS, 					//Der Service ist ein Systemprozess
					SERVICE_DEMAND_START,						//Manueller Start
					SERVICE_ERROR_NORMAL, 						//Normale Fehlerausgabe
					&quot;C:\\Windows\\System32\\SyD\\SyD_Watch.exe&quot;,			//Binäre Pfadangabe
					NULL,										//Gruppenmitglied von gruppe (zu finden in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder)
					NULL,										//TagID
					NULL,										//Services die gestartet werden müssen, bevor dieser läuft
					NULL,										//User
					NULL );										//Passwort
		if( NULL == myService )
		{
			lastErr = GetLastError();
			if( ERROR_DUPLICATE_SERVICE_NAME == lastErr )
				retValue = -1;	//doppelter Servicename
			else if ( ERROR_ACCESS_DENIED == lastErr )
				retValue = -2;	//zugriff verweigert
			else if ( ERROR_CIRCULAR_DEPENDENCY == lastErr )
				retValue = -3;	//anzeigename schon vorhanden oder derselbe anzeigename wie ein service-name
			else if ( ERROR_INVALID_NAME == lastErr )
				retValue = -4;	//fehlerhafter servicename
			else if ( ERROR_SERVICE_EXISTS == lastErr )
				retValue = -5;	//service schon vorhanden
			else
				retValue = -6;

			CloseServiceHandle( svcManager );
	    }
		else
		{
			MessageBox( NULL, &quot;Installation of the service was successful.\nStart service&quot;, &quot;Installation complete&quot;, 0);

			StartService( myService, 0, NULL );

			CloseServiceHandle( myService );
			CloseServiceHandle( svcManager );
		}
    }
	else
	{
		retValue = -1;
		MessageBox( NULL, &quot;OpenSCManager has got a failure.&quot;, head, 0);
	}

	return retValue;
}
</code></pre>
<p>und</p>
<pre><code class="language-cpp">int installMyService( char *head )
	//Service wird installiert
{
	char 		strDir[1024];

	int 		retValue = 0;

	SC_HANDLE 	myService,
				svcManager;

	LPCTSTR 	binPath = strDir;

	int			lastErr = 0;

	svcManager = 	OpenSCManager(
						NULL,						//Computername to install the Service (NULL ?or &quot;&quot;? = local)
						NULL,						//Database of services (NULL = default)
						SC_MANAGER_CREATE_SERVICE	//access rights
					); 
    if(svcManager == NULL)
		//OpenSCManager fehlgeschlagen
	{
        writeToLog( &quot;OpenSCManager got a failure\t&quot;, GetLastError(), 0 );
		retValue = -7;
	}
    else
		//OpenSCManager erfolgreich, service wird installiert
	{
		myService = CreateService(
						svcManager,										//Der Servicemanager (durch OpenSCManager)
						svcName,										//Service-Name
						svcDesc,										//Service-Beschreibung
						SERVICE_ALL_ACCESS,								//Der Service hat Adminrechte
						SERVICE_WIN32_OWN_PROCESS, 						//Der Service ist ein Systemprozess
						SERVICE_DEMAND_START,							//Manueller Start
						SERVICE_ERROR_NORMAL, 							//Normale Fehlerausgabe
						&quot;C:\\Windows\\System32\\SyD\\SyD_Watch.exe&quot;,	//Binäre Pfadangabe
						NULL,											//Gruppenmitglied von gruppe (zu finden in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder)
						NULL,											//TagID
						NULL,											//Services die gestartet werden müssen, bevor dieser läuft
						NULL,											//User
						NULL											//Passwort
					);
		if( NULL == myService )
			//CreateService ist fehlgeschlagen, fehler werden eventuell speziell behandelt
		{
			lastErr = GetLastError();
			if( ERROR_DUPLICATE_SERVICE_NAME == lastErr )
				retValue = -1;	//doppelter Servicename
			else if ( ERROR_ACCESS_DENIED == lastErr )
				retValue = -2;	//zugriff verweigert
			else if ( ERROR_CIRCULAR_DEPENDENCY == lastErr )
				retValue = -3;	//anzeigename schon vorhanden oder derselbe anzeigename wie ein service-name
			else if ( ERROR_INVALID_NAME == lastErr )
				retValue = -4;	//fehlerhafter servicename
			else if ( ERROR_SERVICE_EXISTS == lastErr )
				retValue = -5;	//service schon vorhanden
			else
				retValue = -6;

			writeToLog( &quot;Service installation fail\t&quot;, GetLastError(), 0 );

			CloseServiceHandle( svcManager );
	    }
		else
			//CreateService war erfolgreich, service wird gesartet
		{
			writeStringToLog( &quot;Service installation\t\t&quot;, &quot;successfull&quot;);

			/*StartService(
				myService,	//Servicehandle
				0,			//Number of services arguments
				NULL		//Services arguments
			);*/

			CloseServiceHandle( myService ); 
			CloseServiceHandle( svcManager );
		}
	}

	return retValue;
}
</code></pre>
<p>Ersteres ist eine minimalumschreibung des Original-SVC-Setups.<br />
Sie Funktioniert und überall ist der SErvice eingetragen. Windows erkennt, das es eine Installation von irgendwas ist, und die Datei wird automatisch im Adminmodus (nach aufgefordertem login) ausgeführt,<br />
zweiteres ist eine große umschreibung des Original-SVC-Setups.<br />
Hier wird der Service nur im Taskmanager gelistet...</p>
<p>Wo ist da bitte der unterschied??? Das eine heist svcSetup2.exe das andere SyD_Service.exe.... sollte nmich am Namen liegen oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1487751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1487751</guid><dc:creator><![CDATA[lippoliv]]></dc:creator><pubDate>Mon, 07 Apr 2008 11:39:51 GMT</pubDate></item></channel></rss>