mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: rand()

xkè la funzione rand restituisce valore del.....????

già letto nei post precedenti, skusate.

Newsgroup: it.comp.programmare.win32
Titolo: PATH, dove va il compilatore a cercarsi gli header?

Come da soggetto, ho un problema, non capisco dove vada il compilatore
g++ a
cercarsi gli header che gli servono. In particolare vorrei usare le QT
libs, ma non riesco a fare in modo che il compilatore le trovi. Qualcuno
mi sa aiutare? Ah, scusate, uso Linux, ma non mi farebbe male sapere
anche x win. Grazie ciao

 cercarsi gli header che gli servono.
Non conosco il g++, ma di solito i percorsi delle librerie e degli
header si specificano in due modi:
-Tramite variabili di ambiente particolari e dipendenti dal compilatore
(non PATH, comunque);
-Tramite degli switch a riga di comando del compilatore.
In ogni caso dato che sviluppi sotto linux la risposta migliore da darti
e` RTFM. :)
--
Lorenzo

Newsgroup: it.comp.programmare.win32
Titolo: Passare parametri

Salve, sto cercando di fare una cosa che in C++ era molto semplice, ma che
ora utilizzando Win32 mi risulta alquanto difficoltosa. Dovrei fare in modo
che il mio programma possa essere chiamato utilizzando dei parametri
opzionali all'avvio. Ma ora come faccio? Prima c'era la main() in cui come
parametri mettevo quelli, ma ora c'è
WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int
iCmdShow) che ha già dei parametri. Quelli che voglio aggiungere io dove li
dovrei mettere? Dopo quelli già presenti oppure dove?
Grazie e ciao.
Luca

"Luca Carlon" <carlo...@NOSPAMemail.it> ha scritto nel messaggio
news:Cz7g9.2401$my3....@twister2.libero.it...

Il parametro szCmdLine contiene tutti i parametri che specifichi qunado
lanci l'eseguibile, escluso il nome dell'eseguibile.
Quindi nel caso tu lanci il programma come segue:
myprog a b cccc d /y
in szCmdLine dovresti avere la stringa "a b cccc d /y".
Se vuoi tutta la riga di comando compreso il nome dell'eseguibile puoi usare
la API GetCommandLine.
Se vuoi convertire la stringa dei parametri nello stile dell'array argv e
argc puoi usare l'API CommandLineToArgvW (attento che usa le stringhe in
formato UNICODE).
Se usi il compilatore Visual C++ dall versione 5.0 (non credo faccia parte
dello standard quindi non ti so dire alcunché per altri compilatori) sono
disponibili due variabili globali
__argv
__argc
che hanno lo stesso significato dei corrispettivi argv e argc disponibili
nella main( ).
Spero di esserti stato utile.
Porlock.

 Spero di esserti stato utile.
Certo. Grazie per tutte queste informazioni.
Luca

 Luca
Newsgroup: it.comp.programmare.win32
Titolo: Aiuto!!! Stampa!

Salve a tutti,
sto cercando di imparare a stampare in c++ tramite le sole API di windows,
quindi senza usare MFC o OWL...
Ho cercato degli esempi tra le cartelle del Borland c++ 4.52 che ho
acquistato tempo fa, ho cercato tra i manuali del
compilatore, tra altri 4 manuali che ho acquistato in libreria, tra una
marea di tutorial su internet, ma niente, di stampa
su windows usando le sole API non c'e' traccia...
Ho gia' mandato una richiesta giorni fa, ma quello che ho ottenuto (da
persone tra l'altro gentilissime),
e' di sentirmi dire che e' facile, che e' come scrivere su una finestra,
ecc...ecc...
Mi hanno mandato frammenti di codice allo scopo, ma essendo alle prime armi
non sono assolutamente in grado di
implementare quei codici in un programma funzionante... :-(((
Ora, vi chiedo, visto che la cosa per tanti e' cosi' semplice (per me
assolutamente no!!!!)
Se c'e' una persona cosi' gentile da mandarmi uno straccio di programmino
che mi stampi "Ciao Mondo" su una stampante generica, in modo che io possa
studiarmelo ed imparare questa cosa, avra' la mia gratitudine, e magari una
copia del programmino semplice semplice che dovrei scrivere (se questo gli
puo' interessare....).
L'eventuale sorgente me lo potete mandare nel corpo del messaggio sul
newsgroup, oppure come allegato in posta.
Grazie a tutti per l'attenzione,
Andrea

,

Charles Petzold, fin dalla prima edizione del suo libro,
dedica due capitoli interi alla stampa.
Piu' chiaro di cosi', direi che non e' possibile essere.
Se non impari da li' e dagli esempi dell'SDK ...
Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.

Newsgroup: it.comp.programmare.win32
Titolo: Matrici o liste

>>>>>>>>>>>>

 in ognuno dei casi come si puo' implementare una cosa del genre?
Io l'ho fatto, se ti fidi (non sono un guru della programmazione, ma me la
cavo) ti posso mandare il listato (in C++), l'ho implementata in due modi:
con le standard template del C++ e con la classe CArray di MFC. Queste
implementazioni le uso "pesantemente" e non mi hanno mai dato problemi,
inoltre sono molto veloci nell'accesso ai dati.
Ciao
--
Roberto
FV
----------
rob...@messora.com
ICQ# 37732681
----------
Membro di SFI Italy
Simulazioni PBEM di Star Trek
 
http://gioco.net/startrek
(Crusader, Highlander, Unicorn)
----------
Resistance is futile
Newsgroup: it.comp.programmare.win32
Titolo: C/C++ Decompilers

Ho sentito parlare dei cosidetti "decompilatori" (che da un eseguibile
ricavano il codice "sorgente"... o qualcosa del genere...), qualcuno mi sa
dare qualche informazione in +  ? (tipo...effettiva utilità e/o affidabilità
e disponibilità sul Web...)
thankS
Maurizio

 wrote:
?? magari!!! sai che spasso sarebbe decompilare i software di
microsoft!



uhm... lo so che sembra una "bufala", ma esistono sul serio (x  VB, CLIPPER,
JAVA...)!
Date un occhiata qui:
http://www.it.uq.edu.au/groups/csm/decompilation/home.html
.. anche se, di decompilatori VC++ non se ne vede neanche l'ombra...
pof...
Maurizio :|


Yuk! ho appena "provato" DCC (puah... in teoria legge solo Eseguibili DOS...
gli EXE si rifiuta di caricarli... e l'Output dovrebbe essere C (e non C++)
Source...
mah...
Mau



Io ne ho sempre sentito parlare , ne avevo perfino visto alcuni per COBOL ..
e per BASCOM ai tempi dei tempi..
Comunque chiamano tutte le funzioni non pubbliche con bei nomi tipo
"Function00000" etc. , per le variabili e le strutture non ne parliamo ...
Insomma meglio niente..
Un po' si salvano col Java che necessitando di una virtual machine è più
"decompilabile" , anche quelli clipper tirano fuori codice incomprensibile
(per sentito dire)
--
Ciao , Ricardo Antonio Piana
(Rico per gli amici)
ricard...@tiscalinet.it
______________________________________________
Tutti i miei racconti , alcune poesie ed altro nel mio sito
http://web.tiscalinet.it/ricardopiana
______________________________________________

Maurizio :|
Saluti,
    Mardy

 Source...
IMO i decompilatori a linguaggi di alto livello non hanno ragione di esistere.
Esistono invece degli ottimi decompilatori a linguaggio assembly, che - con
discreti margini di successo - producono file ASM che si possono ricompilare
per ricreare l'eseguibile.
Il primo che mi viene in mente e` Sourcer, che decompila anche gli eseguibili
PE/NE. Ovviamente e` un programma a pagamento.
Personalmente se fossi un pirata preferirei SoftICE o comunque un remote
debugger. :-)))
--
Bye! Lorenzo Lutti (
http://www.geocities.com/SiliconValley/Peaks/6258/
)
Newsgroup: it.comp.programmare.win32
Titolo: Problema

Ciao a tutti
Sto realizzando un programma che deve leggere il file in modo tale da poter
spedire il suo contenuto ad un controllo winsock; in ricezione il suo
contenuto deve essere uguale a quello del file originale.
Sto provando a lueggere in file in questo modo:
FILE *filestr;
char *mat = new char[NUMERO_MASSIMO_DI_CARATTERI];
filestr = fopen("c:\\file.doc","rb");
fread(mat,sizeof(char),NUMERO_MASSIMO_DI_CARATTERI,filestr);
delete (mat)
Solamente che facendo il debug vedo che mat assume valore vuoto.
E siccome poi devo inviarlo ad un controllo winsock volevo sapere como posso
fare per estrarre il contenuto in modo uguale a quello realmente contenuto
nel file.
Cosi come è ora funziona solamente che tralascia gli spazi.
Qualcuno conosce una possibile soluzione.
Grazie a tutti
Ciao
Maurizio

:...
: Sto provando a lueggere in file in questo modo:
:
: FILE *filestr;
: char *mat = new char[NUMERO_MASSIMO_DI_CARATTERI];
: filestr = fopen("c:\\file.doc","rb");
: fread(mat,sizeof(char),NUMERO_MASSIMO_DI_CARATTERI,filestr);
: delete (mat)
:
: Solamente che facendo il debug vedo che mat assume valore vuoto.
: E siccome poi devo inviarlo ad un controllo winsock volevo sapere
como posso
: fare per estrarre il contenuto in modo uguale a quello realmente
contenuto
: nel file.
: Cosi come è ora funziona solamente che tralascia gli spazi.
: Qualcuno conosce una possibile soluzione.
Ciao, non ho capito bene.
Se mat e' vuoto, come fa a funzionare?
In ogni caso, penso che il problema possa dipendere da come hai aperto
il file: se e' in modo testo, la fread esegue alcune conversioni e il
risulatoto finale sarebbe inevitabilmente diverso dall'originale.
Ciao

 nel file.
L'errore è dovuto al fatto che stai leggendo più (oppure meno)
caratteri di quanti ne contenga effettivamente il file.
Nota che tu chiedi alla funzione fread() di leggere
esattamente NUMERO_MASSIMO_DI_CARATTERI byte dal file, ma
NUMERO_MASSIMO_DI_CARATTERI è la dimensione della stringa mat,
mica è detto che sia il numero di byte contenuti nel file!
(Le implementazioni tipiche di fread() restituiscono 0 quando
si tenta di leggere oltre la fine del file).
Il tuo problema si risolve quindi facilmente passando quale 3°
parametro di fread() il numero effettivo di caratteri
contenuti nel file, in questa maniera:
FILE *filestr ;
char *mat = new char[NUMERO_MASSIMO_DI_CARATTERI] ;
filestr = fopen("c:\\file.doc" , "rb") ;
/* calcola la lunghezza del file, in byte */
long fileLength ;
fseek(filestr , 0L , SEEK_END) ;
fileLength = ftell(filestr) - 1 ;
/* ripristina il cursore all'inizio del file */
rewind(filestr) ;
/* passa ad fread() la lunghezza effettiva del file */
fread(mat , sizeof(char) , fileLength , filestr) ;
delete(mat) ;
A questo punto, potresti pensare anche di dimensionare mat
mediante fileLength (+1), così non sprechi memoria né rischi
di sottodimensionare mat.
Ciao e buon lavoro,
Emanuele Z.
Newsgroup: it.comp.programmare.win32
Titolo: WSAIotcl

Ciao a tutti,
qualcuno di voi sa dirmi quali sono i parametri da passare alla funzione
WSAIoctl? Dovrebbe servire per far lavorare la scheda di rete in promiscuos
mode
Ciao

 mode
Hm .. qualcosa del tipo
 SOCKET               sock;
 SOCKADDR_IN   if0;
 unsigned int          optval = 1;
 DWORD               dwBytesRet;
// ... codice omesso ...
 if0.sin_family = AF_INET;
 if0.sin_port = htons(0);
 bind(sock,(SOCKADDR *)&if0,sizeof(if0));
 sock=WSASocket(AF_INET,SOCK_RAW,IPPROTO_IP,NULL,0,WSA_FLAG_OVERLAPPED);
WSAIoctl(sock,SIO_RCVALL,&optval,sizeof(optval),NULL,0,&dwBytesRet,NULL,NULL
);
// ... codice omesso ...
dovrebbe andare .. ovvio che poi dovrai aggiungere
il resto del codice, ma quanto sopra crea il socket e lo
imposta in modalità "sniffing" :-)
Ciao

Newsgroup: it.comp.programmare.win32
Titolo: [Forse OT] ActiveX Question

Ciao a tutti,
forse sono OT in questo gruppo per parlare di activeX,se lo sono ditemi
dove è più giusto postare.
Se non lo sono vi pongo questo quesito:
Ho un ActiveX da cui vorrei esportare un gruppo di "define". Come posso
fare?
In pratica vorrei che nel file "nomeCtrl1.h" ci fossero tutte le macro
#define pippo 1
che mi servono...
Grazie per tutto l'aiuto che riuscirete a darmi
Saluti
Myzhar

 che mi servono...
I #define NON si possono esportare, puoi provare a definire delle
variabili const ed esportare quelle.
Con le DLL e' possibile, con gli ActiveX non so.
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 variabili const ed esportare quelle.
In effetti ho trovato un articolo MSDN che spiega la cosa... grazie
comunque :)
Ciao
Walter

 comunque :)
Beh... tira fuori il link, magari a qualcun altro interessa. :-)



Perfettamente ragione :)
Ecco il link:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/midl/midl/dealing_with_defines_in_idl_files_2.asp
Ciao
Walt

Newsgroup: it.comp.programmare.win32
Titolo: Riassegnazione funzione tasti in XP

Ciao a tutti voi,
avrei necessità di assegnare se possibile al punto decimale del tastierino
numerico la virgola.
Mi spiego meglio:
sotto Windows Xp quando schiaccio il punto del tastierino numerico desidero
che mi compaia la virgola.
Se qualcuno può gentilmente aiutarmi nello scopo gli sarei grato
grazie

Askel ha scritto:

Dovresti fare un driver apposta (e imho non ne vale la pena); altrimenti,
soluzione non testata: prova ad installare un hook globale e a cambiare i
parametri che ti vengono passati alla KeyboardProc o alla
LowLevelKeyboardProc.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.programmare.win32
Titolo: aiuto

voglio imparare assolutamente a programmare, a riguardo ho qualche file di
testo che spiega questo mondo ma non mi basta. Cosa devo fare per iniziare?
Ciao! GRAZIE



Scegliti un linguaggio e inizia a leggerti la documentazione, per la
sua facilità ti consiglio Python (
www.python.org
 e 
www.python.it
).
-- 
                    Marco Barisione (ICQ 84277092)
Se sei interessato alla creazione di un newsgroup generico in cui si
possa parlare di quei linguaggi di programmazione senza un gruppo
apposito vota per it.comp.lang su it.news.votazioni.

Newsgroup: it.comp.programmare.win32
Titolo: Cancellare da ResourceView

Buongiorno a tutti
Problema In VisualC++
Come faccio a cancellare un qualsiasi oggetto dal
workspace-resourceview(toolbar icona,finestra di dialogo ecc)Nel menu di
scelta rapida c'e solo l'opzione insert e non qualcosa per cancellare
Thanks
--------------------------------
Inviato via 
http://usenet.libero.it

 Thanks
It's nothing. :)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


--------------------------------
Inviato via 
http://usenet.libero.it

Newsgroup: it.comp.programmare.win32
Titolo: C++ Builder - Help librerie C++

Ho la versione 3 standard, ottimo programma ma nell'hel in linea ci sono le
specifiche delle librerie C e non di quelle C++ (ad esempio le specifiche
delle iostream con descrizione dei metodi e dati membro).
Sapete per caso se l'help completo è nelle versioni 4 o 5 oppure se non sono
incluse perchè possiedo la versione standard invece che professional?

 ha scritto nel messaggio
news:zcPq6.8602$x3.1...@news2.tin.it...

La documentazione sulla libreria standard dovrebbe trovarsi in formato *.doc
nella cartella C:\Programmi\Borland\CBuilder3\Help (o qualcosa di simile).
Nella versione 4 del software dovrebbe esserci anche l'help in linea.
Ciao
Fabio.

Newsgroup: it.comp.programmare.win32
Titolo: [MFC] Aggiornamenti via Internet

Salve! Vorrei implementare, con MFC, la possibilità di verificare su
Internet la presenza di aggiornamenti per la mia app., ed eventualmente
scaricarli. Da dove comincio?
Ciao!!
Kojak
http://space.tin.it/io/viscorci
vrke...@hotmail.com
"I close my eyes
and I see
you
standing there
I cry
tears
of sorrow
I die."

 scaricarli. Da dove comincio?
Tempo fa l'ho fatto in modo orribilmente semplicistico (ma c'e` il
vantaggio che il metodo funziona anche se non puoi eseguire nulla su
server): nello spazio web a tua disposizione metti anche un file .txt (o
altra estensione, non importa) in cui sono contenuti dati "utili"
sull'applicazione, ad esempio il numero di versione online e la
dimensione/URL del pacchetto.
Dopodiche` dal tuo programma e` sufficiente richiedere quel file .txt
attraverso il protocollo HTTP (ora e` ancora piu` semplice, dato che hai
la classe CHttpFile), et voila`: avrai tutte le informazioni necessarie
per decidere se e come scaricare degli aggiornamenti.
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/
Newsgroup: it.comp.programmare.win32
Titolo: Parametri per Format

Salve Gente,
Ho dei dubbi sulla funzione Format della classe CString :
devo formattare una stringa con dei DWORD ed altri tipi non proprio
standard e non ho trovato delle indicazioni su che parametri fornire .
Se per gli interi si usa %d Cosa uso per un DWORD , per un UINT etc etc
Grazie 1E3
fil

> Se per gli interi si usa %d Cosa uso per un DWORD , per un UINT etc etc
sempre %d
vedi su MSDN la funzione wsprintf(...)
--
ciao
XAERO [*]
"Se vuoi renderti conto del valore del
denaro, prova a chiedere un prestito"
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCA/CM/CS/CC/E/O d?(-) s+:-- a--->? C++++(+)$@ UL-(--) P>++ L+() E-- W+++$@
N++@ o-- K- w+++(++++)@ O--- M V? PS+++ PE-(--) Y? PGP>++ t? 5? X+ R- tv-
b+(++) DI? D++ G- e !h !r y?
------END GEEK CODE BLOCK------

 vedi su MSDN la funzione wsprintf(...)
Per DWORD e UINT e' molto meglio %u, perche' sono numeri senza segno.
    Aldo.

Newsgroup: it.comp.programmare.win32
Titolo: [OT] File IDX e DAT

Ho un programma di terzi (una vera ciofeca) che serve
per l'archiviazione e cosultazione digitale delle fatture.
Ogni 4 o 5 fatture salvate come TIFF, il programma le
prede e le archivia i una coppia di file con ugual nome e
con estensione .DAT e .IDX.
Sono sicuro che non trattano dei formati proprietari.
Nessuno sa che tipo di file sono questi .IDX e .DAT???
E nessuno sa come estrapolare i singoli TIFF da questi
2 file .DAT e .IDX???
Siti, libri, riviste???
Va bene tutto.
Grazie 1000.
Berna.
PS:
voglio rifarmi un programma da solo, ma mi serve tutto lo
storico delle fatture gia` registrate e questi simpaticoni
non voglio darmi i file TIFF (nemmeno a pagamento).



