Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191

    [VB6]Avviare applicazione dopo avvio windows...

    Ciao a tutti, devo avviare una applicazione creata con vb6 dopo circa 10 minuti che si è avviato windows, come posso fare?...Grazie mille a tutti...

  2. #2
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    dopo dieci minuti esatti non ti so dire, una soluzione un pò "sporca", è farlo avviare subito dopo l'avvio di win, e creare un timer che scatti ogni dieci minuti, usandolo per fare ciò che vuoi e poi disattivandolo

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Cioè tu intendi, farlo avviare all'avvio di windows nascosto, poi con un timer, dopo 10 minuti lo mostro?

  4. #4
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    si, perdonami se non ti faccio un esempio, ma mi ricordo come si fa solo in vb.net, il vb non lo tocco più da due anni ormai

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Bhè, per farlo partire all'avvio di windows potrei usare questo codice che ho trovato sul forum...

    'nella sezione dichiarazioni di un modulo
    Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _
    (ByVal hKey As Long, ByVal lpValueName As String, _
    ByVal Reserved As Long, ByVal dwType As Long, _
    lpData As Any, ByVal cbData As Long) As Long
    Declare Function RegCloseKey Lib "advapi32.dll" _
    (ByVal hKey As Long) As Long
    Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _
    (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

    Public Const HKEY_CLASSES_ROOT = &H80000000
    Public Const HKEY_CURRENT_USER = &H80000001
    Public Const HKEY_LOCAL_MACHINE = &H80000002
    Public Const HKEY_USERS = &H80000003
    Public Const HKEY_PERFORMANCE_DATA = &H80000004
    Public Const ERROR_SUCCESS = 0&
    Public Const REG_SZ = 1
    Public Const REG_DWORD = 4

    'in un modulo
    Public Sub savestring(hKey As Long, strPath As String, _
    strValue As String, strdata As String)

    Dim keyhand As Long
    Dim r As Long
    r = RegCreateKey(hKey, strPath, keyhand)
    r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal strdata, Len(strdata))
    r = RegCloseKey(keyhand)
    End Sub

    'nella procedura che salva la voce nel registro
    path = App.path & "\" & App.EXEName & ".exe"
    Call savestring(HKEY_LOCAL_MACHINE, _
    "SOFTWARE\Microsoft\Windows\CurrentVersion\Run ", app.exename, path)

    Il problema è ora, come faccio a farlo rimanere nascosto?

  6. #6
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    .... provato a mettere nel form1_load() questo?
    me.hide
    mentre nel timer1_Tick() (mi pare fosse questo l'evento):
    me.show
    'Tutto il resto che gli vuoi far fare
    timer1.enabled = false

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Hmm, grazie mille provo...

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    C'è un problema però...
    Ho inserito 300000 nel interval del timer, e non me lo fa mettere(Invalid propriety value)...
    300000 sarebbero 5 minuti...
    E ora come faccio?

  9. #9
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    dividilo in un certo numero di scatti

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Zlatan8.
    C'è un problema però...
    Ho inserito 300000 nel interval del timer, e non me lo fa mettere(Invalid propriety value)...
    300000 sarebbero 5 minuti...
    E ora come faccio?
    1) Prima di tutto puoi fare partire un programma anche creando il link nel gruppo Esecuzione automatica, ed è consigliabile perchè se nel computer è attivo un firewall serio (non come quello di XP e Vista) può anche impedirti di accedere al registro, e di solito lo impedisce (se il firewall è impostato bene); se non lo impedisce, il firewall è impostato male.
    Questo lo dico nel caso tu debba distribuire la tua applicazione, e quindi si trovano le configurazioni più disparate.


    2) Per il Timer puoi fare così:
    Imposti Interval a 60.000 che equivale ad 1 minuto, poi usi questo codice
    codice:
    Private Sub Form_Load()
        Me.Hide
    End Sub
    Private Sub Timer1_Timer()
        Static minuti As Integer
        minuti = minuti + 1
        If minuti = 10 Then
            frmMain.Show
        End If
    End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.