begin process at 2012 02 16 04:05:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Shell

 > GRAVER UN CD / DVD AVEC NEROCMD

GRAVER UN CD / DVD AVEC NEROCMD


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Shell Classé sous :graver, cd, dvd, nerocmd Niveau :Débutant Date de création :17/05/2005 Vu :15 566

Auteur : lionelbre

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

en complement a la source de pcpunch, une version un peu plus complete pour graver avec nerocmd.
a savoir : nerocmd ne marche que avec la version 6 ou + de nero

avantage par rapport a la gravure integrer a win xp utilisable par les api : ben ...justement, ca fonctionne pas que sur win xp ;)


Source

  • Rem declaration des api qui permettent d'attendre la fin de l'execution avant de passer a autre chose
  • Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
  • Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  • Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessID As Long) As Long
  • Private Const SYNCHRONIZE = &H100000
  • Private Const WAIT_TIMEOUT = &H102&
  • Private Sub burn_it()
  • Dim driveletter As String
  • driveletter = "d" ' obligatoire :la lettre du lecteur cd
  • Dim en_plus_dvd As String
  • en_plus_dvd = " --DVD" ' a mettre obligatoirement si on grave un cd ,sinon en_plus_dvd="" ( sinon, ca plante nerocmd :( )
  • Dim Import As String
  • Import = " --import " ' pour importer les sessions precedentes, sinon import=""
  • Dim enplus_finalise As String
  • enplus_finalise = " --close_session" ' pour finaliser la session
  • Dim ze_burn_path As String
  • ze_burn_path = "c:\mon_dossier_a_graver\" ' emplacement du dossier a graver
  • Dim batch_action As String
  • batch_action = App.Path + "\nerocmd --write --drivename " + drivelettre + en_plus_dvd + Import + enplus_finalise + " --real --recursive --iso BEDOT " + Chr(34) + ze_burn_path + "*.*" + Chr(34)
  • Rem : la fonction --recursive permet de graver l'interieur des dossier, sous dossiers ....
  • Rem --real permet de graver reellement, si on ne le met pas, ca fait juste une simulation
  • Rem --iso BEDOT : a la place de BEDOT, mettez le nom de votre cd
  • Dim filenum As Long
  • filenum = FreeFile
  • Open App.Path + "\nerobatch.bat" For Output As filenum
  • Print #filenum, batch_action
  • Close filenum
  • Démarre = Shell(App.Path + "\nerobatch.bat", vbHide)
  • ProcessHandle = OpenProcess(SYNCHRONIZE, False, Démarre)
  • retour = WaitForSingleObject(ProcessHandle, 1)
  • Do While retour = WAIT_TIMEOUT
  • retour = WaitForSingleObject(ProcessHandle, 1)
  • DoEvents
  • Loop
  • retour = CloseHandle(ProcessHandle)
  • Rem pour la liste complete des fonctions : en mode dos, nerocmd.exe /?
  • rem vous pouvez ensuite tester la presence du fichier d'erreur et l'analyser par prog si vous voulez une confirmation de reussite
  • End Sub
Rem declaration des api qui permettent d'attendre la fin de l'execution avant de passer a autre chose

Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessID As Long) As Long
Private Const SYNCHRONIZE = &H100000
Private Const WAIT_TIMEOUT = &H102&

Private Sub burn_it()



Dim driveletter As String
 driveletter = "d"    ' obligatoire :la lettre du lecteur cd


Dim en_plus_dvd  As String
en_plus_dvd = " --DVD"  ' a mettre obligatoirement si on grave un cd ,sinon en_plus_dvd="" ( sinon, ca plante nerocmd :( )

Dim Import  As String
Import = " --import " ' pour importer les sessions precedentes, sinon import=""


Dim enplus_finalise  As String
enplus_finalise = " --close_session"  ' pour finaliser la session

Dim ze_burn_path  As String
ze_burn_path = "c:\mon_dossier_a_graver\" ' emplacement du dossier a graver

Dim batch_action As String
 batch_action = App.Path + "\nerocmd --write --drivename " + drivelettre + en_plus_dvd + Import + enplus_finalise + " --real  --recursive --iso BEDOT " + Chr(34) + ze_burn_path + "*.*" + Chr(34)

