Les logiciels de lecture de VCD tels que « Super Jieba » disposent généralement d'un bouton ou d'une option de menu appelé « Lire le VCD ». Cliquez pour lire automatiquement les films VCD. Si le chemin du fichier est fixe, cela peut être obtenu en utilisant uniquement le contrôle multimédia (mmcontrol). Cependant, pour différents ordinateurs, étant donné que le nombre de partitions logiques sur le disque dur est différent, le chemin du lecteur de disque optique est susceptible d'être différent. différent. Comment y parvient-on ? Ci-dessous, veuillez consulter mon analyse détaillée :
Utilisez "regedit.exe" pour afficher les éléments d'attribut du lecteur de CD-ROM (hkey_local_machine, enum, scsi) dans le registre Windows 98 et comparez les éléments d'attribut du lecteur de disque dur (hkey_local_machine, enum, esdi) avec la disquette. lecteur de disque
Éléments d'attribut (hkey_local_machine, enum, flop), vous pouvez trouver : différents corps de disque se distinguent par le paramètre "devicetype". Le type de périphérique du disque dur est "0", la disquette est "0a" et le lecteur de disque optique. est "5" ". Utilisez ensuite "devicetype" comme mot-clé pour rechercher le manuel de programmation sur win32API, et vous pourrez obtenir la fonction "getdevicetype" qui identifie les différents disques.
Avec cette fonction, vous pouvez obtenir la lettre du lecteur de CD-ROM en utilisant la phrase suivante :
IfGetDriveType("d:/")<>5Alors
IfGetDriveType("e:/")<>5Alors
IfGetDriveType("f:/")<>5Alors
IfGetDriveType("g:/")<>5Alors
lecteurcd="H"
GoTogetcdfiles
FinSi
lecteurcd="G"
GoTogetcdfiles
FinSi
lecteurcd="F"
GoTogetcdfiles
FinSi
lecteurcd="E"
GoTogetcdfiles
Autre
lecteurcd="D"
FinSi
obtenir des fichiers cd :
Le programme utilise la méthode exhaustive pour déterminer si le type de périphérique des disques D, E, F et G est « 5 ». Si ce n'est pas le cas, le lecteur de disque optique est H (il n'y a pas beaucoup de machines avec des lettres de lecteur dépassant H). , donc la liste exhaustive se termine ici), et nous obtenons Le "drivecd" est la lettre du lecteur de CD-ROM.
Étant donné que le chemin de tous les films VCD est /mpegav/, vous pouvez utiliser la fonction VB "Dir()" pour obtenir le chemin de lecture complet :
MMControl1.FileName=drivecd&":/Mpegav/"&Dir(drivecd&":/Mpegav/*.dat").
Le programme source suivant implémente spécifiquement la lecture automatique de VCD. Il n'y a qu'un seul contrôle multimédia dans le formulaire du programme - MMcontrol1. Une fois le programme exécuté, il sera automatiquement lu à partir du premier fichier. Appuyez sur la touche "suivant" du contrôle multimédia pour lire le fichier suivant.
'Déclarez la fonction GetDriveType
PRivateDeclareFunctionGetDriveTypeLib"kernel32"Alias"GetDriveTypeA"(ByValnDriveAsString)AsLong
Dimfiles()AsString
DimdrivecdAsString
DimiAsInteger
DimjAsInteger
PrivateSubForm_Load()
'Déterminer la lettre du lecteur de CD-ROM
IfGetDriveType("d:/")<>5Alors
IfGetDriveType("e:/")<>5Alors
IfGetDriveType("f:/")<>5Alors
IfGetDriveType("g:/")<>5Alors
lecteurcd="H"
GoTogetcdfiles
FinSi
lecteurcd="G"
GoTogetcdfiles
FinSi
lecteurcd="F"
GoTogetcdfiles
FinSi
lecteurcd="E"
GoTogetcdfiles
Autre
lecteurcd="D"
FinSi
'Mettez tous les fichiers VCD dans des fichiers tableau()
obtenir des fichiers cd :
OnErrorGoTocderr :
s=Dir(drivecd&":/Mpegav/*.dat")
je = 1
Pendant <>""
ReDimPreservefiles(i)AsString
fichiers(i)=s
je = je 1
s=Dir()
Wende
j=1
Appelvcdplay
SurErreurGoTo0
QuitterSub
cderr :
MsgBox « CDn'est pas prêt ! »
Décharge-moi
FinSub
'Déterminer s'il faut lire le fichier suivant
PrivateSubMMControl1_StatusUpdate()
IfMMControl1.Position=MMControl1.LengthThen
j=j1
Sij>i-1Alorsj=1
Appelvcdplay
FinSi
FinSub
'Lire le fichier VCD
PrivateSubvcdplay()
MMControl1.Command="stop"
MMControl1.Command="fermer"
MMControl1.FileName=drivecd&":/Mpegav/"&files(j)
MMControl1.Command="ouvrir"
MMControl1.Command="jouer"
FinSub
Le programme ci-dessus est passé sous Windows98 chinois et VisualBasic6.0. ->