我做了个光驱启动程序,但是在调用 
Shell App.Path & "\setup2kxp.exe"
时找不到光驱路径,2000xp可以运行,就98不行,而98访问别人的光驱也可以,怎么回事,请高手速答

解决方案 »

  1.   

    你把程序拿到98下调试一下,也就是
    msgbox App.Path & "\setup2kxp.exe"
    看看路径与2000下有什么不同你改成
    Shell App.Path & IIf(Right(App.Path, 1) = "\", "", "\") & "setup2kxp.exe"
    试一下。
    因为你写的如果在根目录下就会有问题。
      

  2.   

    Private Sub Form_Load()
    Dim val As Integer
    GetCDRom
    End Sub
    Private Function GetCDRom() As String
        Dim LDs As Long, Cnt As Long, sDriver As String
        LDs = GetLogicalDrives
        For Cnt = 0 To 25
            If (LDs And 2 ^ Cnt) <> 0 Then
                sDriver = Chr$(65 + Cnt) & ":\"
                If IsCDRom(sDriver) Then
                    Run sDriver
                End If
            End If
        Next Cnt
    End FunctionPrivate Function IsCDRom(ByVal sDriver As String) As Boolean
        Select Case GetDriveType(sDriver)
            Case 2: IsCDRom = False 'Me.Print "Removable"
            Case 3: IsCDRom = False ' Me.Print "Drive Fixed"
            Case Is = 4: IsCDRom = False ' Me.Print "Remote"
            Case Is = 5: IsCDRom = True ' Me.Print "Cd-Rom"
            Case Is = 6: IsCDRom = False ' Me.Print "Ram disk"
            Case Else: IsCDRom = False ' Me.Print "Unrecognized"
        End Select
    End Function
    这样试一下
      

  3.   

    还有,如果路径中有空格,注意要用引号:Shell """" & App.Path & IIf(Right(App.Path, 1) = "\", "", "\") & "setup2kxp.exe"""这样保险一点。
      

  4.   

    555,没空格,反正在98下用app找不到光盘的路径.