Newsgroup: it.comp.programmare.win32
Titolo: SDI?

Utilizzando le mfc ho creato un'applicazione sdi ora ho dei dati da
visualizzare, array di reali, non so come fare chi mi da una direttiva?
In generale mi prefiggo di fare dei calcoli e di visualizzarli nell'area di
lavoro, e vorrei la possibilità di consultare i risultati dei miei calcoli
utilizzando più pagine quindi tramite delle barre di scorrimento.
Vi ringrazio anticipatamente.

 wrote in message
news:820bsu$s6d$1...@fe1.cs.interbusiness.it...


 utilizzando più pagine quindi tramite delle barre di scorrimento.
La cosa piu` semplice: definisci come tua finestra principale
un dialogo, contenente una listbox (NON sortata) -- attenta,
non un controllo listview, che e` bello e potente ma ricco e
complesso, una banalissima listbox.  Con ogni addstring che
fai su quella listbox aggiungi in coda una riga (una stringa
su cui avrai formattato il numero che vuoi mostrare).  Quando
la listbox ha piu` righe di quanto spazio non abbia per
mostrarle, automaticamente (se non le hai disabilitate
rispetto ai default:-) appaiono le scrollbar, che l'utente puo`
usare a suo piacimento per esaminare i dati senza che la
tua applicazione se ne debba minimamente preoccupare.
La stessa cosa puoi farla se invece che dialog-based la tua
applicazione e` SDI ma la tua view deriva da formview (in
pratica, "un dialogo sotto falso nome":-).
Puoi incorporare un listbox anche in una finestra qualsiasi,
ma ci sono un piccolo tot di problemi.  Comunque, se fai
cosi`, devi creare il listbox dinamicamente (non c'e` un
"design editor" altro che per i dialoghi:-) come figlio della
tua finestra.
Alternativamente, puoi ereditare la tua view da CScrollView,
ma allora devi fare un poco di lavoro per supportare tu
lo scroll (che la listbox ti farebbe invece "gratis"...).  Certo,
cosi`, hai piu` controllo sull'esatto "look" delle cose.
Alex

 utilizzando più pagine quindi tramite delle barre di scorrimento.
Se vuoi anche fare delle operazioni di copia-incolla sui risultati, puoi sempre
usare una semplice editbox multiline. Non e` molto elegante, ma e` semplice e
funzionale.
--
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

Gentili utenti del NG,
vi chiedo un parere e un 'aiuto' tecnico:
- Parere
Ho creato una applicazione di monitoraggio dei processi per W95/98 con l'SDK
(C), 'ispirandomi' al codice di Pview (MSDN) e installando un Hook di Shell
che mi avvisa della creazione/chiusura di processi.
Se inserito nell'apposita chiave del Registro in modo che venga lanciata
all'avvio del S.O., intercettando ogni nuovo processo creato in seguito,
terminando tutti i processi non autorizzati (es. confrontandoli con una
lista), posso ritenere 'controllato' il sistema, ovvero, posso avere la
'certezza' che nessun processo non autorizzato possa essere utilizzato?
Naturalmente la mia applicazione non compare nella Task List, si chiude solo
con password e conto sul fatto di terminare ogni altro processo prima che
lui possa terminare il mio.
(escludiamo l'eventualita` che si possa riavviare il sistema in modo
inconsueto, cioe` tramite floppy o altro)
- Problema
Non riesco a distinguere alcuni processi (tipo Pannello di Controllo) e,
confondendoli con Explorer, termino il SO.
Questo effetto collaterale vorrei evitarlo, ma non sono riuscita a capire
come individuare questa classe di processi-figli.
Grazie per l'attenzione,
Susanna

 come individuare questa classe di processi-figli.
In realta` se dai un'occhiata alla lista dei processi (perlomeno sotto a NT)
non ne vengono creati di nuovi quando apri il Pannello di Controllo.
Quest'ultimo viene eseguito nello spazio di indirizzamento di Explorer. Molti
suoi applet invece vengono eseguiti da RUNDLL32 (non tutti).


Gentile Lutti,
in effetti il metodo di 'protezione' che ho proposto non vuole essere
esaustivo (non credo lo potrebbe, in un sistema operativo per 'definizione'
non protetto), pertanto sopporterei senza drammi attacchi come quello
descritto (anche se, onestamente, non ho capito bene come possa
funzionare...)
Correggo, invece, la mia richiesta di consulenza: quasi tutte le applet di
Pannello di Controllo sono caricate in memoria tramite Rundll32 e quindi
potrei bloccare direttamente Rundll32 (rimane la questione di poter
individuare una applet piuttosto di un'altra; un problema analogo ce l'ho
con Winoldapp: quale applicativo msdos sarà richiamato in memoria?).
La sola apertura di Pannello di Controllo invece avvia un processo
Explorer.exe, ma anche in questo caso potrei prevenirlo, confrontando il
nome con la lista di processi letta all'avvio.
In teoria i miei problemi sono risolti; in pratica non sono sicura che lo
schema possa 'tenere', che so', avviando in prompt dei comandi e accedere al
registro di configurazione (è possibile?), o cose del genere.
Susanna

 registro di configurazione (č possibile?), o cose del genere.
Sicuramente in uno schema di protezione come quello che vuoi ottenere sarebbe
meglio inibire in generale anche l'esecuzione dei prompt e delle applicazioni
DOS. Comunque penso che gia` cosi` il livello di sicurezza sia sufficiente per
scoraggiare un "hacker improvvisato".



<snip>
Ok e grazie.
susanna