"Super Jieba"와 같은 VCD 플레이어 소프트웨어에는 일반적으로 "VCD 재생"이라는 버튼이나 메뉴 옵션이 있습니다. 클릭하면 VCD 영화가 자동으로 재생됩니다. 파일 경로가 고정되어 있으면 멀티미디어 제어(mmcontrol)만 사용하여 구현할 수 있습니다. 그러나 컴퓨터마다 하드 디스크의 논리 파티션 수가 다르기 때문에 광 디스크 드라이브의 경로가 다를 수 있습니다. 다른. 어떻게 달성됩니까? 아래에서 자세한 분석을 참조하십시오.
"regedit.exe"를 사용하여 Windows 98 레지스트리에서 CD-ROM 드라이브(hkey_local_machine, enum, scsi)의 속성 항목을 보고 하드 디스크 드라이브(hkey_local_machine, enum, esdi)의 속성 항목을 플로피와 비교합니다. 디스크 드라이브
속성 항목(hkey_local_machine, enum, flop)을 찾을 수 있습니다. 다양한 디스크 본체는 매개변수 "devicetype"으로 구별됩니다. 하드 디스크의 장치 유형은 "0", 플로피 디스크는 "0a", 광학 디스크 드라이브입니다. "5" "입니다. 그런 다음 "devicetype"을 키워드로 사용하여 win32API에 대한 프로그래밍 매뉴얼을 검색하면 다른 디스크를 식별하는 "getdevicetype" 함수를 얻을 수 있습니다.
이 기능을 사용하면 다음 문장을 사용하여 CD-ROM 드라이브의 드라이브 문자를 얻을 수 있습니다.
IfGetDriveType("d:/")<>5Then
IfGetDriveType("e:/")<>5Then
IfGetDriveType("f:/")<>5Then
IfGetDriveType("g:/")<>5Then
드라이브cd="H"
GoTogetcd파일
종료
드라이브cd="G"
GoTogetcd파일
종료
드라이브cd="F"
GoTogetcd파일
종료
드라이브cd="E"
GoTogetcd파일
또 다른
드라이브cd="D"
종료
getcd파일:
프로그램은 D, E, F, G 디스크의 장치 유형이 "5"인지 확인하기 위해 철저한 방법을 사용합니다. 그렇지 않은 경우 광 디스크 드라이브는 H입니다(드라이브 문자가 H를 초과하는 시스템은 많지 않습니다). , 전체 목록은 여기에서 끝납니다), "drivecd"는 CD-ROM 드라이브의 드라이브 문자입니다.
모든 VCD 영화의 경로는 /mpegav/이므로 VB 함수 "Dir()"를 사용하여 전체 재생 경로를 얻을 수 있습니다.
MMControl1.FileName=drivecd&":/Mpegav/"&Dir(drivecd&":/Mpegav/*.dat").
다음 소스 프로그램은 자동 VCD 재생을 구체적으로 구현합니다. 프로그램 형식에는 멀티미디어 컨트롤이 하나만 있습니다(MMcontrol1). 프로그램이 실행되면 자동으로 첫 번째 파일부터 재생됩니다. 멀티미디어 컨트롤에서 "다음" 키를 누르면 다음 파일이 재생됩니다.
'GetDriveType 함수 선언
PRivateDeclareFunctionGetDriveTypeLib"kernel32"별칭"GetDriveTypeA"(ByValnDriveAsString)AsLong
Dimfiles()AsString
DimdrivecdAsString
DimiAsInteger
DimjAsInteger
PrivateSubForm_Load()
'CD-ROM 드라이브의 드라이브 문자를 확인합니다
IfGetDriveType("d:/")<>5Then
IfGetDriveType("e:/")<>5Then
IfGetDriveType("f:/")<>5Then
IfGetDriveType("g:/")<>5Then
드라이브cd="H"
GoTogetcd파일
종료
드라이브cd="G"
GoTogetcd파일
종료
드라이브cd="F"
GoTogetcd파일
종료
드라이브cd="E"
GoTogetcd파일
또 다른
드라이브cd="D"
종료
'모든 VCD 파일을 배열 파일에 넣습니다()
getcd파일:
OnErrorGoTocderr:
s=Dir(드라이브cd&":/Mpegav/*.dat")
나는=1
동안<>""
ReDimPreservefiles(i)AsString
파일(i)=s
나는=나는 1
s=디렉토리()
향하게 하다
j=1
Callvcdplay
OnErrorGoTo0
ExitSub
cderr:
MsgBox"CDisnotready!"
언로드미
EndSub
'다음 파일을 재생할지 결정
PrivateSubMMControl1_StatusUpdate()
IfMMControl1.Position=MMControl1.LengthThen
j=j 1
Ifj>i-1Thenj=1
Callvcdplay
종료
EndSub
'VCD 파일 재생
비공개Subvcdplay()
MMControl1.Command="중지"
MMControl1.Command="닫기"
MMControl1.FileName=drivecd&":/Mpegav/"&files(j)
MMControl1.Command="열기"
MMControl1.Command="재생"
EndSub
위 프로그램은 중국어 Windows98 및 VisualBasic6.0에서 전달되었습니다. ->