[VB] cmd Open Verkenner CDrom station

Pagina: 1
Acties:

  • Calvin&Hobbes
  • Registratie: December 2001
  • Laatst online: 17-08 17:00
Ik heb al overal gezocht (google/boeken)/aan gedacht
maar hoe zorg ik ervoor in mijn programma dat als ik op de cmdBrowse knop klik dat de verkenner wordt geopend in het cdrom path waarin de cd met dit programma zit

Dit is wat ik heb:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" _
    
    Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal _
    lpOperation As String, ByVal lpFile As String, ByVal _
    lpParameters As String, ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long

Private Const SW_SHOWNORMAL = 1

Public Sub OpenExplorer(Optional InitialDirectory As String)


      ShellExecute 0, "Explore", InitialDirectory, _
        vbNullString, vbNullString, SW_SHOWNORMAL

End Sub

Private Sub cmdBrowse_Click()

OpenExplorer ("")

End Sub

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 04:19
Gebruik alsjeblieft [code]-tags, dat maakt het er een stuk duidelijker op. (Schreef ik dat een reboot geleden niet ook al?)

Als ik het goed begrijp, wil je in InitialDirectory je CD-rom pad hebben? In normale omstandigheden is het pad waaruit je applicatie gestart is, je current working direction. In de API documentatie staat hoe je die kunt opvragen. Als je alleen de hoofddirectory wilt hebben (dat is me dus niet helemaal duidelijk) kun je in Windows gewoon de eerste letter neem met ":\" erachter, of iets anders creatiefs.

  • Calvin&Hobbes
  • Registratie: December 2001
  • Laatst online: 17-08 17:00
Ik bedoel dus dat verkenner opent in het pad X: (als dat de aanduiding cdrom station is) i.p.v. het pad C: zoals dat nu het geval is.

Verwijderd

Gewoon t zelfde als een URL openen... (kan nu ff niet opschrijven, heb net geformatteerd)... dus met de shellexecute functie, en dan als URL gewoon D:\ ingeven

  • Calvin&Hobbes
  • Registratie: December 2001
  • Laatst online: 17-08 17:00
Okay ik heb het API functie gevonden echter nu krijg ik de foutmelding:
_____________________________________________
Runtime error '453'

Can't find dll entry point GetCurrentDirectory in kernel32
_____________________________________________

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" _
    Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal _
    lpOperation As String, ByVal lpFile As String, ByVal _
    lpParameters As String, ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long

Private Declare Function GetCurrentDirectory Lib "kernel32" _
    (ByVal nBufferLength As Long, ByVal _
    lpBuffer As String) As Long

Private Const SW_SHOWNORMAL = 1


Public Sub OpenExplorer(Optional InitialDirectory As String)

Dim buffer As String
Dim retvalue As Long

retvalue = GetCurrentDirectory(255, buffer)
InitialDirectory = buffer

      ShellExecute 0, "Explore", InitialDirectory, _
        vbNullString, vbNullString, SW_SHOWNORMAL

End Sub

Private Sub cmdBrowse_Click()


OpenExplorer


End Sub

  • TukkerTweaker
  • Registratie: November 2001
  • Laatst online: 20-08 09:45
Kun je niet gewoon een shell openen met Explorer X: ? Dit is toch veel simpeler?

  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 15:14

johnwoo

3S-GTE

uhh... je kunt toch gewoon App.Path gebruiken om te bepalen in welke folder de executable staat?
De huidige drive is dan dus Left$(App.Path, 3)
Je eerste code is dus goed, alleen moet je de aanroep ff veranderen:
Visual Basic .NET:
1
2
3
Private Sub cmdBrowse_Click()
   OpenExplorer Left$(App.Path, 3)
End Sub

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


  • Adion
  • Registratie: Januari 2001
  • Laatst online: 22:43
Let er wel op dat dat laatste enkel werkt in een niet-netwerkomgeving of met een gemapte drive.
Als iemand je programma via het netwerk start, zal app.path zoiets zijn als
\\Computernaam\cdrom\mijnprogramma.exe

VirtualDJ 2026 - Fast Image Resizer - Instagram

Pagina: 1