Werte aus Registry auslesen



  • Ich will nicht behaupten, dass deine Posts nicht auch hilfreich sind, aber deine letzte Aussage solltest du noch mal überdenken. 😃 Die kann nur stimmen, wenn man es so sieht, dass eine dumme Frage allein schon eine Beleidigung darstellt. Und das halte ich für stark übertrieben. Jeder hat mal klein angefangen (auch du), und jedem sollten imho ein paar dumme Fragen erlaubt sein.

    Egal, ich habe jetzt einfach keine Zeit, um mich stundenlang mit dir zu streiten, also lass uns die Sache direkt beenden, bevor hier so ein 20-Seiten-Offtopic-Thread daraus wird... Immerhin hat mich dein letzter Satz zum Lachen gebracht. Ist doch auch was! 😉



  • Ja leier ist as meist so, versteht keiner as es auch mal WinAPI anfänger gibt. Und MSDN ist wohl nicht immer verständlich erklärt...



  • Vielleicht beschreibe ich mein vorhaben etwas... Ich möchte nur wissen ob ein Codec vorhanden ist, wenn ja, dosausgabe: Ist vorhanden, wenn nein, dementsprechend: ist nicht vorhanden.

    Das sind meine ersten Gehversuche unter WinAPI

    WIN32_FIND_DATA findData;
    
      ::ZeroMemory(&findData, sizeof(WIN32_FIND_DATA));
    
      HANDLE searchHandle = ::FindFirstFile("C:\\WINDOWS\\ServicePackFiles", &findData);
    
      if(INVALID_HANDLE_VALUE != searchHandle &&
         FILE_ATTRIBUTE_DIRECTORY == findData.dwFileAttributes)
      {
        std::cout << "SP3 is installed!" << std::endl;
      }
      else
      {
        std::cout << "SP3 is not installed!" << std::endl;
    

    So in der art, möchte ich auch ne registry abfrage haben, leider ist msdn nicht so gut erklärt, um as ich es selber kapiere.... 😡



  • was genau kapierste ned?



  • auf der msdn sind sogar beispiele wie man registry schlüssel ausliest, ganz von den 100ten von beispielen zu schweigen, die hier im forum zu finden sind 👎



  • Wie ich die RegOpenKeyEx einbinden soll.
    Bzw ob RegOpenKeyEx überhaupt das richtige ist, um zu überprüfen ob er codec eingetragen ist in er Registry...



  • ja



  • LoRdNyCoN, schonmal in die FAQ geguckt? Der entsprechende Beitrag dort sollte dir denke ich weiterhelfen.



  • Ja, habe ich schon, werde mir das später nochmal zu gemüte führen.. Hatte bis grade keine zeit dazu...



  • long lResult = 0;
    HKEY hKey;
    
    DWORD dwValueType = 0;
    DWORD dwValueLen = 0;
    CString strValue;
    DWORD dwValue;
    
    lResult = RegOpenKeyEx(HKEY_CURRENT_USER,"prog",0,KEY_ALL_ACCESS,&hKey) ;
    if (lResult == ERROR_SUCCESS)
    {
    lResult = RegQueryValueEx(hKey, "PathInputFile", 0, &dwValueType, 0, &dwValueLen);
    if (lResult == ERROR_SUCCESS)
    {
    if (dwValueType == REG_SZ)
    {
    LPSTR lpReturnStr = new char[dwValueLen];
    lResult = RegQueryValueEx(hKey, "PathInputFile", 0, &dwValueType, (unsigned char *)lpReturnStr, &dwValueLen);
    if (lResult == ERROR_SUCCESS)
    {
    strValue = lpReturnStr;
    }
    delete lpReturnStr;
    }
    if (dwValueType == REG_DWORD)
    {
    lResult = RegQueryValueEx(hKey, strName, 0, &dwValueType, (unsigned char *)&dwValue, &dwValueLen);
    }
    }
    RegCloseKey (hKey);
    

Anmelden zum Antworten