Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Kreator
    Registrato dal
    May 2002
    Messaggi
    278

    [c++] Controllare se un programma e' in esecuzione

    Ciao raga.

    Sto facendo un programma di disinstallazione in c++.
    C'e' un comando che permette di verificare (prima di iniziare la disinstallazione del programma) se il programma corrente e' in esecuzione oppure no ???


  2. #2
    Utente di HTML.it L'avatar di Kreator
    Registrato dal
    May 2002
    Messaggi
    278
    Aiuto!
    up. :maLOL:

  3. #3
    penso che devi affidarti al sistema operativo per ottenere questa informazione perciò sei su windows?
    se si guarda qui
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  4. #4
    Utente di HTML.it L'avatar di Kreator
    Registrato dal
    May 2002
    Messaggi
    278
    sostanzialmente alla funzione EnumWindows(..) dovrei passargli l'handle della finestra alla quale voglio sapere se esiste.
    Ritorna vero se esiste e falso altrimenti.

    Il problema pero' e' che non so come si fa a ricavare l'handle di un altro processo ???? :maLOL:
    Qualcuno sa come posso fare ?


  5. #5
    allora ho sbagiato quello che ti interessa non è enumwindows ma enumprocess per ciclare tutti i processi "attivi" poi quando hai i PID con openprocess ottieni i nomi dei processi
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  6. #6
    Utente di HTML.it L'avatar di Kreator
    Registrato dal
    May 2002
    Messaggi
    278
    esatto, e' proprio quella la funzione.
    Ho controllato anche sulle MSDN.

    Sto provando ad implementare il tutto.
    Soltanto che ho un problemino nel richiamare la funzione EnumProcess(...)

    Sostanzialmente quando vado a richiamare tale funzione mi viene fornito il seguente errore:
    [Linker Error] Unresolved external 'EnumProcesses' referenced from E:\DOCUMENTI\C++\ENUM_PROCESS\MAIN.OBJ

    codice:
    #include <windows.h>
    #include <tchar.h>
    #include "Psapi.h"
    
    ...
    ...
    
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
       DWORD aProcesses[1024], cbNeeded, cProcesses;
    
       EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded);
    }
    Da quello che mi pare di capire sembra che tale funzione deve essere dichiarata nell'header del file main.h, o sbaglio ?
    Ho provato ad inserire la dichiarazione di tale funzione nell'header ma mi fornisce sempre il solito errore.
    Mi puo' aiutare qualcuno ?


  7. #7
    Utente di HTML.it L'avatar di Kreator
    Registrato dal
    May 2002
    Messaggi
    278
    ho trovato.
    Praticamente non avevo incluso il file PSapi.lib
    Grazie mille per i suggerimenti.


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 © 2024 vBulletin Solutions, Inc. All rights reserved.