Ir para conteúdo
Fórum Script Brasil
  • 0

Explorar Cd Autorun


Guest Danilo

Pergunta

Estou fazendo um autorun em vb, e queria uma opção explorar CD, onde quando eu clicar o EXPLORER vai ser aberto na letra da unidade de CD.

Por equanto estou usando esse comando.

Shell ("c:\windows\explorer.exe e:"), vbNormalFocus

o problema é o E:

e se algum dia a minha unidade de CD for D:, ai o programa vai ter erro...

Tem alguma rotina pro VB detectar automático qual é minha unidade de cd?!?!?!

Valeu!

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

cara num entendi muito bem... eu tenho que baixar um programa ou basta escrever esse código?!?!?

Tem como você me explicar um pouquinho melhor?!?!?

desde já VALEU!

Link para o comentário
Compartilhar em outros sites

  • 0

Tente o código abaixo para retornar a letra do drive de CD:

Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

Private Const DRIVE_REMOVABLE = 2

Private Const DRIVE_FIXED = 3

Private Const DRIVE_REMOTE = 4

Private Const DRIVE_CDROM = 5

Private Const DRIVE_RAMDISK = 6

Private Sub Form_Load()

Dim r&, allDrives$, JustOneDrive$, pos%, DriveType&

Dim CDfound As Integer

Dim Search As Boolean

'pad the string with spaces

allDrives$ = Space$(64)

'call the API to get the string containing all drives

r& = GetLogicalDriveStrings(Len(allDrives$), allDrives$)

'trim off trailing chr$(0)'s. AllDrives$

'now contains all the drive letters.

allDrives$ = Left$(allDrives$, r&)

'begin a loop

Do

'find the first separating chr$(0)

pos% = InStr(allDrives$, Chr$(0))

'if there's one, then...

If pos% Then

'extract the drive up to the chr$(0)

JustOneDrive$ = Left$(allDrives$, pos%)

'and remove that from the Alldrives string,

'so it won't be checked again

allDrives$ = Mid$(allDrives$, pos% + 1, Len(allDrives$))

'with the one drive, call the API to

'determine the drive type

DriveType& = GetDriveType(JustOneDrive$)

'check if it's what we want

If DriveType& = DRIVE_CDROM Then

'got it (or at least the first one,

'anyway, if more than one), so set

'the found flag...

CDfound% = True

'we're done, so get out

Exit Do

End If

End If

Loop Until allDrives$ = "" Or DriveType& = DRIVE_CDROM

'display the appropriate message

If CDfound% Then

CD_ROM = Left$(UCase$(JustOneDrive$), 3)

MsgBox "Unidade de CD é " & CD_ROM

Else

MsgBox "Não foi detectado um drive de CD-ROM em seu sistema.", vbCritical

End

End If

Exit Sub

End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

ah eutestei e ele me informou qual o drive porem o que eu quero é que ele abra o windows explorer para o cara explorar o cd, no caso, tipo se a unidade de cd do cara for a D:, o windows explorer vai abrir no d:, da pra fazer isso?

Link para o comentário
Compartilhar em outros sites

  • 0

desculpa eu encher de novo mais eu estou usando a seguinte rotina

If CDfound% Then

CD_ROM = Left$(UCase$(JustOneDrive$), 3)

MsgBox "Unidade de CD é " & CD_ROM

Shell ("c:\windows\explorer.exe")

Else

MsgBox "Não foi detectado um drive de CD-ROM em seu sistema.", vbCritical

End

End If

o que eu ponho depois do explorer.exe para que ele abra o explorer, explorando a unidade de cd do usuário?!?!?!?

Link para o comentário
Compartilhar em outros sites

  • 0

CARA VALEU!!!! FUNCIONOU BELEZA, AGORA INDEPENDENTE DE QUAL SEJA A LETRA DA UNIDADE DE CD DO USUÁRIO, QUANDO ELE CLICAR EM EXPLORAR CD, O WINDOWS EXPLORER VAI ABRIR EXPLORANDO A LETRA CORRESPONDENTE A DA SUA UNIDADE DE CD!

FANTÁSTICO!!! VALEU MESMO!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

CARA VALEU!!!! FUNCIONOU BELEZA, AGORA INDEPENDENTE DE QUAL SEJA A LETRA DA UNIDADE DE CD DO USUÁRIO, QUANDO ELE CLICAR EM EXPLORAR CD, O WINDOWS EXPLORER VAI ABRIR EXPLORANDO A LETRA CORRESPONDENTE A DA SUA UNIDADE DE CD!

FANTÁSTICO!!! VALEU MESMO!!!!

Beleza...

Se cadastra e ajude a nossa comunidade a crescer ainda mais. Se cadastrando isso lhe traz muitos benefícios. Por exemplo fica muito mais fácil se comunicar com os membros, através da PM. Com ele você manda uma mensagem (como se fosse um EMail) e assim que a pessoa se logar ele vê a sua mensagem e assim poderá te ajudar mais rápido, as vezes, sem ao menos ter lido seu post wink.gif

Abraços,

William Rodrigues

Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite pessoal!

Estou exatamente com essa necessidade listada acima, de descobrir qual a letra da unidade de CDROM para executar um bat.

Vi que o Decio postou a solução logo acima, mas não conheço vbscript então gostaria que me ajudassem.

Não sei como faço para editar e executar o código acima. Tentei colar o mesmo em um arquivo com a extensão vbs mas quando executo retorna erro. Como devo proceder? Alguém poderia me ajudar?

Grato,

Eugênio.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152.1k
    • Posts
      651.8k
×
×
  • Criar Novo...