contattami via mail, magari ti potrei essere d'aiuto .....
a volte me la cavo con formati proprietari...
Antonio

 Sono sicuro che non trattano dei formati proprietari.
Solitamente un file .DAT o .IDX identifica un formato proprietario (dati 
e indice)... Anche io, come molti, uso queste estensioni in quei casi...
-- 
Luc.
Newsgroup: it.comp.programmare.win32
Titolo: Aggiornamento tool da server

Qualcuno ha mai creato un'applicazione che se installata sui vari client gli
aggiornamenti successivi possano essere fatti da un server.
Mi spiego meglio.
Vorrei che al momento dell'accesso all'applicativo, il tool riconosca che ci
sia un aggiornamento e chieda all'utente di aggiornare il progetto. Questo
per ovviare al problema di andare pc per pc a sovrascrivere il prodotto.
Vorrei fare questa cosa per un tool che sto sviluppando in delphi ma mi
interesserebbe fare la stessa cosa anche per altri linguaggi.
Qualcuno ha già realizzato qualcosa di simile?
Accetto consigli!
Grazia mille per la collaborazione.

 aggiornamenti successivi possano essere fatti da un server.
Ti posto un mio esempio: si tratta di una funzioncina che scarica un file da
internet.
Nel tuo caso potresti fare cosě: sul server c'č un file che tiene solamente
traccia della release; dopo averlo scaricato confronti la versione lato
client e, nel caso risulti inferiore, scarichi l'aggiornamento...
Spero ti possa essere utile e se ti servisse qualche chiarimento, non
esitare...
UINT CDownloadDlg::ThreadDownload(LPVOID Param)
{
 CDownloadDlg *pDownloadDlg = (CDownloadDlg *) Param;
 HINTERNET hInternetSession = InternetOpen("IHP",
INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
 if(! hInternetSession)
 {
  pDownloadDlg->PostMessage(WM_DOWNLOAD_ABORT, 0, 0);
  return 0;
 }
 HINTERNET hInternetFile = InternetOpenUrl(hInternetSession,
pDownloadDlg->GetLink(), NULL, 0, INTERNET_FLAG_RELOAD, 0);
 if(! hInternetFile)
 {
  pDownloadDlg->PostMessage(WM_DOWNLOAD_ABORT, 0, 0);
  return 0;
 }
 CFile DownloadFile(pDownloadDlg->GetDownloadLocation(), CFile::modeCreate |
CFile::modeWrite);
 BOOL DownloadCompleted = FALSE;
 BYTE TempBuffer[DOWNLOAD_BUFFER_SIZE];
 DWORD TotalBytesReaded = 0;
 while(pDownloadDlg->CanDownload() && (! DownloadCompleted))
 {
  DWORD BytesReaded;
  if(InternetReadFile(hInternetFile, TempBuffer, DOWNLOAD_BUFFER_SIZE,
&BytesReaded))
  {
   if(BytesReaded == 0)
    DownloadCompleted = TRUE;
  }
  else
   break;
  DownloadFile.Write(TempBuffer, BytesReaded);
  TotalBytesReaded += BytesReaded;
 }
 InternetCloseHandle(hInternetFile);
 InternetCloseHandle(hInternetSession);
 if(pDownloadDlg->CanDownload() && DownloadCompleted)
  pDownloadDlg->PostMessage(WM_DOWNLOAD_COMPLETED, 0, 0);
 else
  pDownloadDlg->PostMessage(WM_DOWNLOAD_ABORT, 0, 0);
 return 0;
}
Newsgroup: it.comp.programmare.win32
Titolo: dll ?

Come si devono esportare delle funzioni in una dll scritta in vc++ in 
modo che queste siano accessibili sia da visual basic che da vc++?
A quanto ho capito ci sono problemi a riguardo dell'ordine di  come 
i parametri di chiamata vengono messi sullo stack.
Riesco a fare o l'una o l'altra delle due cose  ma non entrambe.
Grazie
 Sandro

 Riesco a fare o l'una o l'altra delle due cose  ma non entrambe.
Garantisciti di avere le due dichiarazioni suddette, anche nell'header
file che il tuo codice-cliente in vc++ usera`:
extern "C" {
    void STDCALL pippo();
    void STDCALL pluto();
}
Alex


Oppure
 
void __declspec( dllexport ) STDCALL pippo();
ove  "__declspec( dllexport )" sostituisce la keyword "__export" dei 
vecchi compilatori a 16 bit. 
Se hai problematiche di integrazione tra VB e VC++ ti consiglio di
dare un'oKKio all'articolo 
	"Extending Visual Basic with C++ DLLs"
di Bruce MeKinney, che troverai su MSDN.
Fausto

Vi ringrazio.
Sandro

Newsgroup: it.comp.programmare.win32
Titolo: OT licenza software consiglio

ciao
mi è stato chiesto di realizzare una piccola applicazione
questa applicazione poi verrà venduta dal mio cliente ai suoi clienti, e 
per ogni app venduta, divideremo i proventi.
In tal caso come potrei impostare la licenza?
grazie


Premesso che esistono n-mila soluzioni possibili, con costi implementativi 
ovviamente diversi, la soluzione ad OC andrebbe valutata sulla base del 
costo del software, della probabilita' di diffusione e ovviamente dalla 
tipologia di software stesso (esistono tipologie di software che non ha 
nessun senso proteggere), una soluzione facile facile e' usare un codice di 
abilitazione legato in qualche modo all'hardware della macchina (tipo di 
CPU, NIC scheda di rete, seriale hard-disk, etc.) da memorizzare e 
nascondere poi per benino nel registry.
Newsgroup: it.comp.programmare.win32
Titolo: tracing di funzioni all'interno di un programma

Salve,
avrei la necessità di tracciare l'esecuzione di funzioni
all'interno di un programma durante l'esecuzione dello stesso.
Una cosa del tipo:
void func()
{
TRACE("sono entrato in func");
}
Naturalmente, essendo centinaia le funzioni che sono codificate
all'interno del programma dove inserire a mano una TRACE per ogni
funzione.....
Magari esiste gia' una macro o un programmetto che fa questa cosa.
Ho visto che e' possibile con la macro __FILE__  oppure __LINE__ e'
possibile
tracciare la linea di esecuzione del file in cui si trova la funzione che
invoca la trace.
Io devo solo ritrovare il nome della funzione che invoca la trace.
Non so se sono stato chiaro, comunque  penso che questa esigenza l'abbiano
avuta
in molti quindi spero che qualcuno mi possa aiutare.
Grazie e a presto
Sandro

Io devo solo ritrovare il nome della funzione che invoca la trace.
Non credo esista un metodo standard, bensi' che dipenda da compilatore a
compilatore. Ad ogni modo io col VC++ 4.0 non so farlo :-( .
Saluti,
    Mardy

 wrote in message
lXSw4.472$i%1.6...@news.infostrada.it...

Non so se c'era ancora nella 4.0, ma ora, compilando con /Gh, ad
ogni ingresso in metodo o funzione viene implicitamente compilata
la chiamata a una tua funzione __penter (che devi pero` scrivere
in assembler).  Non ha argomenti, ma puo` ovviamente farsi il suo
stack-tracing a piacere (ricordati di fare push di tutti i registri
all'ingresso, e pop all'uscita...!).
Alex

all'ingresso, e pop all'uscita...!).
Ho controllato e c'e'. Dice anche:
"Unless you plan to explicitly call __penter, you do not need to provide a
prototype. The function must appear as if it had the following prototype,
and it must push the content of all registers on entry and pop the unchanged
content on exit:
void __cdecl __penter( void );
"
In pratica potrei farla in C?
void __cdecl __penter(void)
{
    __asm {
        push eax
           ...
    }
    OutputDebugString("ciao\n");
    __asm {
        pop eax
            ...
    }
}
Mi sembrava ci fosse un'istruzione che salvasse tutti i registri, ma non
ricordo quale e non sono riuscito a trovarla. Forse iniziava con "__"...
Saluti,
    Mardy

Newsgroup: it.comp.programmare.win32
Titolo: Eseguire una istruzione in una stringa

Vorrei poter concatenare delle stringe a formare un costrutto, ad esempio:
.
.
CString p="a=Classe.Metodo()";
.
.
il problema è che non so come fare. Qualcuno di voi ne ha idea?
    Cobra



Qualcosa tipo:
ExecuteString(p);
E' questo che vuoi?
Luc.
Newsgroup: it.comp.programmare.win32
Titolo: cd-rom

l'api x aprire il cd rom???

l'api x aprire il cd rom???
mciSendString("set CDAudio door open", 0, 0, 0)
-- 
Marco Barisione (ICQ 84277092)

 l'api x aprire il cd rom???
Che spettacolo!!
questa invece chiude il cd
mciSendString("set CDAudio door closed", 0, 0, 0);

 ha scritto nel messaggio
news:uKTc8.2379$l_3....@twister1.libero.it...


 Scusate l'igonranza, qual'č il package da importare?
lavori su VC++?
Se sě, includi nei link la libreria winmm.lib e nel file dove utilizzi l'API
includi mmsystem.h.
Se lavori con le MFC ed ti ha creato il file stdafx, quest'ultima inclusione
ti conviene inserirla lě dentro.
Spero di esserti stato di aiuto. :)
Salut
    Ashesh

 ha scritto nel messaggio
news:uKTc8.2379$l_3....@twister1.libero.it...


Newsgroup: it.comp.programmare.win32
Titolo: Variabile di un'altra classe...

Ciao
scusate la domanda se un po' da NewBie.
uso : VisualC++ MS v. 2003
Io ho una classe, chiamiamola CDialog1
che ha una variabile che io ho dichiarato nel file H e si chiama Limite.
Nella classe c'è una funzione che si chiama  CDialog1::Calcolaqualcosa.
Nella funzione io scrivo 
void CDialog::Calcolaqualcosa (void)
{
	CDialog2 D2;
	int X = D2.Faiquello();
	X  = X + Limite;	
}
Come si nota, dentro la funzione chiamo una funzinoe di un'altra classe, che fa delle cose..e restituisce un valore intero.
Dentro alla funzione di Dialog2 che vado a richiamare io vorrei fare in modo che la varibile Limite, che appartiene però alla classe DIalog1
prenda un valore che decido in quella funzione se accadono particolari eventi..
Come faccio ad accedere alla variabile di quella classe?
Grazie
Ciao
F

 wrote in message
news:75nms29jsfp95ti6f...@4ax.com

Delle due una:
- Rendi pubblica la variabile (poco "Object oriented");
- crei un metodo Dialog1::SetLimite(int valoreDaDareALimite);
Per problemi riguardandi il C++ e' meglio se scrivi su
it.comp.lang.c++
HTH
C:\>iao Angelo

Per problemi riguardandi il C++ e' meglio se scrivi su
OK infatti il problema nasce quando cerco di accedere a un controllo della classe, cioč, 
se volessi inserire una Item in un listcontrol della classe "Padre", anche se faccio un metodo
che fa questa operazione, mi va in errore.
Cioč non riesco a controllare i controlli....della classe da dove provengo.
mi sono spiegato?
Ciao
Grazie
Newsgroup: it.comp.programmare.win32
Titolo: Imparare a programmare

Scusatemi se mi intrometto con un argomento a voi molto conosciuto:
desidereri imparare a programmare piccole applicazioni per windows.
Non so da dove partire pero': potreste consigliarmi qualche testo per
neofiti che ben introduca alla materia?
Devo preparare un database in access (sto leggendo un manuale)
dopodichè vorrei che questo database funzionasse come applicazione a
sè senza dover essere lanciata da office (access per intenderci).
So che devo imparare tutto ma se qualcuno ha la bontà di darmi una
lista di buone  letture odi qualche url contenente tutorial mi farebbe
un piacere.
Allo stato di  fatto posseggo una vecchia copia di visual basic 5 ma
sono dipsosto a tutto pur di imparare a programmare qualcosina da me,
soprattutto a cambiare programma.
Grazie a chi mi risponde
Ciao
Sharp

 ha scritto nel messaggio
news:ss7nf0dhtfh094v32...@4ax.com...

Il fatto è che se vuoi imparare seriamente non puoi di sicuro partire dal
tipo di programmazione che intendi , devi prima imparare un linguaggio e poi
dopo aver assimilato i concetti base su cui si fonda la programmazione
procedurale ed il paradigma ad oggetti, ti cimenti nella "programmazione
windows", altra scelta possibile (infondo si tratta sempre del livello a cui
ti interessa programmare ) puoi cominciare direttamente la "programmazione
windows" senza sapere niente, ma ovviamente questa scelta ti porterà
inevitabilmente delle limitazioni.
Per quanto riguarda i libri da consigliare, dicci il linguaggio di
programmazione che vuoi imparare.

 sè senza dover essere lanciata da office (access per intenderci).
Tu vuoi imparare a guidare con una Ferrari Enzo?
O vuoi imparare a pilotare con uno Shuttle?
Poi? 
;)
-- 
Luc



Beh ragazzi intanto mi andrebbe bene avere delle dritte sul tipo di
applicativo da utiolizzare. Ho il vecchio visual basic 5 ma ci eravamo
cordialmente antipatici.
Insomma parto dal nulla e vorrei cominciare almeno con il primo
gradino.
Ah grazie per le risposte

 cordialmente antipatici.
Non esiste nulla di più semplice oggi! 
-- 
Luc

Qualcuno mi ha parlato di Phyton...ce' da credergli?




Forse il piu' indicato è VB 5 in quanto è l'unico prg che posseggo e
di cui mi sono studiato un libro (si trattava di fare degli esercizi).
Ma non sono mai entrato nella forma mentis del programma. Pertanto non
so se vi sono dei tutorial in giro o dei libri che mi potresti
consigliare.
Te ne sarei grato

 ha scritto nel messaggio
news:tatnf05vub5cjdch6...@4ax.com...


Dal mio punto di vista, e resta solo il mio punto di vista, vb è un
linguaggio se cosi si puo definire che non ti permette di fare il porting
tra le vecchie e le nuove versioni, ovvero un'progetto scritto in vb5 non lo
puoi aprire con vb6.
In ogni modo ci sono altri linguaggi che potrebbero fare al caso tuo, quelli
che mi sento di consigliare in genere a chi inizia sono il delphi o il c++.
A te la scelta...!!!
Saluti,
Antonio.
Newsgroup: it.comp.programmare.win32
Titolo: Come scrivere e leggere dati direttamente dalla parallela?

Salve, come faccio a scrivere/leggere dati direttamente sulla porta
parallela?
Mi serve perche ci devo collegare un circuitino con un microcontrollore, e
gli devo creare un'interfaccia sul PC.
Quindi devo poter leggere e scrivere dati.
Come si fa?
Sull'msdn non ho trovato nulla.
Grazie, Max

 Grazie, Max
ciao

Newsgroup: it.comp.programmare.win32
Titolo: [forse OT]Editor free.

Salve a tutto l'NG,
esiste un editor per codice (sto pensando a CodeWright, per esempio) che sia
anche free ?
Grazie per le risposte
Drugo

 
www.pspad.com
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

Newsgroup: it.comp.programmare.win32
Titolo: Scoprire quando un processo e' "pronto"...

salve
ho un problema:
come posso capire (a parte WaitForInputIdle) quando un processo ha
finito di caricare tutte le sue DLL ed e' pronto a partire ?
grazie
g0

finito di caricare tutte le sue DLL ed e' pronto a partire ?
Che vuoi dire con "e' pronto a partire" ?
Un processo, o meglio il thread principale del processo e' gia'
partito quando ha caricato le DLL ...

partito quando ha caricato le DLL ...
in caso di applicazioni Windows direi di aspettare ancora cinque o sei 
secondi secondi in più del tempo teorico ^__^

Perchè 'a parte WaitForInputIdle?'


Mi sembra che la WaitForInputIdle() sia proprio la funzione adatta allo
scopo... Perché non la usi?
    Marco
"garph0" <gar...@garph0.0rg> ha scritto nel messaggio
news:39fe1c56...@news.inwind.it...


Newsgroup: it.comp.programmare.win32
Titolo: Accesso al registro di windows - Funziona a mo' suo???

Ho creato una classe per accedere al registro di windows...
sul pc che sto utilizzando adesso la chiave che cerca la apre
correttamente e ci lavora ...
sugli altri 2 pc la apre, però non ci legge i valori memorizzati ...
però ci stanno ...
come funziona questo registro??? a modo suo??? ho dovuto cambiare
il tipo da REG_SZ a REG_BINARY perché mi restituiva un errore
ERROR_MORE_DATA_AVAIBLE ... e non ho capito perché!
il tutto usando il vc++ ... con il bc++, il compilatore che ho
utilizzato per creare la classe non mi ha mai dato problemi..
cosa gli prende sotto vc++??
Antonio Mazzeo

utilizzato per creare la classe non mi ha mai dato problemi..
mi rispondo da solo ... la MACRO TEXT :(
Antonio
Newsgroup: it.comp.programmare.win32
Titolo: debug di tutto il sistema







Salve, tempo fà su un 
computer  con o.s. Windows vidi un applicazione particolare che 
era in grado di controllare il sistema in qualsiasi istante anche in caso di 
crash.


Infatti il programma dalla grafica molto 
scarna nel momento in cui veniva chiamato visualizzava in linguaggio 
assembly le operazioni che il sistema stava eseguendo.


Non ho mai saputo il nome e il sito dove è 
possibile trovarlo.


Se qualcuno conosce o usa questa specie di debug di 
sistema potrebbe fornirmi il nome o il sito sul quale poterlo 
scaricare?


Grazie.


P.s.Potreste inviare la risposta a 
fabri...@hotmail.com



Se qualcuno conosce o usa questa specie di debug di sistema potrebbe fornirmi il nome o il sito sul quale poterlo scaricare?
non e' una specie.. e' _esattamente_ un KM debugger.. un debugger di
sistema.. cmq 
http://www.microsoft.com/ddk/debugging/
 ... se invece
stai cercando semplicemente (e' sempre colpa della mia perfida
vocina...) un link x scaricarti una copia pirata di Softice della
Numega/Compuware.. sorry ma hai decisamente sbagliato NG.
Saluti,
           Walker Boh

Newsgroup: it.comp.programmare.win32
Titolo: CERCO DISPERATAMENTE TASM

Cerco disperatamente compilatore assembler TASM.
Ringrazio chiunque me lo spedisse(via e-mail) o chiunque mi indicasse un
sito dal quale  scaricarlo.

 Come fai a chiamarti hacker se non hai nemmeno un compilatore per codice
assembly!!!!
Assurdo!!!!!

 Assurdo!!!!!
Scusa, magari ha sempre usato il MASM!   (che è anche meglio :-)
TobiX
-- 
TobiX, ovvero più virtualmente:
to...@iname.com
  -  
www.icq.com/12392232
Super fan di Gen13, Lene Marlin e altri personaggi più o meno reali.
Newsgroup: it.comp.programmare.win32
Titolo: VC6 + MFC: messaggi catturati ?

Salve,
ho un problemino, usando le MFC come posso catturare gli eventi, in
determinate regioni o su specifici oggetti?
ad esempio, se voglio catturare un WM_MOUSEMOVE di un dialog, il
CLASS_WIZARD mi permette di catturarlo del dialog principlale, ma se io ad
esempio volessi attivare una certa funzione solo su un determinato controllo
come posso fare?
cioč supponiamo di avere un dialog con un semplice button.
L'unico evento che mi gestisce il class wizard per il bottone č la pressione
(click o dbclick), ma se io volessi gestire anche il solo movimento del
mouse sopra il bottone, come posso fare?
thanx
bye
jojo

se ti può essere d'aiuto, il messaggio WM_PARENTNOTIFY notifica il parent
di una finestra della pressione dei tasti del mouse su una finestra
figlia, ma non del movimento; parlando in termini di API non credo che sia
possibile fare quello che dici in MFC, perché dovresti intercettare il
messaggio direttamente sul ciclo principale, che nel framework di MFC
chissà dove si trova!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 possibile fare quello che dici in MFC
ma davvero???
dico queste cose le fa sia VisualBasic che il Borland ! :-((
sono da neanche 1 settimana che stņ provando le MFC..e gią le odio.
mah..
bye
jojo

il fatto è che VB e i tools Borland sono RAD; cioè in un editor tu disegni
l'interfaccia e il tool crea codice automatico per creare tutte le
finestre necessarie, ognuna con la sua WindowProc che riceve tutti i
messaggi che vuole; VC++ invece non è RAD e il tool che usi per disegnare
l'interfaccia crea solo dialog box da compilare nelle risorse
dell'eseguibile; le dialog box hanno un funzionamento particolare che non
ti permette di fare tutto quello che puoi fare con le finestre normali.


aspe aspe
mi è venuto in mente come devi fare:
disegna l'interfaccia senza però metterci il pulsante che deve ricevere
WM_MOUSEMOVE; quel pulsante lo creerai manualmente con una nuova CWnd
(anzi CButton) passandogli come parent la CDialog di cui hai disegnato
l'interfaccia; nella CButton puoi ricevere tutti i messaggi che vuoi.
ciao ciao.


Newsgroup: it.comp.programmare.win32
Titolo: Programmi multilingua utilizzando MFC

Salve a tutti!
	Sto sviluppando un programma abbastanza semplice in Visual C++ usando 
le MFC. Vorrei avere la possibilità di renderlo multilingua senza dover 
ricompilare, ad esempio distribuendo vari file di testo del tipo 
'italiano.lng', 'english.lng' etc. e lasciando all'utente la possibilità 
di scegliere la lingua al volo (ci sono parecchi programmi che 
funzionano così). La cosa mi sembra facilmente realizzabile per i 
conetenuti, ma come si può fare per le caption dell'interfaccia (voci di 
menu', testo dei pulsanti etc.)?
Ringrazio anticipatamente.



Credo e spero che possa esserti utile:
Internationalization and Multiple Language Support
http://www.codeproject.com/cpp/mult_lang_support.asp
-- 
ciao, hal
Newsgroup: it.comp.programmare.win32
Titolo: Finestre trasparenti!

Ciao a tutti!
Secondo voi esiste un modo per creare sotto windows delle finestre con una
certa percentuale di trasparenza (possibilemente che funzioni su TUTTI i
sistemi operativi almeno da win98).
Grazie,
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 sistemi operativi almeno da win98).
Per windows 2000 & XP esiste SetLayeredWindowAttributes... Per gli altri non
credo che esistano soluzioni "praticabili".
--- bye

 ha scritto nel messaggio
news:qgZ4c.43954$z23.2...@news3.tin.it...


  In .NET invece esiste proprio una proprieta' della classe form  'Opacity'
E magari leggersi cosa dice l'MSDN alla voce Opacity non sarebbe male:
Quoto:
Windows 2000, Windows Server 2003 family Platform Note:  This property has
no effect on platforms that cannot display layered windows
(quindi funziona solo da Windows 2000 in poi che introduceva le layered
windows)
--- bye
Newsgroup: it.comp.programmare.win32
Titolo: IIS (mandare e-mail)

ho qualche problemuccio per settare un dominio per mandare e-mail in IIS. Io
in realtà csto facendo un sito con le asp e nel momento in cui io vado a
testare la funzionalità delle sito e del IIS. Utilizzando un certo tipo smtp
esterno non riesco a mandare e-mail all'esterno di quel dominio. ESEMPIO:
utilizzando "
mail1.cs.interbusiness.it
"
riesco a mandare e-mail solo alle e-mail che hanno sottoscritto un contratto
con interbusiness mentre normalmente posso mandarle ovunque.
Già che ci sono vi pongo un  altro problema mi sapete dire perchè se clicco
su un tasto del mio sito lui esegue due volte le istruzione ch ci sono
dentro l'evento.
VI PREGO AIUTATEMI

 ovunque. 
Il problema è che i server SMTP normalmente non sono abilitati a 
reindirizzare gli e-mail all'esterno se non per i client della loro 
rete.
Ex: il server di libero accetta mail in ingresso per qualsiasi 
indirizzo esterno solo dagli IP della rete libero, mentre accetta e-
mail per gli indirizzi @
libero.it
 anche da indirizzi esterni.
Questa impostazione è necessaria per evitare che qualcuno possa 
appoggiarsi al server per inviare spam. 
I server non impostati in questo modo ("open relay") sono inseriti in 
liste che vengono utilizzate per scartare a priori gli e-mail che 
inviano (visto che si tratta nella stragrande maggioranza dei casi di 
spam e di server configurati con i piedi).
Hai due alternative:
- utilizzare un server SMTP che consenta un meccanismo di 
autentificazione aggiuntivo (abilitando l'indirizzo IP del tuo server 
web o tramite username e password) per abilitare il relay dei messaggi 
verso l'esterno. Forse ti basta collegarti al server SMTP di chi ha in 
hosting/housing le tue pagine.
- ricavare dall'indirizzo e-mail del destinatario l'indirizzo del (o 
dei) mailserver corrispondente al suo dominio (basta una query al dns) 
e poi collegarti direttamente a quello (se il server è dietro un 
firewall è probabile che tu debba far abilitare i collegamenti SMTP in 
uscita dal tuo server).
P.S. se hai altri problemi con ASP e IIS prova a postare in n.g. più 
appropriati.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)
Newsgroup: it.comp.programmare.win32
Titolo: Sapi 4.0 in Italiano

Buongiorno a tutti, ho appena scaricato il SDK SAPI 4.0 ,vorrei sapere dove
posso trovare l'engine per il riconoscimento della lingua italiana.Grazie a
tutti. Andrea



Se non erro, non esiste x le SAPI.
--
CyberWalkie - walkietalkie(at)
libero.it

Newsgroup: it.comp.programmare.win32
Titolo: Ignoranza!!!

Scusate la mia ATOMICA ignoranza, ma qualcuno mi saprebbe dire dove reperire
in rete informazioni sulla creazione di file batch??
...già che ci sono, esiste un SW (magari freeware) per la creazione di
interfacce con pulsanti in W98??
grazie a tutti
MJ

La 2 richiesta equivale a dire: "Scusate, ma sono un utente medio che vuole
realizzare subito in Windows un'applicazione con un software semplicissimo".
Ti consiglio il Visual Basic, non è un tool, ne un utility, bensi uno
strumento di sviluppo, sebbene sia semplice nel linguaggio e nella creazione
dell'interfaccia utente. Quindi ci sono in ordine di difficoltà il VB, lo
Java, il C e il C++ e l'Assembler. Anche in assembler puoi realizzare
un'interfaccia "con i pulsanti", ma te lo sconsiglio vivamente.

Newsgroup: it.comp.programmare.win32
Titolo: Realizzare file .C e .DEF automaticamente da una DLL

Mi domandavo se era possibile realizzare i file .C e.DEF per clonare
una DLL in modo automatico o devo andarmi a scrivere a manina tutti le
esportazioni da fare. Datemi un suggerimento

Mi domandavo se era possibile realizzare i file .C e.DEF per clonare
I DEF sicuramente , 
se per .C intendi i sorgenti della DLL allora stai fresco .
Certo ci sono dei disassemblatori che fanno qualcosa del genere ma
risalire ad un completo sergente di una DLL mi sembra un po grossa .
Ma per curiosita ,
che cavolo di tesi stai preparando ? 
Che esperienza hai di programmazione in Win32 ?

> che cavolo di tesi stai preparando ?
Devo intercettare delle chiamate al filesystem.

Devo intercettare delle chiamate al filesystem.
Era interessante conoscere anche la seconda risposta.

> Che esperienza hai di programmazione in Win32 ?
Non tantissima.

 Non tantissima.
come anche il tuo prof e come anche chiunque leggerà la tua tesi, dico
bene? :)
facciamo le cagate, tanto nessuno saprà mai che lo sono.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.programmare.win32
Titolo: LIB --- DLL

Ho una serie di files sorgente c/c++ più un workspace Visual C++6.0
per poter creare una libreria statica.
A me tale libreria servirebbe però dinamica.
Come faccio a ricompilare i sorgenti in maniera tale da ottenere una
dll?
 
minerv...@inwind.it
danilo

 dll?
Crea un nuovo progetto di tipo "Win32 DLL" o "MFC DLL", importa tutti i
sorgenti nel progetto e poi modifica la definizione delle funzioni che
vuoi importare inserendo prima la stringa __declspec(dllexport). Ad
esempio, se avevi una funzione
int pippo() { ... }
dopo diventera`
__declspec(dllexport) int pippo() { ... }
Se non vuoi il "name mangling" che il Visual C++ aggiunge nelle funzioni
esportate (anche quelle C), usa invece la forma
extern "C" {
__declspec(dllexport) int pippo() { ...}
}
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/
Newsgroup: it.comp.programmare.win32
Titolo: Tasto control nell' OnKeyDown (VC++)

