Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    77

    [VB6] Controllare se un .exe è attivato\terminato

    Ciao a tutti,

    quello che vorrei fare in VB6 è controllare se un programma .exe è iniziato e che poi è terminato in modo da poter controllare l'abilitazione\disabilitazione di un'altro programma scritto da me in visual basic 6.

    Grazie!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma l'eseguibile lo devi lanciare tu dal programma VB6 o e' indipendente?

    Se e' completamente indipendente, potrebbe non essere fattibile ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    77
    Il programma lo lancio tramite un pulsante in VB6.....

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Un programma si lancia con del codice ... quale codice usi?

  5. #5
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Da dichiarare in un modulo:

    codice:
     
    Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
    Public Const INFINITE = &HFFFF      '  Timeout infinito
    Public Const SYNCHRONIZE = &H100000
    
    Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    lancio una applicazione e attendo che finisca l'esecuzione:
    codice:
     
    Dim process_handle As Long
    Dim process_id As Long
    
            process_id = Shell(AppDaEseguire, vbNormalFocus)
            DoEvents
            process_handle = OpenProcess(SYNCHRONIZE, 0, process_id)
            If process_handle <> 0 Then
                WaitForSingleObject process_handle, INFINITE
                CloseHandle process_handle
            End If
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Sì ... ma possibilmente ermurena non vuole bloccare la sua applicazione in attesa che termini quella eseguita (che e' quello che fa la WaitForSingleObject) ... bisogna che lui ci precisi cosa vuole fare ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    77
    grazie kalosjo!!!

    effettivamente in questo modo il mio codice in VB6 rimane bloccato in attesa... ma per ora mi va benone!! grazie ache a te oregon!

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.