Main.cs 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549
  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. using NEROLib;
  8. namespace LYFZ.NeroDiscBurn.NET
  9. {
  10. /// <summary>
  11. /// Summary description for MainForm.
  12. /// </summary>
  13. public class MainForm : System.Windows.Forms.Form
  14. {
  15. private Nero m_nero;
  16. private NeroDrives m_devices;
  17. private NeroDrive m_lastDrive;
  18. private _INeroDriveEvents_OnDriveStatusChangedEventHandler m_evDriveStatusChanged;
  19. private System.Windows.Forms.Label label1;
  20. private System.Windows.Forms.ComboBox c_Devices;
  21. private System.Windows.Forms.Button c_BurnIsoAudio;
  22. private System.Windows.Forms.Button c_Erase;
  23. private System.Windows.Forms.Button c_BurnImage;
  24. private System.Windows.Forms.Button c_Exit;
  25. private System.Windows.Forms.Button c_DriveInfo;
  26. private System.Windows.Forms.Button c_Eject;
  27. private System.Windows.Forms.Button c_Load;
  28. private System.Windows.Forms.Button c_DAE;
  29. private System.Windows.Forms.Label label2;
  30. private System.Windows.Forms.Label c_LastDriveStatus;
  31. private System.Windows.Forms.Button c_BurnCopy;
  32. private System.Windows.Forms.Label label3;
  33. private System.Windows.Forms.Label c_APIVersion;
  34. private System.Windows.Forms.Button c_ImageInfo;
  35. private System.Windows.Forms.Button c_DiscInfo;
  36. private System.Windows.Forms.GroupBox groupBox1;
  37. private System.Windows.Forms.GroupBox groupBox2;
  38. private System.Windows.Forms.GroupBox groupBox3;
  39. private System.Windows.Forms.GroupBox groupBox4;
  40. private System.Windows.Forms.Button c_NVAPI;
  41. /// <summary>
  42. /// Required designer variable.
  43. /// </summary>
  44. private System.ComponentModel.Container components = null;
  45. public MainForm()
  46. {
  47. //
  48. // Required for Windows Form Designer support
  49. //
  50. InitializeComponent();
  51. }
  52. protected override void OnLoad(EventArgs e)
  53. {
  54. base.OnLoad (e);
  55. // When the main form loads, let's create the Nero object first.
  56. // Then get the available devices and fill the combobox.
  57. //
  58. m_nero = new NeroClass();
  59. m_devices = m_nero.GetDrives(NERO_MEDIA_TYPE.NERO_MEDIA_CD);
  60. for (int i = 0; i < m_devices.Count; i ++)
  61. {
  62. NeroDrive drive = (NeroDrive) m_devices.Item (i);
  63. string sDriveLetter = (drive.DriveLetter == "")? "?": drive.DriveLetter.ToUpper ();
  64. c_Devices.Items.Add (sDriveLetter + ": " + drive.DeviceName);
  65. }
  66. c_Devices.SelectedIndex = 0;
  67. // Show the version.
  68. //
  69. short v1 = 0, v2 = 0, v3 = 0, v4 = 0;
  70. m_nero.APIVersion (ref v1, ref v2, ref v3, ref v4);
  71. c_APIVersion.Text = v1.ToString () + "." + v2.ToString () + "." + v3.ToString () + "." + v4.ToString ();
  72. }
  73. /// <summary>
  74. /// Clean up any resources being used.
  75. /// </summary>
  76. protected override void Dispose( bool disposing )
  77. {
  78. if( disposing )
  79. {
  80. if (components != null)
  81. {
  82. components.Dispose();
  83. }
  84. }
  85. base.Dispose( disposing );
  86. }
  87. #region Windows Form Designer generated code
  88. /// <summary>
  89. /// Required method for Designer support - do not modify
  90. /// the contents of this method with the code editor.
  91. /// </summary>
  92. private void InitializeComponent()
  93. {
  94. System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
  95. this.label1 = new System.Windows.Forms.Label();
  96. this.c_DiscInfo = new System.Windows.Forms.Button();
  97. this.c_Devices = new System.Windows.Forms.ComboBox();
  98. this.c_BurnIsoAudio = new System.Windows.Forms.Button();
  99. this.c_Erase = new System.Windows.Forms.Button();
  100. this.c_BurnImage = new System.Windows.Forms.Button();
  101. this.c_Exit = new System.Windows.Forms.Button();
  102. this.c_DriveInfo = new System.Windows.Forms.Button();
  103. this.c_Eject = new System.Windows.Forms.Button();
  104. this.c_Load = new System.Windows.Forms.Button();
  105. this.c_DAE = new System.Windows.Forms.Button();
  106. this.label2 = new System.Windows.Forms.Label();
  107. this.c_LastDriveStatus = new System.Windows.Forms.Label();
  108. this.c_BurnCopy = new System.Windows.Forms.Button();
  109. this.label3 = new System.Windows.Forms.Label();
  110. this.c_APIVersion = new System.Windows.Forms.Label();
  111. this.c_ImageInfo = new System.Windows.Forms.Button();
  112. this.groupBox1 = new System.Windows.Forms.GroupBox();
  113. this.groupBox2 = new System.Windows.Forms.GroupBox();
  114. this.groupBox3 = new System.Windows.Forms.GroupBox();
  115. this.groupBox4 = new System.Windows.Forms.GroupBox();
  116. this.c_NVAPI = new System.Windows.Forms.Button();
  117. this.SuspendLayout();
  118. //
  119. // label1
  120. //
  121. this.label1.Location = new System.Drawing.Point(10, 9);
  122. this.label1.Name = "label1";
  123. this.label1.Size = new System.Drawing.Size(144, 17);
  124. this.label1.TabIndex = 0;
  125. this.label1.Text = "设备:";
  126. //
  127. // c_DiscInfo
  128. //
  129. this.c_DiscInfo.Location = new System.Drawing.Point(19, 155);
  130. this.c_DiscInfo.Name = "c_DiscInfo";
  131. this.c_DiscInfo.Size = new System.Drawing.Size(96, 25);
  132. this.c_DiscInfo.TabIndex = 8;
  133. this.c_DiscInfo.Text = "光盘信息";
  134. this.c_DiscInfo.Click += new System.EventHandler(this.DiscInfo_Click);
  135. //
  136. // c_Devices
  137. //
  138. this.c_Devices.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
  139. this.c_Devices.Location = new System.Drawing.Point(10, 26);
  140. this.c_Devices.Name = "c_Devices";
  141. this.c_Devices.Size = new System.Drawing.Size(230, 20);
  142. this.c_Devices.TabIndex = 1;
  143. this.c_Devices.SelectedIndexChanged += new System.EventHandler(this.c_Devices_SelectedIndexChanged);
  144. //
  145. // c_BurnIsoAudio
  146. //
  147. this.c_BurnIsoAudio.Location = new System.Drawing.Point(144, 121);
  148. this.c_BurnIsoAudio.Name = "c_BurnIsoAudio";
  149. this.c_BurnIsoAudio.Size = new System.Drawing.Size(96, 24);
  150. this.c_BurnIsoAudio.TabIndex = 11;
  151. this.c_BurnIsoAudio.Text = "刻录ISO音频";
  152. this.c_BurnIsoAudio.Click += new System.EventHandler(this.c_BurnIsoAudio_Click);
  153. //
  154. // c_Erase
  155. //
  156. this.c_Erase.Location = new System.Drawing.Point(394, 155);
  157. this.c_Erase.Name = "c_Erase";
  158. this.c_Erase.Size = new System.Drawing.Size(96, 25);
  159. this.c_Erase.TabIndex = 20;
  160. this.c_Erase.Text = "擦写";
  161. this.c_Erase.Click += new System.EventHandler(this.c_Erase_Click);
  162. //
  163. // c_BurnImage
  164. //
  165. this.c_BurnImage.Location = new System.Drawing.Point(144, 155);
  166. this.c_BurnImage.Name = "c_BurnImage";
  167. this.c_BurnImage.Size = new System.Drawing.Size(96, 25);
  168. this.c_BurnImage.TabIndex = 12;
  169. this.c_BurnImage.Text = "刻录映像";
  170. this.c_BurnImage.Click += new System.EventHandler(this.c_BurnImage_Click);
  171. //
  172. // c_Exit
  173. //
  174. this.c_Exit.DialogResult = System.Windows.Forms.DialogResult.Cancel;
  175. this.c_Exit.Location = new System.Drawing.Point(403, 17);
  176. this.c_Exit.Name = "c_Exit";
  177. this.c_Exit.Size = new System.Drawing.Size(96, 25);
  178. this.c_Exit.TabIndex = 21;
  179. this.c_Exit.Text = "退出";
  180. this.c_Exit.Click += new System.EventHandler(this.c_Exit_Click);
  181. //
  182. // c_DriveInfo
  183. //
  184. this.c_DriveInfo.Location = new System.Drawing.Point(19, 121);
  185. this.c_DriveInfo.Name = "c_DriveInfo";
  186. this.c_DriveInfo.Size = new System.Drawing.Size(96, 24);
  187. this.c_DriveInfo.TabIndex = 7;
  188. this.c_DriveInfo.Text = "驱动器信息";
  189. this.c_DriveInfo.Click += new System.EventHandler(this.c_DriveInfo_Click);
  190. //
  191. // c_Eject
  192. //
  193. this.c_Eject.Location = new System.Drawing.Point(269, 121);
  194. this.c_Eject.Name = "c_Eject";
  195. this.c_Eject.Size = new System.Drawing.Size(96, 24);
  196. this.c_Eject.TabIndex = 16;
  197. this.c_Eject.Text = "弹出";
  198. this.c_Eject.Click += new System.EventHandler(this.c_Eject_Click);
  199. //
  200. // c_Load
  201. //
  202. this.c_Load.Location = new System.Drawing.Point(269, 155);
  203. this.c_Load.Name = "c_Load";
  204. this.c_Load.Size = new System.Drawing.Size(96, 25);
  205. this.c_Load.TabIndex = 17;
  206. this.c_Load.Text = "装入";
  207. this.c_Load.Click += new System.EventHandler(this.c_Load_Click);
  208. //
  209. // c_DAE
  210. //
  211. this.c_DAE.Location = new System.Drawing.Point(394, 121);
  212. this.c_DAE.Name = "c_DAE";
  213. this.c_DAE.Size = new System.Drawing.Size(96, 24);
  214. this.c_DAE.TabIndex = 19;
  215. this.c_DAE.Text = "DAE(插件)";
  216. this.c_DAE.Click += new System.EventHandler(this.c_DAE_Click);
  217. //
  218. // label2
  219. //
  220. this.label2.Location = new System.Drawing.Point(10, 60);
  221. this.label2.Name = "label2";
  222. this.label2.Size = new System.Drawing.Size(115, 18);
  223. this.label2.TabIndex = 4;
  224. this.label2.Text = "最后驱动器状态:";
  225. //
  226. // c_LastDriveStatus
  227. //
  228. this.c_LastDriveStatus.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
  229. this.c_LastDriveStatus.Location = new System.Drawing.Point(134, 60);
  230. this.c_LastDriveStatus.Name = "c_LastDriveStatus";
  231. this.c_LastDriveStatus.Size = new System.Drawing.Size(202, 18);
  232. this.c_LastDriveStatus.TabIndex = 5;
  233. //
  234. // c_BurnCopy
  235. //
  236. this.c_BurnCopy.Location = new System.Drawing.Point(144, 190);
  237. this.c_BurnCopy.Name = "c_BurnCopy";
  238. this.c_BurnCopy.Size = new System.Drawing.Size(96, 24);
  239. this.c_BurnCopy.TabIndex = 13;
  240. this.c_BurnCopy.Text = "光盘复制";
  241. this.c_BurnCopy.Click += new System.EventHandler(this.c_BurnCopy_Click);
  242. //
  243. // label3
  244. //
  245. this.label3.Location = new System.Drawing.Point(250, 9);
  246. this.label3.Name = "label3";
  247. this.label3.Size = new System.Drawing.Size(105, 17);
  248. this.label3.TabIndex = 2;
  249. this.label3.Text = "API版本:";
  250. //
  251. // c_APIVersion
  252. //
  253. this.c_APIVersion.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
  254. this.c_APIVersion.Location = new System.Drawing.Point(250, 26);
  255. this.c_APIVersion.Name = "c_APIVersion";
  256. this.c_APIVersion.Size = new System.Drawing.Size(115, 17);
  257. this.c_APIVersion.TabIndex = 3;
  258. //
  259. // c_ImageInfo
  260. //
  261. this.c_ImageInfo.Location = new System.Drawing.Point(19, 190);
  262. this.c_ImageInfo.Name = "c_ImageInfo";
  263. this.c_ImageInfo.Size = new System.Drawing.Size(96, 24);
  264. this.c_ImageInfo.TabIndex = 9;
  265. this.c_ImageInfo.Text = "映像信息";
  266. this.c_ImageInfo.Click += new System.EventHandler(this.c_ImageInfo_Click);
  267. //
  268. // groupBox1
  269. //
  270. this.groupBox1.Location = new System.Drawing.Point(10, 95);
  271. this.groupBox1.Name = "groupBox1";
  272. this.groupBox1.Size = new System.Drawing.Size(115, 163);
  273. this.groupBox1.TabIndex = 6;
  274. this.groupBox1.TabStop = false;
  275. this.groupBox1.Text = "信息";
  276. //
  277. // groupBox2
  278. //
  279. this.groupBox2.Location = new System.Drawing.Point(134, 95);
  280. this.groupBox2.Name = "groupBox2";
  281. this.groupBox2.Size = new System.Drawing.Size(116, 163);
  282. this.groupBox2.TabIndex = 10;
  283. this.groupBox2.TabStop = false;
  284. this.groupBox2.Text = "烧录(Burn)";
  285. //
  286. // groupBox3
  287. //
  288. this.groupBox3.Location = new System.Drawing.Point(259, 95);
  289. this.groupBox3.Name = "groupBox3";
  290. this.groupBox3.Size = new System.Drawing.Size(115, 163);
  291. this.groupBox3.TabIndex = 15;
  292. this.groupBox3.TabStop = false;
  293. this.groupBox3.Text = "弹出/装入";
  294. //
  295. // groupBox4
  296. //
  297. this.groupBox4.Location = new System.Drawing.Point(384, 95);
  298. this.groupBox4.Name = "groupBox4";
  299. this.groupBox4.Size = new System.Drawing.Size(115, 163);
  300. this.groupBox4.TabIndex = 18;
  301. this.groupBox4.TabStop = false;
  302. this.groupBox4.Text = "杂项";
  303. //
  304. // c_NVAPI
  305. //
  306. this.c_NVAPI.Location = new System.Drawing.Point(144, 224);
  307. this.c_NVAPI.Name = "c_NVAPI";
  308. this.c_NVAPI.Size = new System.Drawing.Size(96, 25);
  309. this.c_NVAPI.TabIndex = 14;
  310. this.c_NVAPI.Text = "刻录NVAPI";
  311. this.c_NVAPI.Click += new System.EventHandler(this.c_NVAPI_Click);
  312. //
  313. // MainForm
  314. //
  315. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  316. this.CancelButton = this.c_Exit;
  317. this.ClientSize = new System.Drawing.Size(532, 295);
  318. this.Controls.Add(this.c_NVAPI);
  319. this.Controls.Add(this.label2);
  320. this.Controls.Add(this.c_DriveInfo);
  321. this.Controls.Add(this.c_Exit);
  322. this.Controls.Add(this.c_Erase);
  323. this.Controls.Add(this.c_BurnIsoAudio);
  324. this.Controls.Add(this.c_Devices);
  325. this.Controls.Add(this.c_DiscInfo);
  326. this.Controls.Add(this.label1);
  327. this.Controls.Add(this.c_BurnImage);
  328. this.Controls.Add(this.c_Eject);
  329. this.Controls.Add(this.c_Load);
  330. this.Controls.Add(this.c_DAE);
  331. this.Controls.Add(this.c_LastDriveStatus);
  332. this.Controls.Add(this.c_BurnCopy);
  333. this.Controls.Add(this.label3);
  334. this.Controls.Add(this.c_APIVersion);
  335. this.Controls.Add(this.c_ImageInfo);
  336. this.Controls.Add(this.groupBox1);
  337. this.Controls.Add(this.groupBox2);
  338. this.Controls.Add(this.groupBox3);
  339. this.Controls.Add(this.groupBox4);
  340. this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
  341. this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
  342. this.MaximizeBox = false;
  343. this.Name = "MainForm";
  344. this.Text = "NeroFiddlesCOM.NET";
  345. this.ResumeLayout(false);
  346. }
  347. #endregion
  348. /* /// <summary>
  349. /// The main entry point for the application.
  350. /// </summary>
  351. [STAThread]
  352. static void Main()
  353. {
  354. Application.Run(new MainForm());
  355. }*/
  356. // This is a helper function to get the currently selected drive
  357. // from the combobox as NeroDrive.
  358. //
  359. private NeroDrive GetCurrentlySelectedDrive ()
  360. {
  361. return c_Devices.SelectedIndex == -1? null: (NeroDrive) m_devices.Item(c_Devices.SelectedIndex);
  362. }
  363. private void DiscInfo_Click(object sender, System.EventArgs e)
  364. {
  365. // Show the disc info form.
  366. //
  367. DiscInfoForm frm = new DiscInfoForm (GetCurrentlySelectedDrive (), m_nero);
  368. frm.ShowDialog (this);
  369. }
  370. private void c_BurnIsoAudio_Click(object sender, System.EventArgs e)
  371. {
  372. // Show the burn iso audio form.
  373. //
  374. BurnIsoAudioForm frm = new BurnIsoAudioForm (GetCurrentlySelectedDrive (), m_nero);
  375. frm.ShowDialog (this);
  376. }
  377. private void c_Erase_Click(object sender, System.EventArgs e)
  378. {
  379. // Show the erase form.
  380. //
  381. EraseForm frm = new EraseForm (GetCurrentlySelectedDrive ());
  382. frm.ShowDialog (this);
  383. }
  384. private void c_BurnImage_Click(object sender, System.EventArgs e)
  385. {
  386. // Show the burn image form.
  387. //
  388. BurnImageForm frm = new BurnImageForm (GetCurrentlySelectedDrive (), m_nero);
  389. frm.ShowDialog (this);
  390. }
  391. private void c_Exit_Click(object sender, System.EventArgs e)
  392. {
  393. this.Close ();
  394. }
  395. private void c_DriveInfo_Click(object sender, System.EventArgs e)
  396. {
  397. // Show drive info form.
  398. //
  399. DriveInfoForm frm = new DriveInfoForm (m_nero, GetCurrentlySelectedDrive ());
  400. frm.ShowDialog (this);
  401. }
  402. private void c_Eject_Click(object sender, System.EventArgs e)
  403. {
  404. // Eject the current drive.
  405. //
  406. NeroDrive drive = GetCurrentlySelectedDrive ();
  407. if (drive != null)
  408. {
  409. drive.EjectCD ();
  410. }
  411. }
  412. private void c_Load_Click(object sender, System.EventArgs e)
  413. {
  414. // Load the current drive.
  415. //
  416. NeroDrive drive = GetCurrentlySelectedDrive ();
  417. if (drive != null)
  418. {
  419. drive.LoadCD ();
  420. }
  421. }
  422. private void c_DAE_Click(object sender, System.EventArgs e)
  423. {
  424. // Show the DAE form.
  425. //
  426. DAEForm frm = new DAEForm (GetCurrentlySelectedDrive ());
  427. frm.ShowDialog (this);
  428. }
  429. private void c_Devices_SelectedIndexChanged(object sender, System.EventArgs e)
  430. {
  431. // When selected index of the drive combobox is changed, let's
  432. // disable the status callback on that drive and enable it on
  433. // the new one.
  434. //
  435. if (m_lastDrive != null)
  436. {
  437. m_lastDrive.EnableStatusCallback (NERO_DRIVESTATUS_TYPE.NDT_DISC_CHANGE, false);
  438. m_lastDrive.EnableStatusCallback (NERO_DRIVESTATUS_TYPE.NDT_IN_USE_CHANGE, false);
  439. m_lastDrive.OnDriveStatusChanged -= m_evDriveStatusChanged;
  440. }
  441. m_lastDrive = GetCurrentlySelectedDrive ();
  442. if (m_lastDrive != null)
  443. {
  444. c_LastDriveStatus.Text = "<none>";
  445. m_evDriveStatusChanged = new _INeroDriveEvents_OnDriveStatusChangedEventHandler(m_lastDrive_OnDriveStatusChanged);
  446. m_lastDrive.OnDriveStatusChanged += m_evDriveStatusChanged;
  447. m_lastDrive.EnableStatusCallback (NERO_DRIVESTATUS_TYPE.NDT_DISC_CHANGE, true);
  448. m_lastDrive.EnableStatusCallback (NERO_DRIVESTATUS_TYPE.NDT_IN_USE_CHANGE, true);
  449. }
  450. }
  451. private void m_lastDrive_OnDriveStatusChanged(NERO_DRIVESTATUS_RESULT driveStatus)
  452. {
  453. // When the status is changed on the currently selected drive,
  454. // let's display it.
  455. //
  456. string sStatus;
  457. switch (driveStatus)
  458. {
  459. case NERO_DRIVESTATUS_RESULT.NDR_DISC_INSERTED:
  460. sStatus = "Disc inserted";
  461. break;
  462. case NERO_DRIVESTATUS_RESULT.NDR_DISC_REMOVED:
  463. sStatus = "Disc removed";
  464. break;
  465. case NERO_DRIVESTATUS_RESULT.NDR_DRIVE_IN_USE:
  466. sStatus = "Drive in use";
  467. break;
  468. case NERO_DRIVESTATUS_RESULT.NDR_DRIVE_NOT_IN_USE:
  469. sStatus = "Drive not in use";
  470. break;
  471. default:
  472. sStatus = "Unknown status";
  473. break;
  474. }
  475. c_LastDriveStatus.Text = sStatus;
  476. }
  477. private void c_BurnCopy_Click(object sender, System.EventArgs e)
  478. {
  479. // Show the disc copy form.
  480. //
  481. BurnDiscCopyForm frm = new BurnDiscCopyForm (m_nero, GetCurrentlySelectedDrive ());
  482. frm.ShowDialog (this);
  483. }
  484. private void c_ImageInfo_Click(object sender, System.EventArgs e)
  485. {
  486. // Show the disc info form but initialize it with a different
  487. // constructor. But first, get the user to select an image file.
  488. //
  489. OpenFileDialog dlg = new OpenFileDialog ();
  490. dlg.CheckFileExists = true;
  491. dlg.CheckPathExists = true;
  492. dlg.DefaultExt = ".nrg";
  493. dlg.Filter = "All image files|*.nrg;*.iso|NRG files (*.nrg)|*.nrg|ISO files (*.iso)|*.iso|All files (*.*)|*.*";
  494. if (DialogResult.OK == dlg.ShowDialog (this))
  495. {
  496. DiscInfoForm frm = new DiscInfoForm (dlg.FileName, m_nero);
  497. frm.ShowDialog (this);
  498. }
  499. }
  500. private void c_NVAPI_Click(object sender, System.EventArgs e)
  501. {
  502. // Show the form that allows to burn a NeroVisionAPI XML
  503. // project.
  504. //
  505. NVAPIForm frm = new NVAPIForm (GetCurrentlySelectedDrive (), m_nero);
  506. frm.ShowDialog (this);
  507. }
  508. }
  509. }