Rem : la fonction --recursive permet de graver l'interieur des dossier, sous dossiers ....
Rem   --real permet de graver reellement, si on ne le met pas, ca fait juste une simulation
Rem   --iso BEDOT : a la place de BEDOT, mettez le nom de votre cd


Dim filenum As Long
       filenum = FreeFile
       Open App.Path + "\nerobatch.bat" For Output As filenum
       Print #filenum, batch_action
       Close filenum


 Démarre = Shell(App.Path + "\nerobatch.bat", vbHide)
        ProcessHandle = OpenProcess(SYNCHRONIZE, False, Démarre)
        retour = WaitForSingleObject(ProcessHandle, 1)
        
        Do While retour = WAIT_TIMEOUT
            retour = WaitForSingleObject(ProcessHandle, 1)
            DoEvents
            
        Loop
        retour = CloseHandle(ProcessHandle)

Rem pour la liste complete des fonctions : en mode dos, nerocmd.exe /?
rem vous pouvez ensuite tester la presence du fichier d'erreur et l'analyser par prog si vous voulez une confirmation de reussite
End Sub


 Conclusion

pour savoir si il y a des sessions a importer, si le cd est plein ...utilisez la fonction
"nerocmd.exe --cdinfos --drivename D > infos.txt"
puis analyser le fichier infos.txt


si vous avez des questions, vous pouvez me mailer, je repondrais, mais bon.... suis parfois un peu long a la detente , mais je reponds:(



 Sources du même auteur

Source avec Zip Source .NET (Dotnet) VERIFICATEUR DE CARTE BLEU ET DE CODE BARRE, GENERATEUR DE R...
IMPRESSION FLEX GRID

 Sources de la même categorie

Source avec Zip CHOIX DE COULEUR SOUS XP EN MODE CONSOLE par ccgousset
Source avec Zip Source .NET (Dotnet) ENVOYEUR DE MAIL EN BATCH/DOS par Ant95
Source avec Zip Source avec une capture LANCEUR REALVNC par Nobru59
Source avec Zip Source .NET (Dotnet) XGBLENDERCOMPRESSOR par XelectroX
Source avec Zip Source .NET (Dotnet) CONTRÔLER L'AUTORUN DE WINDOWS XP (ET SUPÉRIEUR) ET LES NOTI... par ShareVB

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture IMPRESSION POCHETTES CD ET DVD par edemar
Source avec Zip Source avec une capture CONVERTIR LES IMAGESDE CD/DVD ALCOHOL 120 (.MDF), BLINDWRIT... par soldier8514
Source avec Zip Source avec une capture CREATION DE FICHIER AUTORUN par nycola
Source avec Zip DLL ACCES BAS NIVEAU CDROM par Galain
Source avec Zip GRAVEZ VOS CDS DE TOUTES LES FACONS POSSIBLES!!! par soldier8514

Commentaires et avis

Commentaire de PROGRAMMIX le 17/05/2005 18:22:34

Merci pour le code...  

Il ne me reste qu'à le tester.

Une petite critique : ç'aurait été bien de mettre un ZIP.  Je suppose que tu dois avoir ça quelque part sous la main.

Commentaire de lionelbre le 17/05/2005 18:52:52

ben euh ...non ...po de zip sous la main ....j'ai taper ca vite fait avant en l'extrayant d'une de mes sources :(
sorry

Commentaire de PROGRAMMIX le 18/05/2005 17:11:58

C'est bien ce que je disais : tu disposes bien d'une source de laquelle tu as extrait ton code.  
C'aurait été chouette de nous faire profiter de la source directement.
Mais peut-être que cela n'est pas possible (source de grosse ou "protégée" par des droits de confidentialité).
Allez, on tâchera de faire sans... J'espère que cela servira à PCPUNCH...

Question idiote, et pour faire un CD-RW, est-ce la même chose ?

Commentaire de lionelbre le 18/05/2005 21:11:22

ben euh ...vi ...ca vient d'une source qui fait dans les 4 mega ....peut po balancer ca ici :(
ca vient de notre produit : www.be-dot.com
(un peu d'pub au passage, ca fait poo d'mal ;) )

pour les cd rw, c pile poil pareiil ...y'a meme une fonction dans nerocmd pour l'effacer
(cf nerocmd /?  ou message si tu trouve po, je chercherais et te le mettrais ici )

