|
vbAccelerator - Contents of code file: frmIDiscMaster.frmThis file is part of the download VB5 IMAPI Properties Demonstration, which is described in the article Image Mastering API (IMAPI) Library for VB. VERSION 5.00 Object = "{A3A35BDB-3B6A-46F3-B662-08B8F72ECD03}#11.1#0"; "vbalTreeView.ocx" Begin VB.Form frmDiscMaster Caption = "vbAccelerator: IMAPI CD Properties" ClientHeight = 5805 ClientLeft = 4755 ClientTop = 2040 ClientWidth = 6630 BeginProperty Font Name = "Tahoma" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Icon = "frmIDiscMaster.frx":0000 LinkTopic = "Form1" ScaleHeight = 5805 ScaleWidth = 6630 Begin VB.CommandButton cmdRefresh Caption = "&Refresh" Height = 375 Left = 180 TabIndex = 2 Top = 5340 Width = 1335 End Begin vbalTreeViewLib.vbalTreeView tvwRecorders Height = 4815 Left = 180 TabIndex = 0 Top = 420 Width = 6255 _ExtentX = 11033 _ExtentY = 8493 BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "Tahoma" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin VB.Label lblRecorderInformation Caption = "Recorder Information:" Height = 255 Left = 180 TabIndex = 1 Top = 120 Width = 6255 End End Attribute VB_Name = "frmDiscMaster" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Private m_cDiscMaster As cDiscMaster Private Sub showRecorders() Dim cRecorders As cDiscRecorders Dim cRecorder As cDiscRecorder Dim iRecorder As Long Dim iProperty As Long Dim nodRecorder As cTreeViewNode Dim nodMedia As cTreeViewNode Dim nodProperties As cTreeViewNode Dim nodFormats As cTreeViewNode Dim nodJoliet As cTreeViewNode Dim sKey As String Dim cMedia As cMediaInfo Screen.MousePointer = vbHourglass Set cRecorders = m_cDiscMaster.Recorders For iRecorder = 1 To cRecorders.Count Set cRecorder = cRecorders(iRecorder) With cRecorder sKey = "R:" & iRecorder Set nodRecorder = tvwRecorders.Nodes.Add(, , sKey, "Recorder " & iRecorder) nodRecorder.AddChildNode sKey & ":ID", "PNP ID=" & .PnPID nodRecorder.AddChildNode sKey & ":Type", "Type=" & RecorderTypeName(.RecorderType) nodRecorder.AddChildNode sKey & ":Path", "Path = " & cRecorder.Path nodRecorder.AddChildNode sKey & ":Vendor", "Vendor = " & cRecorder.VendorId nodRecorder.AddChildNode sKey & ":Product", "Product = " & cRecorder.ProductId nodRecorder.AddChildNode sKey & ":Revision", "Revision = " & cRecorder.RevisionId nodRecorder.AddChildNode sKey & ":State", "State=" & RecorderStateName(.RecorderState) Me.Refresh .OpenExclusive Set cMedia = cRecorder.MediaInfo Set nodMedia = nodRecorder.AddChildNode(, "Media") If cMedia.MediaPresent Then nodMedia.AddChildNode sKey & ":MediaType", "Media Type=" & MediaTypeName(cMedia.MediaType) nodMedia.AddChildNode sKey & ":MediaFlags", "Media Flags=" & MediaFlagNames(cMedia.MediaFlags) nodMedia.AddChildNode sKey & ":Sessions", "Sessions=" & cMedia.Sessions nodMedia.AddChildNode sKey & ":LastTrack", "LastTrack=" & cMedia.LastTrack nodMedia.AddChildNode sKey & ":Start", "Start=" & cMedia.StartAddress nodMedia.AddChildNode sKey & ":Next", "Next=" & cMedia.LastWritable nodMedia.AddChildNode sKey & ":Free", "Free=" & cMedia.FreeBlocks Else nodMedia.AddChildNode sKey & ":NoMedia", "No Media in drive" End If .CloseExclusive DoEvents nodMedia.Expanded = True Set nodProperties = nodRecorder.AddChildNode(sKey & ":PROPS", "Recorder Properties") With .Properties For iProperty = 1 To .Count With .Property(iProperty) nodProperties.AddChildNode sKey & ":PROPS:" & iProperty, .Name & " = " & .Value End With Next iProperty End With nodProperties.Expanded = True DoEvents Me.Refresh Set nodFormats = nodRecorder.AddChildNode(sKey & ":FORMATS", "Recorder Formats") If (.SupportsRedbook) Then nodFormats.AddChildNode sKey & ":REDBOOK", "Redbook (Audio)" End If If (.SupportsJoliet) Then Set nodJoliet = nodFormats.AddChildNode(sKey & ":JOLIET", "Joliet (Data)") End If nodFormats.Expanded = True nodRecorder.Expanded = True End With Next iRecorder Screen.MousePointer = vbDefault End Sub Private Sub Command2_Click() With m_cDiscMaster.Recorders.Recorder(1) .OpenExclusive .Eject .CloseExclusive End With End Sub Private Sub cmdRefresh_Click() ' lblRecorderInformation.Caption = "Getting recorder information, please wait..." tvwRecorders.Nodes.Clear Me.Enabled = False showRecorders lblRecorderInformation.Caption = "Recorder Information:" Me.Enabled = True ' End Sub Private Sub Form_Load() lblRecorderInformation.Caption = "Getting recorder information, please wait..." Me.Enabled = False Me.Show Me.Refresh Set m_cDiscMaster = New cDiscMaster m_cDiscMaster.Initialise showRecorders lblRecorderInformation.Caption = "Recorder Information:" Me.Enabled = True End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Me.Enabled = False lblRecorderInformation.Caption = "Shutting down, please wait..." tvwRecorders.Nodes.Clear Me.Refresh Screen.MousePointer = vbHourglass m_cDiscMaster.ClearUp Screen.MousePointer = vbDefault End Sub Private Sub Form_Resize() ' On Error Resume Next tvwRecorders.Move tvwRecorders.Left, tvwRecorders.Top, Me.ScaleWidth - tvwRecorders.Left * 2, _ Me.ScaleHeight - tvwRecorders.Top - tvwRecorders.Left * 2 - cmdRefresh.Height cmdRefresh.Top = tvwRecorders.Top + tvwRecorders.Height + tvwRecorders.Left ' End Sub
|
|||
|
||||
|