orestis1987 Δημοσ. 18 Μαρτίου 2006 Μέλος Δημοσ. 18 Μαρτίου 2006 Καλησπέρα σας! Θέλω να φτιάξω μια πολύ απλή εφαρμογή για να λειτουργεί σαν 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
orestis1987 Δημοσ. 18 Μαρτίου 2006 Δημοσ. 18 Μαρτίου 2006 Καλησπέρα σας! Θέλω να φτιάξω μια πολύ απλή εφαρμογή για να λειτουργεί σαν 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
firewalker Δημοσ. 18 Μαρτίου 2006 Δημοσ. 18 Μαρτίου 2006 Στην 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:\ θα δουλέψει.
firewalker Δημοσ. 18 Μαρτίου 2006 Δημοσ. 18 Μαρτίου 2006 Στην 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:\ θα δουλέψει.
orestis1987 Δημοσ. 19 Μαρτίου 2006 Μέλος Δημοσ. 19 Μαρτίου 2006 Βρήκα την εντολή System.Diagnostics.Process.Start(Ετικέτα1.Tag.ToString) αλλά δεν θέλω να ορίζω συγκεκριμένο drive πχ D: ή E: αλλά σχετικό. Δηλαδή θέλω σαν tag της ετικέτας να μη βάλω D:\folder\ αλλά \folder αλλα πετάει εξαίρεση με αυτο το τροπο. Εύλογα θέλω να δωσω σχετικό γιατί πολύ απλά δεν ξέρω σε τι drive θα μπει το dvd. Τι να κάνω;
orestis1987 Δημοσ. 19 Μαρτίου 2006 Μέλος Δημοσ. 19 Μαρτίου 2006 Βρήκα την εντολή System.Diagnostics.Process.Start(Ετικέτα1.Tag.ToString) αλλά δεν θέλω να ορίζω συγκεκριμένο drive πχ D: ή E: αλλά σχετικό. Δηλαδή θέλω σαν tag της ετικέτας να μη βάλω D:\folder\ αλλά \folder αλλα πετάει εξαίρεση με αυτο το τροπο. Εύλογα θέλω να δωσω σχετικό γιατί πολύ απλά δεν ξέρω σε τι drive θα μπει το dvd. Τι να κάνω;
firewalker Δημοσ. 20 Μαρτίου 2006 Δημοσ. 20 Μαρτίου 2006 Μπορείς με την εντολή Curdir που επιστρέφει το όνομα του τρέχον καταλόγου εργασίας.
orestis1987 Δημοσ. 20 Μαρτίου 2006 Μέλος Δημοσ. 20 Μαρτίου 2006 Ναι σωστά. Τελικά βρήκα τη λύση. Ειναι το πολύ απλό: >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 που ασχολήθηκες.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.