Commentaire de nerix27 le 14/11/2005 22:43:57

C'est pil poil ce que je cherche : à lancer une gravure automatiquement d'une source C# avec Nero...
Merci beaucoup, tu me sauves... :)

Commentaire de nerix27 le 08/02/2006 14:49:49

Comme je l'ai dit dans mon post précédent, cette source m'a été très profitable...
J'aurais une petite question néanmoins :
j'ai créé une appli qui grave automatiquement des fichiers. Je voudrais imprimer également mes jaquettes (en lightscribe) en automatique, peut-on inclure l'impression d'une jaquette lightscribe via une commande de nero ???
J'ai épluché les paramètres de nerocmd.exe, mais sans rien trouver...

Quelqu'un saurait-il me répondre ????

D'avance merci... ;)

Commentaire de snipshot le 03/05/2006 10:07:01

Salut


j'ai également trouvé nerocmd bien pratique et j'en ai besoin pour une appli d'un de mes clients.

Je voulais savoir si quelqu'un a une idée pour récupérer les infos renvoyés par nerocmd.

pour l'instant je fais un truc du style ShellExecute("nerocmd.exe --plein de params >> output.txt")
ce qui permet à nerocmd d'écrire sa sortie dans un fichier et non plus à l'écran.

Mais c'est vraiment pas top parcequ'on peut pas savoir quand nero a fini de graver et donc il faut vérifier le fichier tt les x secondes.

voila, si qqun à une idéd

PS je suis sous windev mais ça ne change rien

Commentaire de lionelbre le 03/05/2006 10:14:31

y'a un moyen simple qui devrait marcher :
tu lance le nerocmd grace a un "shell ()", et tu peux voir quand le shell se termine grace a un pointeur sur le process cree .

en tout cas en visual studio.
en windev, je sais po
une fois le proc fini, c bon, la gravure est ok

sinon, faut "rester calme et courtois ", je ne dirais donc pas ce que je pense de windev ;)


 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Graver un CD-rom [ par Bidulle ] Quelqu'un aurait-il une idee????Je dois réaliser un programme qui gravera un repertoire donnée sans trop de manipulationJ'ai bien une idée mais j'aime Graver un CD avec VB [ par doudou ] Est-ce que quelqu'un sait si l'on peut graver un CD avec VB ?Est-ce qu'il existe des activeX, des dll, des idées ?Doudou graver un Cd [ par agraver ] Je cherche à graver un CD sous VB6 pour sauvegarder des données .J'ai chargé à partir du site CDWriter mais si je parviens à créer une image ISO corre Comment graver ?? [ par Florian29 ] Je dois reussir a graver un cd de données depuis VB. J'ai chercher un ocx ou un truc du genre mais celui que j'ai trouvé sert seulement pour les cd au Principe adressage sur les CD et DVD [ par radioham ] Bonjour, je suis TRES curieux de connaitre le mode d'adressage utilisé pour les CD et DVD. Pourriez vous éclairer ma (petite) lanterne ?En vous remerc GRAVER MES DONN2ES SUR CD [ par DAN1 ] Bonjour a tous.je cherche du code ou des explications en FRANCAIS! pour programer la gravure sur CD de mes données depuis le contenu d'un repertoir Gravure CD et / ou DVD [ par fzpitt ] Bonjour,est-ce que quelqu'un pourrait me dire s'il existe une API ou un composant qui permette de piloter une gravure de CD et / ou de DVD depuis une cherche moyen de graver un CD en vb [ par lechti ] salut, j'ai fait des recherches d'ocx, mais rien. Je souhaiterai graver en vb des CDR ou CDRW mais pas que des fichiers AUDIO comme l'ocx ACDWRITE.OCX Comment récupérer la taille d'un CD ou d'un DVD dans le lecteur? [ par titi4mai ] Voilà, je travaille sous VB.NET mais des astuces sous VB6 m'iraient aussi!! :)Je n'arrive pas à récupérer la taille d'un CD inséré dans le lecteur (65 Savoir si c'est un CD ou un DVD dans le lecteur? [ par titi4mai ] J'aimerais récupérer en VB.NET, ou éventuellement en VB6, le type de média inséré dans le lecteur, CD ou DVD???Quelqu'un peut-il m'aider?Siouuuuuuuuuu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales