Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 26-08-2004, 14.38.01   #1
unomichisiada
Newbie
 
Registrato: 08-07-2004
Messaggi: 47
unomichisiada promette bene
[Visual C++]-Contare le istanze di un'applicazione

Salve,il titolo dice tutto.Supponiamo di avee una certa applicazione,ogni nuova istanza di tale applicazione che viene avviata dovrebbe riuscire a contare le altre istanze di se stessa attualmente attive e ricavare di conseguenza un numero ordinale da impostare nel suo titolo.Un esempio può chiarire.Supponiamo che inizialmente non ci siano altre istanze attive,il programma dovrebbe contare zero istanze e quindi dire "io mi chiamo 1",la successiva istanza avviata (con l'altra ancora attiva) dovrebbe contare un'applicazione del suo tipo già attiva e quindi dire "io mi chiamo 2",e così via.La cosa non è banale però,infatti all'inizio avevo pensato di usare una variabile statica nella classe applicazione e incrementarla nel costruttore,così però non funziona perchè la variabile statica può contare le istanze di una stessa classe soltanto se istanziate nell'ambito della stessa sessione dell'applicazione.In altre parole se io nel mio programma ho un classe CPippo e la istanzio più volte nell'ambito della stessa sessione dell'applicazione la varibile conterà effettivamente le istanze di CPippo,se però avvio un'altra applicazione uguale le istanze di CPippo create in quella vengono conteggiate a parte in'un'altra variabile statica.Qualche idea per risolvere il mio problema?
___________________________________

Sai che la fortuna è una religione:tu ci credi oppure no.
unomichisiada non è collegato   Rispondi citando
Vecchio 02-09-2004, 11.39.42   #2
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Sto provando a pensarci, ma il difficile è il fatto che il titolo dell'istanza cambia ogni volta. Se mi viene in mente qualcosa ti faccio sapere.
Alhazred non è collegato   Rispondi citando
Vecchio 02-09-2004, 14.07.24   #3
unomichisiada
Newbie
 
Registrato: 08-07-2004
Messaggi: 47
unomichisiada promette bene
Non parlarmene,lo so che non è semplice.Ok grazie.
___________________________________

Sai che la fortuna è una religione:tu ci credi oppure no.
unomichisiada non è collegato   Rispondi citando
Vecchio 02-09-2004, 15.26.51   #4
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Non ho idee migliori ma stavo pensando a ricavare la lista dei processi attivi.
In questo modo, una volta conosciuto il nome del file eseguibile, basterebbe enumerare tutti i processi e controllare quante volte il nome del file è contenuto in lista.
Purtroppo la procedura è ben più complessa di quella da adottare sul 98 se si vuole operare in questo modo su W2K e su WXP.

In rete dovrebbero esserci alcuni esempi pratici.
Prova a vedere se trovi qualcosa tipo "Enumerate Processes in Windows 2000"
LoryOne non è collegato   Rispondi citando
Vecchio 02-09-2004, 18.01.41   #5
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Codice:
#include <windows.h>
#include <tlhelp32.h>
#include <iostream>
#include <conio.c>

using namespace std;

main(void){
    PROCESSENTRY32 uProcess;
    HANDLE hSnapShot;
    long r;
    
    hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
    uProcess.dwSize = sizeof(uProcess);
    r = Process32First(hSnapShot, &uProcess);
    while(r){
        cout << uProcess.szExeFile << "\n";
        r = Process32Next(hSnapShot, &uProcess);
    }CloseHandle(hSnapShot);
    getch();
}
Questo credo che "funzioni" sul 2000.
Sul 98 è sicuro.
LoryOne non è collegato   Rispondi citando
Vecchio 02-09-2004, 18.29.09   #6
unomichisiada
Newbie
 
Registrato: 08-07-2004
Messaggi: 47
unomichisiada promette bene
Lo provo Grazie.
___________________________________

Sai che la fortuna è una religione:tu ci credi oppure no.
unomichisiada non è collegato   Rispondi citando
Vecchio 03-09-2004, 02.41.48   #7
unomichisiada
Newbie
 
Registrato: 08-07-2004
Messaggi: 47
unomichisiada promette bene
Avete letto l'altro mio post?La soluzione di quello,o meglio della sua parte finale mi preme molto di più di questa,se qualche anima buona...Thanks
___________________________________

Sai che la fortuna è una religione:tu ci credi oppure no.
unomichisiada non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
[Win XP] Spostare un'applicazione senza installer johnbocc Windows 7/Vista/XP/ 2003 8 22-02-2006 23.15.49
2 problemi causati dal blocco di un'applicazione crib Windows 9x/Me/NT4/2000 6 27-10-2004 15.46.41
un'applicazione misteriosa nell'elenco delle applicazioni installate gremus Windows 7/Vista/XP/ 2003 1 24-10-2004 18.28.08
Agganciare un'applicazione esterna NS-1 Programmazione 27 29-07-2004 13.06.57
Le istanze multiple di oggetti... Fast-M Programmazione 19 15-09-2003 23.43.26

Orario GMT +2. Ora sono le: 16.48.38.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.