Zum Inhalt springen

Systemdienst auslesen


Ozelott

Empfohlene Beiträge

Danke aber ich hab es mit deinem Tipp nicht hinbekommen (bin der Programmierung nicht so mächtig). Hab es über Umwege aber trotzdem geschafft :) Hab mir erst über das Microsoft Tool "sclist" ne Datei schreiben lassen in der alle Dienste aufgeführt sind und dann die Datei auf den Dienst durchsucht. Ich weiß das ist bestimmt Programmiertechnisch unter aller Sau aber es geht und für mich reicht es.

Äh mal noch ne Frage ist es schwer die IP Adresse auszulesen????

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also erstens steh ich mit der Programmierung auf Kriegsfuß (Bin ja nicht umsonst Systemintegrator geworden). Ich war dann auch mal 6 Wochen bei uns in der Programmierung um den Kriegsfuß loszuwerden nur ist das schon über ein halbes Jahr her.

Nun zu meinem Vorhaben: Ab und zu muss ich meinen Eltern (nicht so fit am Rechner) über die Ferne am PC weiterhelfen. Nun ist das immer ein Krampf am Telefon die Schritte durchzugehen Klick da, gib das ein, mach das, lies das vor ...

Und da dachte ich mir ein kleines Prog zu schreiben was alles nacheinander macht und ein bissel Text ausgibt was es gerade macht. Und am Ende fett gedruckt die IP Adresse.

Naja hab mich dann heute dran gemacht und mich bei den Diensten und der IP Adresse kaputt gegoogelt. Mal abgesehen von Meter langem Quellcode der mir nix sagte. Am Ende war es mir dann egal wie es intern aussieht aber dafür geht es. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ganz vieleicht doch einmal ohne den Umweg über die Dateien. Ist ja schließlich möglich und wir wollen ja nicht, dass das noch jemand so mach - oder? ;)

Also den Status deines Services bekommst du wie bereits angesprochen über QueryServiceStatus.


// Manager öffnen

SC_HANDLE mgr = OpenSCManager(NULL, NULL, GENERIC_READ);


// Service öffnen

// evtl. den Namen anpassen. Der Anzeigename unterscheidet sich in der 

// regel vom internen Namen. 

SC_HANDLE svc = OpenService(mgr, "WinVNC4", SERVICE_QUERY_STATUS);


SERVICE_STATUS status;

if (QueryServiceStatus(svc, &status))

{

   if (status.dwCurrentState == SERVICE_RUNNING)

      // Service läuft.

}

Ist nicht 100%ig getestet, sollte aber laufen. Die IP Adresse bekommst du z.B. über

void get_host_name(char* name /*out*/)

{

#if defined(WIN32)

   // we need to initialize socket lib before gethostname() 

   WORD wVersionRequested;

   WSADATA wsaData;

   wVersionRequested = MAKEWORD( 2, 2 );

   err = WSAStartup( wVersionRequested, &wsaData );

#endif


   int error = gethostname(name, BUF_SIZE-1);

   if (error) {

      printf("error %d. Exiting\n", error);

      exit (1);

   }

}


void get_host_address(char* name /*in*/, char* addr /*out*/)

{

   struct hostent *hinfo = gethostbyname( name );

   if (hinfo != NULL)

   {

      unsigned char address[4]; 

      address[0] = hinfo->h_addr_list[0][0];

      address[1] = hinfo->h_addr_list[0][1];

      address[2] = hinfo->h_addr_list[0][2];

      address[3] = hinfo->h_addr_list[0][3];

      sprintf( addr , "%u.%u.%u.%u" , address[0] , address[1] , address[2] , address[3] );

      }

}


main()

{

   char host_name[BUF_SIZE];

   char dotted_host_address[16];

   get_host_name(host_name);

   get_host_address(host_name, dotted_host_address);

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...