Προς το περιεχόμενο

Visual Basic για DVD Autorun


orestis1987

Προτεινόμενες αναρτήσεις

Καλησπέρα σας!

 

Θέλω να φτιάξω μια πολύ απλή εφαρμογή για να λειτουργεί σαν autorun με Visual Basic (2005). Θέλω μεταξύ άλλων να δημιουργήσω ένα click event για ένα label το οποίο θα ανοίγει το παράθυρο με τα περιεχόμενα ενός συγκεκριμένου φακέλου. Το παράθυρο θα είναι η απλή περιήγηση φακέλων των Windows XP.

Τί βάζω ανάμεσα;;

 

>Private Sub Ετικέτα1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ετικέτα1.Click 
`Τί να βάλω άραγε εδώ 
End Sub

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλησπέρα σας!

 

Θέλω να φτιάξω μια πολύ απλή εφαρμογή για να λειτουργεί σαν autorun με Visual Basic (2005). Θέλω μεταξύ άλλων να δημιουργήσω ένα click event για ένα label το οποίο θα ανοίγει το παράθυρο με τα περιεχόμενα ενός συγκεκριμένου φακέλου. Το παράθυρο θα είναι η απλή περιήγηση φακέλων των Windows XP.

Τί βάζω ανάμεσα;;

 

>Private Sub Ετικέτα1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ετικέτα1.Click 
`Τί να βάλω άραγε εδώ 
End Sub

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στην VB 98 καλούσαμε την παρακάτω συνάρτηση:

 

Option Explicit

Private Const DEF_SHOWTOOLTIP = False

Private Const SW_NORMAL = 1

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 Sub label1_Click()

Dim Location As String

 

Location = "c:\"

ShellExecute hwnd, "open", Location, vbNullString, vbNullString, SW_NORMAL

 

End Sub

 

 

Δοκίμασε το. Νομίζω όμως ότι αν πάρεις την URL label που έχει η VB 2005 και βάλεις για URL π.χ. c:\ θα δουλέψει.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στην VB 98 καλούσαμε την παρακάτω συνάρτηση:

 

Option Explicit

Private Const DEF_SHOWTOOLTIP = False

Private Const SW_NORMAL = 1

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 Sub label1_Click()

Dim Location As String

 

Location = "c:\"

ShellExecute hwnd, "open", Location, vbNullString, vbNullString, SW_NORMAL

 

End Sub

 

 

Δοκίμασε το. Νομίζω όμως ότι αν πάρεις την URL label που έχει η VB 2005 και βάλεις για URL π.χ. c:\ θα δουλέψει.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Βρήκα την εντολή System.Diagnostics.Process.Start(Ετικέτα1.Tag.ToString)

αλλά δεν θέλω να ορίζω συγκεκριμένο drive πχ D: ή E: αλλά σχετικό.

Δηλαδή θέλω σαν tag της ετικέτας να μη βάλω D:\folder\ αλλά \folder αλλα πετάει εξαίρεση με αυτο το τροπο. Εύλογα θέλω να δωσω σχετικό γιατί πολύ απλά δεν ξέρω σε τι drive θα μπει το dvd. Τι να κάνω;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Βρήκα την εντολή System.Diagnostics.Process.Start(Ετικέτα1.Tag.ToString)

αλλά δεν θέλω να ορίζω συγκεκριμένο drive πχ D: ή E: αλλά σχετικό.

Δηλαδή θέλω σαν tag της ετικέτας να μη βάλω D:\folder\ αλλά \folder αλλα πετάει εξαίρεση με αυτο το τροπο. Εύλογα θέλω να δωσω σχετικό γιατί πολύ απλά δεν ξέρω σε τι drive θα μπει το dvd. Τι να κάνω;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι σωστά. Τελικά βρήκα τη λύση.

Ειναι το πολύ απλό:

>Private Sub Ετικέτα1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ετικέτα1.Click
       System.Diagnostics.Process.Start(String.Concat(My.Computer.FileSystem.CurrentDirectory, Ετικέτα1.Tag.ToString))
End Sub

 

όπου Ετικέτα1.Tag η διαδρομή του φακέλου μετά το επίπεδο του φακέλου του εκτελέσιμου δηλαδή ουσιαστικά η διαδρομή χωρίς το drive letter.

 

edit:Η concat ενώνει τα δύο string επιστρέφοντας το ολοκληρωμένο path του φακέλου

 

Ευχαριστώ firewalker που ασχολήθηκες.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...