Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    vb6 - esecuzione automatica

    ciao...come posso mettere il mio programma in esecuzione automatica??
    l'unica soluzione ke so io è quella d trovare la cartella d esecuzione automatica cn le api e copiarci dentro il programma,xò vorrei farlo in maniera + elegante...penso si possa fare qualcosa cn il registro d sistema...

    grazie

  2. #2
    Si può fare andando a scrivere una chiave in registro di sistema:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run]

    oppure

    [HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run]

  3. #3
    potresti buttare giù 2 righe d codice??xkè 1° nn so cm scrivere nel registro e poi nn saprei cs scriverci...grazie 1000

  4. #4
    Da qualche parte ho un esempio ora ci provo a postartelo:

    Metti queste dichiarazioni in un modulo
    Option Explicit
    'Variabili
    Private lResult As Long
    'Costanti
    Private Const KEY_ALL_ACCESS As Long = &H2003F
    Public Const HKEY_CURRENT_USER As Long = &H80000001
    Public Const HKEY_LOCAL_MACHINE As Long = &H80000002
    Private Const ERROR_SUCCESS As Long = 0
    Private Const REG_SZ As Long = 1
    Public Const REG_DWORD As Long = 4
    'Dichiarazioni
    Private Declare Function OSRegOpenKeyEx Lib "Advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long
    Private Declare Function OSRegCloseKey Lib "Advapi32.dll" Alias "RegCloseKey" (ByVal hKey As Long) As Long
    Private Declare Function OSRegSetValueEx Lib "Advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpszValueName As String, ByVal dwReserved As Long, ByVal fdwType As Long, lpbData As Any, ByVal cbData As Long) As Long

    Sempre nel modulo metti queste funzioni:
    'Apertura chiave registro sistema
    Public Function RegOpenKey(KeyRoot As Long, KeyName As String, phkResult As Long) As Boolean
    '------------------
    'Valori in entrata:
    'KeyRoot = HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USER (Chiavi principali del Registro di configurazione).
    'KeyName = Percorso della chiave che si vuole aprire (ad esempio "SOFTWARE\Microsoft\Windows\CurrentVersion").
    '------------------
    'Valori in uscita:
    'Se la funzione ha esito corretto (True), phkResult contiene l'identificativo della chiave appena creata.
    'In caso contrario, phkResult sarà uguale a "".
    '------------------
    On Error GoTo 0
    lResult = OSRegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, phkResult)
    If lResult = ERROR_SUCCESS Then
    RegOpenKey = True
    Else
    RegOpenKey = False
    End If
    End Function

    'crea una stringa in una chiave già aperta
    Public Function RegSetStringValue(ByVal hKey As Long, ByVal strValueName As String, ByVal strData As String) As Boolean
    '------------------
    'Valori in entrata:
    'hKey = L'identificativo di una chiave aperta o creata.
    'strValueName = Il nome del valore che si vuole creare.
    'strData = Dati in formato stringa che si desidera inserire nel Registro.
    '------------------
    'Valori in uscita:
    'Se la funzione ha esito corretto (True), il valore specificato è salvato nel Registro.
    'In caso contrario, nessun valore sarà salvato.
    '------------------
    On Error GoTo 0
    If hKey = 0 Then
    Exit Function
    End If
    lResult = OSRegSetValueEx(hKey, strValueName, 0&, REG_SZ, ByVal strData, LenB(StrConv(strData, vbFromUnicode)) + 1)
    If lResult = ERROR_SUCCESS Then
    RegSetStringValue = True
    Else
    RegSetStringValue = False
    End If
    End Function

    'Chiusura chiave registro sistema
    Public Function RegCloseKey(hKey As Long) As Boolean
    '------------------
    'Valori in entrata:
    'hKey = L'identificativo di una chiave aperta o creata.
    '------------------
    'Valori in uscita:
    'Se la funzione ha esito corretto (True), la chiave specificata viene chiusa.
    '------------------
    On Error GoTo 0
    lResult = OSRegCloseKey(hKey)
    If lResult = ERROR_SUCCESS Then
    RegCloseKey = True
    Else
    RegCloseKey = False
    End If
    End Function


    Ora che hi le funzioni nel modulo le richiami così:
    Call RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run ", hendle)
    Call RegSetStringValue(hendle, "Nome_servizio(quello che vuoi tu)", "path all'applicazione")
    Call RegCloseKey(hendle)

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.