Multiwrite via command line or by SDK?

vbimport

#1

Hallo!
Maybe anyone knows how possible write to many devices from command line, or maybe sample for VB with use SDK…
I need write 10 copies at one times. To 10 devices on one computer.
Thanx.


#2

My first try in C# was not successful. If you read through the forum, you will read that each burner must be in it’s own process. At least that is what the case seems to be.

It was easy to launch serveral processes from C# and run NeroCMD.exe in each one for each burner. That works great. If you don’t want to see the console window, you can hide it from the user. However, you don’t get progress events, of course, and sreaming the standard output to your own window is not so nice.

I have not had time to try it again from C# directly. I want to because a nice progress indicator is desired. If you get it working, would you mind sharing the trick?

In the code below, set up:
1)
exeName = "nerocmd"
argsLine = your nero arguments
timeout = 10 minutes or so;
2)
Provide an event handler to know when nero is done.
Run 1 of these for each burner.
3)
LaunchExe Launch = newLaunchExe();
Launch.LaunchExeNotifyComplete += newEventHandler<LaunchExeEventArgs>(Launch_LaunchExeNotifyComplete);
// Run in a new Thread
Thread Run_NeroCMD = newThread(newParameterizedThreadStart(Launch.Exe));
Run_NeroCMD.Start§;
managedThread = Run_NeroCMD;

////////////////////

using System;
using System.Text;
using System.Diagnostics;
using System.Threading;
namespace ManageDvd
{
publicclassLaunchExeEventArgs : EventArgs
{
privatestring m_message; // A message from the Launched program
privateint m_managedThreadId; // Identifies the thread who set the event
privateLaunchExeThreadParameters m_parameters;
public LaunchExeEventArgs(string message, int managedThreadId, LaunchExeThreadParameters parameters)
{
m_message = message;
m_managedThreadId = managedThreadId;
m_parameters = parameters;
}
publicstring Message
{
get { return m_message; }
}
publicint ManagedThreadId
{
get { return m_managedThreadId; }
}
publicLaunchExeThreadParameters Parameters
{
get { return m_parameters; }
}
}
publicstructLaunchExeThreadParameters// Thread Parameters to box/unbox
{
publicstring exeName;
publicstring argsLine;
publicint timeout;
}
publicclassLaunchExe
{
publiceventEventHandler<LaunchExeEventArgs> LaunchExeNotifyComplete;
publicvoid Exe(object box)
{
if (box == null)
{
throw (newException(“null Object in LaunchExe.Exe”));
}
LaunchExeThreadParameters unbox = (LaunchExeThreadParameters)box;
string Msg = string.Empty;
try
{
Process newProcess = newProcess();
newProcess.StartInfo.FileName = unbox.exeName;
newProcess.StartInfo.Arguments = unbox.argsLine;
newProcess.StartInfo.UseShellExecute = true;
//newProcess.StartInfo.UseShellExecute = false;
newProcess.StartInfo.ErrorDialog = false;
newProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
newProcess.Start();
bool success = newProcess.WaitForExit(unbox.timeout);
if (success)
{
Msg += “Thread Ended”;
}
else
{
Msg += "Timed out at " + unbox.timeout + “ms”;
throw (newException(Msg));
}
}
catch (Exception e)
{
Msg += “Catch Error”;
throw (newException(Msg, e));
}
EventHandler<LaunchExeEventArgs> notify = LaunchExeNotifyComplete;
if (notify != null)
{
notify(this, newLaunchExeEventArgs(Msg, Thread.CurrentThread.ManagedThreadId, unbox));
}
}
}
}


#3

duplicate


#4

So, i think that is running many copies of Nero…

But, how Nero can write multiburn on any CDR’s like on screenshot:

?


#5

Hi

I have a similar problem/wish…

I’am able to tweak the NeroCOM sample to burn on 2 writers at the same time… This works great until the second one is finished burning. Then the app crashes…

have still not located the problem/solution

/FStampe


#6

I might be able to help. I’ve written such an app before.

what it does:
1-Detects all burners on your machine

2-Gets an xml file containing the paths which should be written on each drive ( this way you can burn different data on each burner )

3-Each instance of nerocmd reports it’s progress phase and complete error messages on the app. No command prompt window is displayed.

[QUOTE=FStampe;2032350]
This works great until the second one is finished burning. Then the app crashes…
[/QUOTE]

4-All burning jobs work just fine and take place simultaneously.

Other features also could be added upon request. I’m willing to give away the finished app + source code in exchange for a 1 year rapidshare account.


#7

[quote=luky_Duke;2032742]I might be able to help. I’ve written such an app before.

4-All burning jobs work just fine and take place simultaneously.

Other features also could be added upon request. I’m willing to give away the finished app + source code in exchange for a 1 year rapidshare account.[/quote]

Hi…

Thanks for the offer, but i have solved the problem… Now able to burn simultaniously on multiple burners including feedback on status, progress and so on…

Technic used is MemorySharing, multi-processing and IPC…

/FStampe


#8

What is your solution?