Oppure

Loading
15/07/06 23:46
cloda01
Ciao a tutti!è il mio primi post..Vi espongo il problema..questo programma si apre a ogni avvio di windows e manda una email..purtroppo però con i pc che hanno l'adsl si avvia prima il programma delle rete internet e quindi si chiude l'applicazione..sapete mica come ritardare di qualke secondo il processo con il controllo timer?oppure se sapete come fargli fare un test della connessione e di provare finkè nn c'è la rete?grazie
Vi posto la parte di codice interessata

Private Sub form_load()

Set iMsg = CreateObject("CDO.Message";)
Set iConf = CreateObject("CDO.Configuration";)
Set Flds = iConf.Fields
Flds(cdoSendUsingMethod) = cdoSendUsingPort
Flds(cdoSMTPServer) = "server"
Flds(cdoSMTPServerPort) = "25"
Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
Flds.Update
With iMsg
Set .Configuration = iConf
.To = "email"
.From = "email"
.Sender = "email"
.Subject = "oggetto"
.TextBody = "testo"
.Send
End With
aaa
18/07/06 15:33
natamas
Qesto è un codice in VB6 che controlla se ci sono connessioni attive e se ci sono li può anche terminare, se vuoi puoi aggiungere dei timer per postare le varie funzioni o procedure.

Public Const RAS_MaxEntryName As Integer = 256
Public Const RAS_MaxDeviceType As Integer = 16
Public Const RAS_MaxDeviceName As Integer = 128
Public Const RAS_RASCONNSIZE As Integer = 412
Public Const ERROR_SUCCESS = 0&
Public Type RASCONN
    dwSize As Long
    hRasConn As Long
    szEntryName(RAS_MaxEntryName) As Byte
    szDeviceType(RAS_MaxDeviceType) As Byte
    szDeviceName(RAS_MaxDeviceName) As Byte
End Type
Public Type RASENTRYNAME
    dwSize As Long
    szEntryName(RAS_MaxEntryName) As Byte
End Type
'Enumerate the active connections
Public Declare Function RasEnumConnections Lib "RasApi32.DLL" Alias "RasEnumConnectionsA" (lprasconn As Any, lpcb As Long, lpcConnections As Long) As Long
'HangUp the modem
Public Declare Function RasHangUp Lib "RasApi32.DLL" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long

'dichiarazioni delle variabili "globali"
Dim RASEntN_Size, RASEntN_Numb, RASConnN_Size, RASConnN_Numb, hRasConn, ReturnCode As Long
Dim a, b As String

Private Sub Form_Load()
  'Inizialize Internet connection
  ReDim RASEntN(255) As RASENTRYNAME
  RASEntN(0).dwSize = 264
  RASEntN_Size = 256 * RASEntN(0).dwSize
call control
end sub

Public Sub control()
  'Procedura che serve per verificare se esistono connessioni attive ad internet
  ReDim RASCon(255) As RASCONN
  RASCon(0).dwSize = 412
  RASConnN_Size = 256 * RASCon(0).dwSize
  'enumera le connessioni attive
  a = RasEnumConnections(RASCon(0), RASConnN_Size, RASConnN_Numb)
  'formatta la stringa delle connessioni attive
  b = StrConv(RASCon(0).szEntryName(), vbUnicode)
  b = Left(b, InStr(b, Chr(0)) - 1)
  'se esistono connessioni attive allora le termina
  If b <> "" Then
	call termina 
  End If
End Sub

Private Sub termina()
'Procedura che serve per terminare la connessione internet (se già esistente..)
  ReDim RASCon(255) As RASCONN
  RASCon(0).dwSize = RAS_RASCONNSIZE
  RASConnN_Size = RAS_MaxEntryName * RASCon(0).dwSize
  RASConnN_Numb = 0
  'enumera le connessioni attive
  ReturnCode = RasEnumConnections(RASCon(0), RASConnN_Size, RASConnN_Numb)
  'se esistono connessioni attive.....
  If ReturnCode = ERROR_SUCCESS Then
    hRasConn = RASCon(0).hRasConn
    'cerca di disconnettere internet
    ReturnCode = RasHangUp(hRasConn)
  End If
End Sub


Per qualche altro chiarimento scrivi sempre qui.
Buon utilizzo di questo codice, ciao:k:
aaa
04/10/06 10:00
girobai
comunque se vuoi ritardare qualche processo o istruzione puoi usare:
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


function ritardo(byval quantiSecondi as integer)
sleep(quantiSecondi * 1000)
end function
aaa