CD Brennen



  • Jetzt stellt sich leider noch eine Frage: wie finde ich heraus ob jemand Nero denn installiert hat, wenn nicht dann soll das CD-Brenn Feature deaktiviert sein.



  • string key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
    using (RegistryKey regKey = Registry.LocalMachine.OpenSubKey(key))
    {
        foreach (string subKeyName in regKey.GetSubKeyNames())
        {
            using (RegistryKey subKey = regKey.OpenSubKey(subKeyName))
            {
                string name = (string ) subKey.GetValue("DisplayName");
                if ( !string.IsNullOrEmpty( name ) &&  name.StartsWith("Nero "))
                    MessageBox.Show("Nero installiert");
            }
        }
    }
    

    IsNullOrEmpty ist 2.0, das musst Du in 1.1 umschreiben.



  • Das kann auch schief gehen, es gibt nähmlich auch ein paar packete ohne NeroAPI die dann dort aber trozdem unter DisplayName "Nero .." auftauchen 😉
    Sicherer ist HKEY_LOCAL_MACHINE/SOFTWARE/Ahead/shared. Wenn der path existiert und dort ein NeroAPI key vorhanden ist (enthält den path), ist ne NeroAPI installiert.



  • OK danke. So tief stecke ich nicht in der Neromaterie. 😉



  • Ok vielen Dank!



  • CMatt arbeitet bei Nero.



  • hinweis schrieb:

    CMatt arbeitet bei Nero.

    Was Du nicht sagst. 😉



  • sorry.



  • Wenn CMatt bei Nero arbeitet, dann hänge ich gleich eine weitere Frage an:
    Um Nero in C# verwenden zu können importiert man ja zuerst die NeroCOM.dll via tlbimp.exe. Wenn ich das mache bekomme ich aber 4 Warnungen:

    tlbimp schrieb:

    - Error while importing type: parameter referenced a type library that is not available (type: NeroDrive; parameter: pBurnContext; method: BurnNVAPI)
    - Type NeroDrive is invalid and may only be partially converted
    - Error while importing type: parameter referenced a type library that is not available (type: INeroDrive6; parameter: pBurnContext; method: BurnNVAPI)
    - Type INeroDrive6is invalid and may only be partially converted

    Werden diese kleinen Fehler später Probleme verursachen, oder ist das ganze schon so OK?
    Weiters, wenn ich mit NEROLib.NeroDrivesClass.GetDrives() eine Liste meiner Brenner abfragen will bekomme ich immer eine Liste aller meiner optischen Laufwerke (ein einfaches CD Laufwerk inkludiert). Wie kann ich dieses Problemchen lösen?



  • Ich denke, die tlbimp-Fehler kannst du erst mal ignorieren - die betroffenen Methoden wirst aber wohl nicht aufrufen können.

    Was GetDrives() betrifft: Natürlich bekommst du alle Laufwerke aufgelistet - dafür ist die Methode da. Wenn du nur Brenner haben möchtest, kannst du dir die Eigenschaften der Laufwerke geben lassen und dann selbst filtern (für Details: siehe Doku).

    Gruß
    Rolf



  • Vielen Dank für den Hinweis. Jetzt funktioniert es!


Anmelden zum Antworten