Devo controllare la pressione di una combinazione di tasti tipo CTRL+tasto.
Il problema è che la pressione del CTRL viene immediatamente rilevata e mi 
viene generato subito l'evento OnKeyDown senza che io possa attendere la 
pressione del successivo tasto.
Avete idea di come posso intercettare combinazioni tipo CTRL+tasto o 
SHIFT+CTRL+tasto?
    Massimo
------------------------------------------------------------
 Get your FREE web-based e-mail and newsgroup access at:
 
http://MailAndNews.com
 Create a new mailbox, or access your existing IMAP4 or
 POP3 mailbox from anywhere with just a web browser.
------------------------------------------------------------


Io in genere lavoro nel modo segunte:
supponiamo che debba intercettare combinazioni del tipo CTRL+A e
SHIFT+CTRL+A, allora come al solito intercetto tramite OnKeyDown il tasto A;
all'interno della gestione utilizzo GetKeyState per sapere lo stato di altri
tasti.
Esempio
void CInputCtrl::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
    if(nChar==VK_A)
    {
        short nCTRL = GetKeyState(VK_CONTROL);
        short nSHIFT = GetKeyState(VK_SHIFT);
        if(GetKeyState(VK_CONTROL) < 0) // il tasto control risulta essere
premuto.
        {
            if(GetKeyState(VK_SHIFT) < 0) // il tasto shift risulta essere
premuto.
            {
                // SHIFT + CONTROL + A
            }
            else
            {
                // CONTROL + A
            }
    }
    COlidataPureClass::OnSysKeyDown(nChar, nRepCnt, nFlags);
}
Aggiungo inoltre che oltre a GetKeyState esiste anche GetAsyncKeyState ma
non sono riuscito a capire qual è la differenza tra le due funzioni, se
riesci a capirlo tu magari fammi sapere.
Porlock.

 riesci a capirlo tu magari fammi sapere.
Da MSDN:
The key status returned from this function changes as a given thread reads
key messages from its message queue. The status does not reflect the
interrupt-level state associated with the hardware. Use the GetAsyncKeyState
function to retrieve that information.
In pratica, GetAsyncKeyState potrebbe essere non appropriato per le
normali interfacce utente, data la sua natura asincrona rispetto
al message loop.
Vuol dire che se l'utente preme CTRL+C, ad esempio, non c'é garanzia che
GetAsyncKeyState ritorni il bit 31 attivo (tasto premuto) quando si
riceve il messaggio WM_KEYDOWN relativo al carattere 'C'. Infatti la
notifica dei messaggi, potrebbe essere ritardata anche di qualche
secondo se il sistema è particolarmente "impegnato".