Oppure

Loading
21/10/07 13:24
GrG
Ciao!!
Ecco un'altro probl.
Vorrei sapere se esiste un modo x aprire un file (es. prova.exe) in qualsiasi directory in cui si trova, Quindi vorrei sapere una cosa del tipo:

Shell ".\prova.exe"
aaa
21/10/07 13:50
Due
Se ho capito bene il problema, penso che non ci sia il modo, perché in un computer possono esistere file con lo stesso nome (inclusa l'estensione) ma con contenuto diverso, è sufficiente che siano in directory diverse
aaa
21/10/07 16:31
P4p3r0g4
Beh in primis si dovrebbe fare una ricerca di tutti i file che si chiamano in quel modo nell'hard disk,
ammesso che il file esista si avvia.
se esiste più di un file si dovrebbe fare un confronto, se i file sono uguali avvia il più recente altrimenti manda uno splash screen con la scelta.
aaa
21/10/07 16:32
BytE-FucK
Infatti,potresti provare a cerkare con metodi,ma con ciò il tuo prog muore,e ci mette un sacco di tempo ad elaborare
aaa
21/10/07 17:41
P4p3r0g4
Senza offesa ma su che criterio ti basi per dire questo?
ho già creato il programma e non ci mette così tanto (max 2 sec)(a parte il primo utilizzo (una decina))
aaa
21/10/07 17:43
P4p3r0g4
Serve
una textbox(text1)
una listbox (list1) preimpostata .visible=false
una dirlistbox(dir1) preimpostata .visible =false

se usi questo codice in qualche programma che diffondi vorrei una citazione.

Option Explicit
Dim level As Integer
Dim SName As String
Dim shell1
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 Analize(DPath As String)
Dim x As Integer
level = level + 1
Dir1.Path = DPath
If Not Dir1.ListCount = 1 Then
For x = 1 To Dir1.ListCount - 1
Analize (Dir1.List(x) & "\")
Next x
End If
If Not Dir(DPath & SName) = "" Then List1.AddItem DPath
level = level - 1
Dir1.Path = ".."
End Sub



Private Sub List1_dblClick()
shell1 = ShellExecute(Me.hwnd, vbNullString, (List1.List(List1.ListIndex) & "\" & SName), vbNullString, vbNullString, 1)
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
List1.Visible = False
SName = Text1.Text
List1.Clear
On Error Resume Next
Analize ("c:\")
If List1.ListCount = 0 Then MsgBox ("No Record Found")
If List1.ListCount = 1 Then shell1 = ShellExecute(Me.hwnd, vbNullString, List1.List(1) & "\" & SName, vbNullString, vbNullString, 1)
If List1.ListCount > 1 Then MsgBox ("Multiple Record Found"): List1.Visible = True
End If
End Sub
aaa
21/10/07 18:16
GrG
Intanto grazie a tutti quelli ke si sn interessati al mio problema.
Paperoga, purtroppo il tuo codice nn mi funge proprio correttamente.
Se io prova.exe la metto in C: va tutto bene.
Se però si trova sul desktop nn mi trova il prog. e quindi nn me lo apre,
come si può fare per risolvere questo problema??
aaa
22/10/07 13:53
P4p3r0g4
vedo di controllare il codice appna possibile..
aaa