Newsgroup: it.comp.lang.visual-basic
Titolo: Eseguire un file....

Ciao a tutti,
vorrei abbinare ad un command la seguente stringa che inserisco di solito in 
Start-Esegui di windows xp: \\computer6\ciao   la quale mi apre una cartella 
che si trova sul computer6 di una LAN della quale fa parte anche il mio PC. 
come posso fare?
Ho visto che č possibile creare un file .bat che ha la stessa funzione di 
esegui, puň essere utile? Nel file .bat basta scrivere "Start 
\\computer6\ciao.
Grazie per l'aiuto.
PS mi scuso se ho postato lo stesso messaggio su piů news ma sono nuovo e 
non sapevo in quale la mia domanda fosse piů attinente, rimedierň alla 
prossima. 

ma devi farlo in vb?
nel qual caso potrebbe servire qualcosa del genere...
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
Const SW_SHOWNORMAL = 1
Private Sub Command1_Click()
    ShellExecute Me.hwnd, vbNullString, "\\computer6\ciao",
vbNullString, vbNullString, SW_SHOWNORMAL
End Sub
che alla pressione del bottone, ti apre la cartella (attenzione ai
permessi...)

 permessi...)
Si grazie, era proprio quello che mi serviva.
Purtroppo riguardo ai permessi, in mancanza di un server, xp pro non è 
facilmente gestibile, funziona tutto in locale ma quando si tratta di 
consentire o meno l'accesso ai dati da un pc in rete, caos.... l'ultimo 
consiglio che mi è stato dato è quello di creare un utente comune per tutti 
i pc con uguale password, ma non cambia molto. Se conosci qualche buon 
manuale o sito dove andare a leggere, esclusi quelli della microsoft che, 
secondo me, vengono tradotti dall'inglese e non sono per niente chiari, ma 
sarà sicuramente un mio limite. CIAO.

di solito in Start-Esegui di windows xp [....]
prova questo : (non ho la possibilita' di testarlo su XP)
Private Sub Form_Load()
Dim cmd As String
Const STAY = " /K "
Const NOSTAY = " /C "
 ' cmd = "Dir *.*"  ' Valid DOS command
 'cmd = "notepad.exe"  ' Valid DOS command
 cmd = "\\computer6\ciao"  ' Valid DOS command
  Shell Environ("COMSPEC") & NOSTAY & cmd, vbNormalFocus
End Sub
' se non ... prova gli altri due comandi cosi vedi come funziona
www.tuttoreti.com
news:it.comp.reti.locali
' altrimenti per sfizio >>> crazy vbs (*.vbs)
Set Shell = WScript.CreateObject ("Shell.Application")
set oShell = CreateObject("WScript.Shell")
Shell.FileRun
While not oShell.AppActivate("Esegui")
wscript.Sleep 50
Wend
cd = "notepad.exe"
' cd="\\computer6\ciao"
oShell.SendKeys cd
WScript.Sleep 100
oShell.SendKeys"{Enter}"
'Copia incolla su notepad e salva con estensione .vbs
'tutti i file (*.*)  poi ci clicchi sopra. (per esempio Run.vbs)
'se ti da' errore disattiva l'antivirus
--
Fosco

scusa la velocità, magari dopo rispondo in maniera più estesa...
però al limite non sarebbe possibile eseguire il comando "net use" ?
nella sua sintassi
net use \\computeracuicollegarsi\cartellacondivisa
/USER:nomedominoocomputer\utente password
Volendo, con questo puoi anche creare la cartella di rete...
(approposito,
e semplicemente crearne una definitiva????)
Una volta "connesso" con l'utene sul computer "target", ti connetti
come 
sopra.

'se ti da' errore disattiva l'antivirus
manda in tilt l'antivirus come dicevi e poi prevede che esista un file vbs 
da attivare con il cmd da vb, quindi sempre meglio il primo metodo che mi 
evita di creare i file. Perň risulta essere molto piů veloce. 

sopra.
Ho provato ad inserire nel Click del command quanto da te suggerito (net use 
\\computeracuicollegarsi\cartellacondivisa) ma non succede nulla (tranne i 
messaggi di errore di vb). Potresti farmi un esempio pratico di come 
utilizzare Net use? Grazie. 

 prossima.
Prova anche questa soluzione:
1. Aggiungi ai riferimenti del progetto la libreria "Microsoft Shell Controls
And Automation"
2. Nel tuo programma scrivi:
Dim oShell As New Shell
    oShell.Open "\\computer6\ciao"
Bye
Raf

Hey, ho provato cosě e funziona rapidissimamente:
Call Shell("start \\computer6\ciao")
qual'č l'inghippo? 

 posso fare qualcosa per minimizzarla? o per accelerare il tutto?
guarda che IMHO il tuo e' piu un problema di rete che di VB
magari l'approccio e' sbagliato ed esiste qualcosa di piu semplice
prova a vedere qui  
http://www.tuttoreti.com/
anche il WMI potrebbe fare al caso tuo :
http://msdn.microsoft.com/library/en-us/wmisdk/wmi/connecting_to_wmi_on_a_remote_computer.asp
http://www.google.it/search?hl=it&q=wmi%2Bremote&meta=
--
Fosco

...e ancora una volta piu' di rapido.. scusa!
(ma ora non dovrebbe essere tempo di ferie per la gente, porc.....)
non ho tempo di capire il perche', ma se passi la stringa netuse non
funziona con l'api di prima.
Cambio con questa, che sul mio pc va. Se intanto ti basta, magari nel
fine settimana riesco a vedere
qualcosa di piu' decente.
Private Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As
String, ByVal nCmdShow As Long) As Long
Private Sub Command1_Click()
    WinExec "net use \\nomecomputer\directorycondivisa
/USER:nomecomputerodominio\utente password", 10
    WinExec "explorer.exe \\nomecomputer\directorycondivisa", 10
End Sub