Newsgroup: it.comp.lang.visual-basic
Titolo: [API] WNETADDCONNECTION - WNETCANCELCONNECTION

Aggiunge / Rimuove una connessione di rete.
Declare Function WNetAddConnection Lib "mpr.dll" Alias "WNetAddConnectionA"
(ByVal lpszNetPath As String, ByVal lpszPassword As String, _
ByVal lpszLocalName As String) As Long
Declare Function WNetCancelConnection Lib "mpr.dll" _
Alias "WNetCancelConnectionA" (ByVal lpszName As String, _
ByVal bForce As Long) As Long
x=WNetAddConnection("\\server\share","pippoPSW","G:")
in questo caso viene connesso  : "\\server\share"
con password : "pippoPSW"  ( passare stringa vuota se non c'e' password)
come disco  "G"
Per disconnetere basta fare :
x=WNetCancelConnection("G:",False)
Ciao
Ven.

Questo per comando NET USE.
Conosci API anche per comando NET TIME? (vorrei che un prg all'avvio setti
ora locale=ora di un server remoto, comando NET TIME \\nomeserver /SET
/YES).

Cristiano Larghi Micronix2 <C.La...@Micronix.it> wrote in message
7sigjq$c1o$1...@fe1.cs.interbusiness.it...

Esiste una funzione API solo per Windows NT.
Per Win95/98 non esiste e si usa NET TIME.
--
Roal Zanazzi
z...@iol.it


Neanche a farlo apposta in un .....post precedente come  esempio sulla
chiusura di una finestra dove si lancia un comando DOS c'era proprio quello
che cerchi.... lo Riposto anche xche' forse l'ho spiegato male dando adido
ad incomprensioni....
Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd
As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
lpClassName As String, ByVal lpWindowName As String) As Long
          Appo = "NET TIME " & Appo & " /SET /YES"
          WinHwnd = Shell(Appo, vbMinimizedNoFocus)
          WinHwnd = 0
          While WinHwnd = 0
                WinHwnd = FindWindow(vbNullString, "Esecuzione terminata -
NET")
          Wend
          RetVal = PostMessage(WinHwnd, WM_CLOSE, 0&, 0&)
Note : Questo esempio lancia un comando dos e ne attende la fine, quindi
chiude la finestra DOS che altrimenti rimarrebbe aperta.
Nel ciclo While si ricerca una finestra per la descrizione riportata nella
barra del titolo , nell'esempio :
"Esecuzione terminata - NET"
Quindi questa stringa va opportunamente adattata alle proprie esigenze,
fate una prova lanciando il comando o programma dos, aprite la finestra e
leggete cosa e' riportato sulla barra del titolo... se leggete :
"Esecuzione terminata - Programma pinco pallino"
dovete inserire questa stringa in questa istruzione :
WinHwnd = FindWindow(vbNullString, "Esecuzione terminata - Programma pinco
pallino")
rispondendo a te Cristiano :
Appo = "NET TIME " & Appo & " /SET /YES"
                                         ^^^^^^  qua va il nome del
server....
come avrai capito questo codice l'ho inserito in una Sub dove gli passo
appunto.... il nome server....
per sincronizzare il Time........
Ciao
Ven.

Probabilmente sto sbagliando qualcosa, ma non funziona.
Apro finestra Dos e provo a chiuderla, questo è il codice:
 winhwnd = 0
 While winhwnd = 0
  winhwnd = FindWindow(vbNullString, "Esecuzione terminata - prova")
 Wend
 MsgBox (winhwnd)
 RetVal = PostMessage(winhwnd, WM_CLOSE, 0&, 0&)
winhwnd restituisce handle correttamente, ma poi sembra che il PostMessage
venga ignorato: il programma termina, ma la finestra Dos resta aperta.
Eppure viene riconosciuta correttamente (restituisce handle; se cambio nome
a findwindow entra in loop infinito).
Sbaglio qualcosa?
Non è che funziona solo con win95 e hanno cambiato qualcosa nella
dichiarazione in win98?
Se hai qualche consiglio da darmi ti ringrazio.


io la uso in W98 ed e' tutto Ok... probabilmente non hai impostato la
WM_CLOSE :
Public Const WM_CLOSE = &H10
Ciao
Ven.

Acc.......hai ragione!!
Quando la sera si esagera poi i risultati sono questi.........
Funziona, grazissime.