Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Liste der Windowsdienste

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
19.05.2005, 16:08 Uhr
GuenniAtWork



Ich schon wieder.

Weiß jemand wie man sich ne Liste der Windowsdienste holt?
Ich möchte die in einer ComboBox auflisten.
Wird ein Dienst ausgewählt soll man ihn stoppen bzw. deaktivieren können.

Danke.
--
Gruß GuenniAtWork

Dieser Post wurde am 19.05.2005 um 16:08 Uhr von GuenniAtWork editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.05.2005, 17:44 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


kann man aus der registry auslesen

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\

die die einen "DisplayName" enthalten, kann man auch z.b im Dienstemonitor bearbeiten
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.05.2005, 10:37 Uhr
GuenniAtWork



Hi,

Danke für den Tipp.
Das mach ich dann mit CReg oder?
Und wie gehe ich dann die Unterschlüssel durch?
Gibts da irgendwas wie z.B. GetNextKey?
--
Gruß GuenniAtWork
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.05.2005, 11:59 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


zugriff mit mfc über CRegKey, alle unterkeys laden über CRegKey::EnumKey
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.05.2005, 10:59 Uhr
GuenniAtWork



Hi,

Beim versuch was auszulesen bekomme ich als Rückgabewert ständig 234 (= MORE_DATA)

C++:
CString sServiceKey = "SYSTEM\\CurrentControlSet\\Services";
CString sCurSubKeyName;
DWORD dwLength = 0;
CRegKey reg(HKEY_LOCAL_MACHINE);
reg.Open(HKEY_LOCAL_MACHINE,sServiceKey,KEY_READ);
LONG lKey = ERROR_SUCCESS;
for(int iRegIndex = 0; lKey == ERROR_SUCCESS; ++iRegIndex)
{
    lKey = reg.EnumKey(iRegIndex,sCurSubKeyName.GetBuffer(1024),&dwLength);
    sCurSubKeyName.ReleaseBuffer();
    CString sServiceNameReg = sServiceKey + "\\" + sCurSubKeyName + "\\DisplayName";
    CString sServiceValue;
    if(reg.QueryStringValue(sServiceNameReg,sServiceValue.GetBuffer(1024),&dwLength) == ERROR_SUCCESS)
    {
        sServiceValue.ReleaseBuffer();
        m_cbxServiceName.AddString(sServiceValue);
    }
}
reg.Close();


Ich weiß nicht was daran falsch sein könnte.
--
Gruß GuenniAtWork

Dieser Post wurde am 23.05.2005 um 11:00 Uhr von GuenniAtWork editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.05.2005, 15:19 Uhr
GuenniAtWork



Ich habs jetzt doch hinbekommen!

Das ganze sieht jetzt so aus:


C++:
CString sServiceKey = "SYSTEM\\CurrentControlSet\\Services";
CString sCurSubKeyName;
DWORD dwLength = 1025;
CRegKey Reg(HKEY_LOCAL_MACHINE);
CRegKey SubReg(HKEY_LOCAL_MACHINE);
LONG lpKey = Reg.Open(HKEY_LOCAL_MACHINE,sServiceKey,KEY_READ);
LONG lKey = ERROR_SUCCESS;
for(int iRegIndex = 0; lKey == ERROR_SUCCESS; ++iRegIndex)
{
    dwLength = 1025;
    lKey = Reg.EnumKey(iRegIndex,sCurSubKeyName.GetBuffer(1024),&dwLength);
    sCurSubKeyName.ReleaseBuffer();
    CString sServiceNameReg = "DisplayName";
    CString sServiceValue = "";
    dwLength = 1025;
    LONG lSubKey = SubReg.Open(HKEY_LOCAL_MACHINE,sServiceKey + "\\" + sCurSubKeyName,KEY_READ);
    lSubKey = SubReg.QueryStringValue(sServiceNameReg,sServiceValue.GetBuffer(1024),&dwLength);
    sServiceValue.ReleaseBuffer();
    if( lSubKey == ERROR_SUCCESS)
    {
        m_cbxServiceName.AddString(sServiceValue);
    }
    SubReg.Close();
}
Reg.Close();



Danke für die Hilfe.
--
Gruß GuenniAtWork
 
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: