Wie kann man mit Nero und C# eine CD/DVD Brennen???
-
Der Artikel ist auf jeden Fall mal gut für Leute, die mit Nero und C# eine CD brennen wollen. Für mich ist er jetzt ein bisschen zu speziell.
-
Wenn man allerdings schon Nero hat, kann man auch ohne C# eine CD brennen
-
O'Dog schrieb:
Wenn man allerdings schon Nero hat, kann man auch ohne C# eine CD brennen
Ja, aber wenn du ein Programm entwickelst und du weißt das auf dem Zielrechner Nero ist kannst du Backups oder sonstiges automatisch wegbrennen
-
Hi,
mich würde mal interessieren, ob man das ganze auch mit C++ realisieren kann?
-
Ja, dies geht ebenfalls.
Wenn ich es noch richtig in Erinnerung habe ist sogar ein beispiel für C++ in dem NeroSDK dabei.
http://www.nero.com/nero7/deu/SDK_API.html
-
Der aktuelle Link zum SDK lautet:
-
Hi zusammen, habe es nach der Anleitung versucht, aber ich bekomme es nicht hin. Mein Code sieht wie folgt aus. Ich nutze .Net und er gibt mir auch beim kompilieren keine Fehlermeldung aus, er startet das Programm so wie es sein soll, doch wenn ich den Brenner in der Liste auswähle und auf "Dateien brennen" klick, springt die progressbar sofort auf 100% und er wirft die CD aus. Auf der CD ist aber KEIN inhalt.
Bei Schritt 4. der Anleitung:
4. Als nächstes öffnen wir die Datei „nerolib.il“ mit einem Texteditor und suchen
nach Suchbegriff „_SinkHelper“.
Der erste Punkt den wir finden sollte
.class private auto ansi sealed _INeroEvents_SinkHelper
extends [mscorlib]System.Object
implements NEROLib._INeroEvents
sein.
Hier ändern wir das private nun zum public. Anschließend suchen wir weiter
nach Klassen die die Endung _SinkHelper haben und führen die Selbe
Änderung dort ebenfalls durch!!!hier ist mir aufgefallen, dass die klassen bei mir schon public waren.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace brennen { public partial class Form1 : Form { private System.Windows.Forms.Button btn_brennen; private System.Windows.Forms.ComboBox cmb_brennerauswahl; private System.Windows.Forms.ProgressBar prgbar_fortschritt; private NEROLib.NeroClass neroclass = new NEROLib.NeroClass(); private NEROLib.NeroDrivesClass ndrives; private NEROLib.NeroDrive ndrive; public Form1() { InitializeComponent(); GetRecoderList(); prgbar_fortschritt.Value = 0; } private void GetRecoderList() { // Ermittle alle Laufwerke mit der Eigenschaft (sieheMedia_type) ndrives = (NEROLib.NeroDrivesClass)neroclass.GetDrives(NEROLib.NERO_MEDIA_TYPE.NERO_MEDIA_CD); foreach (NEROLib.NeroDrive ndrive in ndrives) // Alle Ermittelten Laufwerke in der ComboBox anlegen { // Laufwerkname in der ComboBox anlegen cmb_brennerauswahl.Items.Add(ndrive.DeviceName); } } private void Form1_Load(object sender, EventArgs e) { } private void btn_brennen_Click(object sender, EventArgs e) { // Neuen ISO Track erstellen NEROLib.NeroISOTrackClass niso = new NEROLib.NeroISOTrackClass(); // ISO Track Namen geben niso.Name = "TEST-CD"; // Neues Verzeichnis erstellen NEROLib.NeroFolderClass nfolder = new NEROLib.NeroFolderClass(); // Zweites Verzeichnis erstellen NEROLib.NeroFolderClass nsecondfolder = new NEROLib.NeroFolderClass(); // Verzeichnis Namen geben nsecondfolder.Name = "TestFolder"; // Verzeichnis zwei dem RootVerzeichnis hinzufügen nfolder.Folders.Add(nsecondfolder); // Root Folder dem ISO Track hinzufügen niso.RootFolder = nfolder; // Zwei Dateien erstellen NEROLib.NeroFileClass nfile1 = new NEROLib.NeroFileClass(); NEROLib.NeroFileClass nfile2 = new NEROLib.NeroFileClass(); NEROLib.NeroFileClass nfile3 = new NEROLib.NeroFileClass(); // Eigenschaften der Files festlegen nfile1.Name = "1_markus.txt"; nfile1.SourceFilePath = @"c:\test2.txt"; nfile2.Name = "2_markus.txt"; nfile2.SourceFilePath = @"c:\eng.txt"; nfile3.Name = "3_markus.txt"; nfile3.SourceFilePath = @"c:\sr.txt"; // Dateien den Verzeichnissen hinzufügen nfolder.Files.Add(nfile1); nsecondfolder.Files.Add(nfile2); // BrennOptionen für den ISO Track festlegen niso.BurnOptions = NEROLib.NERO_BURN_OPTIONS.NERO_BURN_OPTION_CREATE_ISO_FS; // Ausgewähltes Laufwerk übergeben ndrive =(NEROLib.NeroDrive)ndrives.Item(cmb_brennerauswahl.SelectedIndex); // Hinzufügen des OnProgress Events zum ausgewählten Laufwerk ndrive.OnProgress += new NEROLib._INeroDriveEvents_OnProgressEventHandler(OnProgress); // CD Erstellen und Daten auf CD Brennen ndrive.BurnIsoAudioCD("","",false,niso,null,null,NEROLib.NERO_BURN_FLAGS.NERO_BURN_FLAG_WRITE,10,NEROLib.NERO_MEDIA_TYPE.NERO_MEDIA_CDRW); } private void OnProgress(ref int percent, ref bool abort) { prgbar_fortschritt.Value = percent; } } }
-
Keiner eine Idee??? Kanns sein, dass das mit Nero 8 nicht mehr funktioniert?
-
do0fY schrieb:
Keiner eine Idee??? Kanns sein, dass das mit Nero 8 nicht mehr funktioniert?
Ist schon ewig her wo ich dies geschrieben habe. Damals hab ich das ganze mit Nero 6 gemacht. Wie das 8er Nero aussieht und ob es dort probleme gibt kann ich dir leider nicht beantworten.
-
könntest du mehr sagen, wenn ich den inhalt der NeroLib poste?