mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: il . e la ,

Sto sviluppando un piccolo e semplice programmino con Borland C++.
Il problema che ho è questo: vorrei che ovunque il mio prog debba girare,
indipendentemente dai settaggi del s.o., riconosca indifferentemente la
virgola o il punto come separatore dei decimali.
Come posso fare?
Grazie., Matteo

Detta cosi non ci dice molto... prova a spiegare che tipo di programma č, e
quale compiti svolge.
Dome

Inserisco in due campi edit dei numeri...poi li assegno a delle variabili
tramite il ToDouble()...ne faccio la sottrazione e la divido per 1936.27...
Il problema č che se inserisco il punto al posto della virgola ( o
viceversa, a seconda del s.o.) come separatore dei decimali ottengo un
errore.
Vorrei fare una routine che sostituisca al punto la virgola.
Grazie,
Matteo




Questo e' un classico problema che si incontra quando si programma in
Visual Basic (dove gli oggetti "sentono" le impostazioni
internazionali), non in C...
In C++ di solito faccio cosi':
1) recupero le informazioni sui separatori delle migliaia e dei
decimali con GetLocaleInfo
2) Nei controlli sulle dialog box formatto i numeri in base alle
impostazioni
3) Quando devo convertire stringhe in numeri (atoi, atof, etc.) il
numero nella stringa deve SEMPRE essere con il punto come separatore
dei decimali, senza l'eventuale separatore delle migliaia. Questo vale
anche per le stringhe SQL.
Ciao
Stefano "HappyMan" 
--
IABLA Sezione Lago Maggiore (NO)
Web 
http://happyman.n3.net
 [Foto salseri/e & I.A.B.L.A. Ring]
Email: 
happyman...@libero.it
 [Togliere nospam per scrivermi]

! Mi ricordo di te. E come dimenticarti,
del resto? Non sei per caso quello che lun 26 nov 2001 09:17:15p, su
it.comp.programmare.win32, ha scritto: 

Usando la unit SysUtils hai una variabile globale DecimalSeparator
-- 
Nato nel vizio, morto nel supplizio
Nato nel peccato, ad entrare sia invitato

Newsgroup: it.comp.programmare.win32
Titolo: Conflitto tra C++ Run Time e MFC

ho scritto una classe che rappresenta il client in un sistema server/client
chiama le sole api e quindi per creare thread secondari usa _beginthreadex
l'ho inserita in un progetto in cui uso le mfc per velocizzare la creazione
dell'ui e ho notato uno stranissimo problema:
il client manda comandi al server e riceve relativa risposta
tutto in tread secondari(stesso codice)
per un comando pero il prog crasha per una violazione d'accesso alla
chiamata di EndThread fatta in _exitthreadex
dopo essermi scervellato per capire cosa succedesse di particolare nella
gestione di quel comando ho provato ad usare nella classe AfxBeginThread e
tutto è tornato normale!!
c'è qualche sorta di incompatibilita tra le 2 dll?
io avevo intenzione di fare una dll dalla classe continuando ad usare le
sole api,pensate avro ancora questi problrmi?
ciao,grazie

chiamata di EndThread fatta in _exitthreadex
Come regola, se accedi ad oggetti MFC da altri thread occorre aprirli
con AfxBeginThread perche' cosi' vengono correttamente inizializzati
gli oggetti usati internamente da MFC per gestirsi i thread.
-- 
ciao, hal
Newsgroup: it.comp.programmare.win32
Titolo: Operazione non valida

Il mio applicativo mi dice (ogni tanto e non in modo sistematico):
Questo applicativo ha commesso una operazione non valida . Ok? E quando
premo Ok si chiude tutto l'applicativo.
Quale potrebbe essere la causa in linea di massima (conflitto su disco, su
memoria, accessi contemporanei...)?
Max
P.S. Uso C++ Builder 4.0 Pro con un thread che legge dati dalla seriale e
aggiorna le varie pagine dell'applicativo.

Hai importato <process.h>?
Io bestemmiato per 3 ore prima di rendermi conto che non potevo usare
direttamente le API di Windows sui thread (perchč non inizializzano le
RTL)...
--
ByEZ,
MindFlavor.
e-Mail: 
mindflav...@hotmail.com
Web site: 
http://web.tiscalinet.it/mindflavor
.

Newsgroup: it.comp.programmare.win32
Titolo: BorlandC++:Aiuto su controllo

Salve , vorrei porvi una domanda :
se voglio attuare un controllo ad esempio all'evento OnExit di un
TEdit , (ad esempio non voglio che sia accettato un numero + grande di
un certo limite) , come posso definire una unica routine a cui
facciano riferimento tutti gli oggetti TEdit istanziati e poi nella
routine fare riferimento all'oggetto che l'ha chiamata, senza dover
definire per ogni oggetto una sua routine  che poi ha la stessa
struttura?
io volevo fare così (ma non funziona perche' Text non e' una proprietà
di TObject )
void __fastcall MyForm::MioControllo(TObject *Sender)
{
if (Sender->Text.ToInt()>1000) Sender->Text=1000;
}
Ci dovrebbe essere un qualcosa da metter al posto di sender , cioe'
qualcosa che punti all'oggetto chiamante ( nel mio caso un TEdit).
Grazie.


Usa:
if (dynamic_cast<TEdit*>(Sender))->Text .ToInt()......
in modo che puoi associare un unico message handler a tutti i TEdit.
Inferno.

if (Sender->Text.ToInt()>1000) Sender->Text=1000;
if ( ((TEdit*)Sender)->Text.ToInt()>1000) ((TEdit*)Sender)->Text=1000
    mauro

qualcosa che punti all'oggetto chiamante ( nel mio caso un TEdit).
Devi convertire Sender a TEdit tramite RTTI:
void __fastcall MyForm::MioControllo(TObject *Sender)
{
    TEdit *t;
    t = dynamic_cast<TEdit*>(Sender);
    if (t && t->Text.ToInt()>1000) t->Text=1000;    // controllo anche che t
non sia NULL
}
Ciao.
--
Stefano Tempesta
PC Service Software
http://www.tempesta.org
in...@tempesta.org
Newsgroup: it.comp.programmare.win32
Titolo: Spezzare un int64 in due long

Sto lavorando in VC++ e devo spezzare un int64 in due long (parte più
significativa e parte meno significativa). Esistono macro apposite o
istruzioni?
     Grazie
        Max
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

         Max
Se hai definito la tua variabile come LONGLONG puoi accedere direttamente
alla parte bassa e alta con variabile.LowPart e variabile.HighPart, in
quanto il tipo LONGLONG e' definito cosi':
typedef union union {
  struct {
    DWORD LowPart;
    LONG HighPart;
  };
  LONGLONG QuadPart;
} LARGE_INTEGER, *PLARGE_INTEGER;
Ciao,
Luca

 istruzioni?
Int32Low = Int64 & 0xFFFFFFFF;
Int32High = Int64 >> 32;
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.20. C, C++ and ASM developers
                              and beta testers are welcome!

Newsgroup: it.comp.programmare.win32
Titolo: HANDLE

Salve... vorrei sapere a che puntano gli HANDLE. Se non sbaglio sono
dichiarati tipo: 
typedef void * HANDLE
ma gli viene assegnato un tipo solo oppure il tipo cambia a seconda
delle necessita?
Grazie



Sono indirizzi di memoria che vengono interpretati in base all'uso che
ne viene fatto.



Come puoi vedere dalla definizione, HANDLE è un puntatore generico. Viene
usato per convenzione ad indicare genericamente un handle ad un oggetto di
windows.

 delle necessita?
se STRICT non č definito, sono tutti void *. Altrimenti, sono puntatori 
a struct NOMETIPO__. Vedi la definizione di DECLARE_HANDLE() in winnt.h
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.1. C, C++ and ASM developers
                               and beta testers are welcome!

Newsgroup: it.comp.programmare.win32
Titolo: nuovo sito

Visita il sito:
http://utenti.tripod.it/softprezzostracciato/
Tratta, appunto, di software a prezzi d'occasione.
Scarica gratuitamente la lista completa del software a disposizione
dal sito, oppure richiedila a:
magn...@lycosmail.com
Perdona l'intromissione, ciao.


Newsgroup: it.comp.programmare.win32
Titolo: Alcune cose su Borland C++ Builder

Ciao a tutti,
Scusate se disturbo, ma volevo solo un paio di informazioni su Borland C++
Builder 1.0.
Innanzitutto la più urgente, ma spieghiamo dall'inizio. L'altro giorno ho
sistemato il computer del mio professore d'italiano (a scuola, visto che
eravamo in metà classe e avanti non potevamo andare), e, visto che lui non
se ne intende molto, mi ha chiesto se conoscevo qualche programma gratuito
per l'archiviazione dei libri. Io ho pensato a Danea Archiviatutto, ma è un
programma commerciale.
Siccome io non me ne intendo ancora abbastanza di programmazione totale,
volevo chiedervi come devo fare per interfacciare un database creato con
l'autocomposizione di Access 2000 con Borland C++ Builder.
Dovrei avere le stesse form, uguali identiche, con lo stesso sistema di
inserimento dati. Non importa che ci sia il file mdb, ma basta che il
programma sia eseguibile e non richieda Access per funzionare (al massimo
delle librerie).
Sono disposto a lavorare, da un mio amico, con Visual C++ 5.0 (cosa che non
vorrei mai fare, ma che per necessità sono disposto a fare).
Aiutatemi a far bella figura con il mio prof ...
La seconda domanda è: è possibile utilizzare l'assistente di Office, se è
già installato, con i programmi creati con Borland C++ Builder?
Grazie 10^100.
Ciao.
--
Diego "1985" Pettenò
per gli spammer la mail è
diego...@hotmail.com
ATTENZIONE: rispondo ai messaggi di pubblicità indesiderata
su TiscaliNet con un bel messaggio al provider di competenza!
per i messaggi seri è
diego....@tiscalinet.it

Ciao,
mi sembra di ricordare che con la versione 1 di C Builder non hai accesso ai
drivers ODBC Microsoft. In tal caso non vedo altra soluzione per te se non
comprare/installare il 3/4...
Per quanto riguarda l'assistente di Office, basta chiamare le API di Office
che Microsoft ha documentato nella MSDN:
http://msdn.microsoft.com/library/default.htm
Ciao

Newsgroup: it.comp.programmare.win32
Titolo: Principiante WIN32

Salve a tutti,
chi di voi mi sa consigliare un buon libro per imparare a programmare bene
sotto win32?
Non ditemi gli SDK, che gia possiedo.....
Il fatto è che io cerco qualcosa di cartaceo e (possibilmente) in italiano.
Grazie anticipatamente Tdx

Se vuoi programmare con il C e le API (e quindi non con MFC o VCL) esiste IL
libro:
Charles Petzold, Programmare in Windows 95, Jackson Libri
È un tomazzo di oltre 900 pagine e costa un centone, ma ne vale la pena.
Bye,
Lorenzo
---
"...un tipo perso dietro le nuvole e la poesia..."
Lorenzo "Loz" Novara
E-Mail: 
l...@iol.it
Web: 
http://loz.freeweb.org
Newsgroup: it.comp.programmare.win32
Titolo: API per spostare il puntatore del mouse?

Avete presente quei programmi che vi danno la possibilita`
del controllo remoto di un PC?
Muovendo il mouse da PC1 si vede il puntatore del mouse
su PC2 che esegue gli stessi movimenti.
Quali sono le API che permettono di muovere il puntatore
(penso si debbano dare le coordinate del punto in cui
si intende muovere il puntatore)?
Non riesco proprio a trovarle!
Grazie 1000.
Michele

...


Newsgroup: it.comp.programmare.win32
Titolo: [C++Builder] *new e new

Che vantaggio c'è a scrivere (ad esempio):
    TRegistry &reg=*new TRegistry();
    reg.WriteString("DirIma",DirIma);
invece di:
    TRegistry *reg=new TRegistry();
    reg->WriteString("DirIma",DirIma);
Grazie
Cristiano

 Che vantaggio c'è a scrivere [...]
in entrambi i casi hai allocato un blocco di memoria dinamica, solo che
nel primo caso in realtà, se non erro, dovresti avere un oggetto TRegistry
(che se non liberi alla fine diventa un memory leak) che attraverso
l'operatore = della class TRegistry viene copiato in un oggetto già
esistente allocato nel segmento dati tramite la dichiarazione
TRegistry &reg
quindi in tal caso non ci dovrebbe essere differenza tra la precedente
dichiarazione e
TRegistry reg
però a dire il vero non sono sicuro.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

"Cristiano" <cristi...@NSquipo.it> ha scritto nel messaggio
news:ctkGb.4634$VW.1...@news3.tin.it...

L'unico vantaggio e' la comodita' di usare il punto al posto della
freccia!!!!...
Alla fine sono tutti e due puntatori ad una istanza, teoricamente distinti
fra REFERENZA_A e PUNTATORE_A...
Le referenze sono in stile c++, mentre i puntatori sono piu' in stile old C.
ciao
Newsgroup: it.comp.programmare.win32
Titolo: Tabelle con API Win32 e Visual C 5.0

Ciao,
e' da poco ho a che fare con le API Win32 e ho disperato bisogno di
aiuto.
Il mio problema e' che devo creare una interfaccina contenente una
tabella, molto molto semplice. Qualcuno puo' aiutarmi? Se per caso
qualcuno si facesse vivo entrero' piu' nel dettaglio.
Grazie a tutti!
Ciao
     LAURA

csie...@tin.it
 (Laura) wrote in news:d5e83422.0205080600.5aa57561
@
posting.google.com
:

Puoi utilizzare una ListView (gestione delle colonne e relativi header, 
di un'immagine per elemento) o, se la visualizzazione è molto semplice, 
una listbox (puoi solo separare le colonne con dei tab, senza gestione 
degli header e immagini, se non gestite disegnando le singole righe).
Se devi fare cose più complesse prova a dare un occhiata a qualche 
controllo "già pronto" (che magari puoi modificare) su 
www.codeproject.com
.
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

      LAURA
ciao

...

Caro Valter, ti ringrazio per i suggerimenti. Francamente con la tua
segnalazione sulle ListView mi sono spulciata la documentazione
relativa, arricchendo le mie conoscenze, però sono un pò perplessa in
quanto la ListView mi associa un'icona e una label. Invece quello di
cui ho bisogno e' strettamente legato al concetto di Recordset, cioe'
associare ad una label un valore. La mia semplicissima tabella ha solo
due colonne; la prima colonna ha l'etichetta, la seconda ha il valore
associato alla label. Inoltre questa tabella e' dinamica e,
naturalmente, interagisce con le informazioni contenute. Nei vari giri
documentativi ho trovato il DBGrig, che si basa, o almeno si avvicina
molto, sul concetto di Recordset, sul quale si basa la tabella che
devo realizzare. I miei dubbi sono relativi al fatto che dopo aver
realizzato il DBGrid in VB, importarlo/inserirlo nell'applicazione VC
considerandolo un oggetto a tutti gli effetti e che poi il tutto debba
interagire con le API Win32. Dopo aver realizzato tale applicazione
con siffatte caratteristiche, devo tenere in considerazione che poi la
mia applicazione deve essere inserita e interagire con un'altra
applicazione gia' strutturata a se stante.
Spero di aver chiarito un po' di piu' la situazione e che
possa/possiate darmi altri suggerimenti in merito.
Ringrazio tutti sentitamente.
Ciao
     LAURA

 applicazione gia' strutturata a se stante. 
Non ho capito. Cosa intendi per "inserita"? 
Forse puoi prendere in considerazione l'idea di sviluppare questa parte 
come oggetto COM (ActiveX o meno), ma molto dipende da quanto puoi 
modificare l'altra applicazione o dal fatto che questa preveda già 
un'interfaccia verso le applicazioni esterne, più o meno "COM" like.
P.S. quando rispondi a un messaggio, evita di riportarne tutto il 
contenuto. E se devi riportare dei passaggi per rendere più chiara la 
tua 
risposta, mettili _prima_ dei tuoi commenti.
Per maggiori info:
http://www.uwasa.fi/~ts/http/quote.html

Newsgroup: it.comp.programmare.win32
Titolo: VC HELP. COme leggo un file in formato UNICODE?

*** post for FREE via your newsreader at 
post.newsfeeds.com
 ***
Salve. Qualche giorno fa avevo postato un msg circa le mie difficolta
a leggere un file.
Sono riuscito a capire che il file e' in fomrato unicode. Infatti
notepad e Ultraedit lo leggono bene, solo che le normali procedure c++
di apertura file mi danno dei seri porblemi a meno che non leggo un
carattere alla volta (solo che in quel caso un carattere ogni due e'
uno spazio vuoto!)
Come faccio ad aprire il file?
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com
 - The #1 Newsgroup Service in the World!
-----==  Over 90,000 Newsgroups - 16 Different Servers! =-----

 Come faccio ad aprire il file?
Con le equivalenti funzioni UNICODE del VC++, su MSDN c'è tutto.
-- 
Luc.

Newsgroup: it.comp.programmare.win32
Titolo: borland c++ 6

salve a tutti.
Vorrei trovare della docmentazione magari in ita del compilatore borland c++
builder 6 visto che la borland non la fornisce a corredo.
grazie molte

 wrote in message
news:HfAZ9.56438$YG2.1...@twister1.libero.it...

ahiahiahi :)
mezongna! ;)
la borland fornisce svariati ottimi manuali con il pacchetto, quando lo
compri..
ora la domanda fatidica che e'...
L' hai comprato?
Sbirish

 compri..
Questa e' una leggenda che ho gia' sentito altre volte.
A me con Delphi 6 non e' arrivato nessun manuale, vorrei saperne di piu'...

 > compri..
Scusa ma tu l'hai comprato?
asei sicuro di quello che dici?

 ha scritto nel messaggio
news:56WZ9.61570$ZE.16...@twister2.libero.it...

Ti pare che farei una domanda del genere?
Certo che l'ho comprato, mi hanno mandato il CD in una busta bianca e nulla
piu'.
Ora pero' mi viene un altro dubbio: TU l'hai comprato o parli per sentito
dire?

 wrote in message
news:b1at8l$foe$1...@newsreader.mailgate.org...

ok. abbiamo pagato.
nella mia versione c'e' un bel pdf di "grosse" dimensioni.
Sbirish.
Newsgroup: it.comp.programmare.win32
Titolo: Scoprire chi ha aperto la Backdoor?

Ciao,
sono sempre qui...ho un secondo quesito da porvi, secondo voi si può
risalire al nome del programma che ha aperto una particolare backdoor?
Sempre nella Chat ho implementato un sistema di protezione che fa un
controllo per rilevare le backdoor attive!
Diciamo che per scoprirlo ho lavorato di fantasia, poichè non sapevo il
metodo ho provato ad attivare dal mio processo una socket su ciascuna
possibile backdoor, se veniva sollevata una eccezione allora significava che
la backdoor era già stata aperta...
Una cosa di questo tipo...
Per I da 1 a BackDoorX fai
   Prova
       Aprisocket
       ChiudiSocket
   Se eccezione
       Visualizza (BackDoor di posizione ' I ' Aperta)
Ora vorrei aggiungere quel controllo di cui ho parlato sopra...sempre che
sia possibile da realizzare, è compatibile con la tecnica appena proposta?
Esiste anche qualcosa di meglio di quanto ho esposto?
Sempre grazie!
Ciao!
--
- Carlo -

 particolare backdoor?
Intendi nel tuo PC? Purtroppo netstat di Windows non ci riesce, ma su
www.sysinternals.com
 c'e` un programmino (TDImon, mi pare) che ti sa
dire quale processo detiene un certo server socket o una certa
connessione.
Non conosco metodi semplici per farlo, dato che temo che Winsock non
esponga queste informazioni e che quelli di sysinternals siano andati
(come al solito) a ravanare in posti indicibili. :)
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

Newsgroup: it.comp.programmare.win32
Titolo: Istanze multiple e MFC...

....come posso evitare, tramite le MFC, che mi partano più istanze dello
stesso programma?
Grazie.
Mail to Simone Tromboni 
trombon...@libero.it

 Grazie.
in Application::InitInstance() crea un mutex.
se GetLastError ti dice che il mutex già esiste (vedi help di CreateMutex)
ritorna false, altrimenti fai partire l'applicazione.
ciao :: xaero

 ha scritto nel messaggio
news:9mo9fv$3dsou$1...@ID-51253.news.dfncis.de...

Newsgroup: it.comp.programmare.win32
Titolo: Passaggio di Stringe da VB a dll in VC++

Salve a tutti.
Sto scrivendo una dll in VC++ da poter utilizzare in VB (ok ok non
odiatemi... ho iniziato da poco a programmare) e ho la necessità di passare
al VC++ una stringa da VB, elaborarla e poi ritornarla a VB.
Nella funzione la stringa deve subire dei Replace che so fare solo con la
CString ( e ci mancherebbe! ).
Non essendo pratico di VC++ ( di C e C++ in generale, ma sto imparanfo pian
pianino) pensavo di passare la stringa da VB come BSTR di VC++, convertirla
in una CString, fare i Replace, riconvertirla in BSTR e passarla a VB, ma
ovviamente non mi è andata bene.
Fino ai Replace va tutto bene, i guai arrivano quando converto la CString in
BSTR in questo modo:
BSTR b = s.AllocSysString();
Infatti se ritorno b ottengo solo il primo carattere della stringa ( questo
perchè è il puntatore al primo carattere? )
Come posso fare?
Se qualcuno di voi mi potesse dare una mano giuro che inizierò a studiare
seriamente il C++ :))
Saluti
Roberto Alicata

 ovviamente non mi è andata bene.
Prova ad usare una LPSTR e ti semplifichi la vita: per saperne di più 
sulle conversioni da C a VB cerca su MSDN "Conversione di dichiarazioni 
C in Visual Basic" e "Passaggio di stringhe a una routine DLL". Se poi 
vuoi un esempio pratico vai su 
http://www.it-lang-vb.net
 e cerca 
documentazione\articoli\Creare una DLL in C per Visual Basic.
Leonardo
Newsgroup: it.comp.programmare.win32
Titolo: C++ Problemi di file exe da Dos

Premetto che sono un principiante
Ho questo esempio che se lo compilo in Visual Studio C++6 viene generato 
correttamente e mi crea quando lo inizializzo una finestra Dos che mi chiede 
di inserire un valore e successivamente mi fa vedere la risposta. Per far 
sparire la maschera Dos mi dice premi un tasto.
Fin qui tutto bene.
Invece quando lancio con doppio clic il file Exe creato senza passare per 
Visual Studio C++ mi si apre sempre il dos invitandomi a mettere un valore, 
ma non mi fa vedere il risultato perchè scompare subito.
Come fare? Dove sbaglio?
Codice
/*
* Un semplice programma che mostra
* l'uso del tipo di dati float
* calcolando l'area di un cerchio
*/
#include <iostream.h>
main()
{
float raggio;
float pigreca = 3.14;
float area;
cout << "Inserire il raggio: ";
cin >> raggio;
cout << endl;
area = raggio * raggio * pigreca;
cout << "L'area del cerchio e': " << area << endl;
Grazie 1000 Giorgio
}

 Come fare? Dove sbaglio?
Tu non sbagli nulla.. Solo che devi far sì che il tuo programma non
termini immediatamente dopo aver mostrato l'area del cerchio, perché la
finestra si chiude quando il programma termina.
Potresti, ad esempio, inserire dopo la stampa, le seguenti righe di
codice:
	cout << "Premere INVIO per terminare il programma..." << endl;
	while(cin.get() != '\n');
il while, come puoi notare, è senza corpo. Ciò vuol dire che continuerà
a girare finché l'utente non premerà INVIO.
Ah, permettimi di darti un altro paio di consigli: il codice da te scritto
non si conforma allo standard C++.
In particolare, l'uso dell'header <iostream.h> è deprecato, ed andrebbe
sostituito con l'header <iostream>, aggiungendo dopo anche la riga
 
	using namespace std;
Se ti servono delucidazioni su queste ultime due cosette, prova a cercare
su Google Groups alcuni vecchi post di it.comp.lang.c++.
HTH,
-- 
[ Andrea Spadaccini a.k.a. Lupino / Lupin85 - from Catania ]
[ MAIL: lupin85(at)
email.it
 - ICQ: 91528290 - Linux 2.4.22 ]
[ Linux Registered User #313388 - Powered by Slackware 9.1 ]

Newsgroup: it.comp.programmare.win32
Titolo: Intercettare screen saver

Qualcuno mi sa dire come sia possibile intercettare e bloccare l'avvio dello
screen saver da una applicazione
scritta con le MFC ???
Ciao e Grazie.
Luca

 wrote in message
8hjcb0$qe3$1...@pegasus.tiscalinet.it...


 e così lo disattivi.


ad evitare che sia processato.
Basta non passarlo alla DefWindowProc, ma credo che, in questo caso, MFC 
complichi un po' la vita rispetto alle API...
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

 ad evitare che sia processato.
Se non ricordo male, per SystemParametersInfo c'è un parametro che ti dice
se lo screen saver è in RUN, ma solo dopo che è partito.
GETSCREENSAVERRUNNING mi pare, ma non l'ho mai usato.........
Guarda bene su MSDN.
Drugo

 O forse ho capito male io ?
Si, ma se poi uno lo riattiva ??
Comunque ho risolto. Thanks

Newsgroup: it.comp.programmare.win32
Titolo: WindowProc, valore di ritorno

Nell' help di Win32 API, a proposito della funzione callback WindowProc,
c'e' scritto che per quasi tutti i messaggi bisogna dare un valore di ritorno 0
se il messaggio viene processato dal programma, !=0 in caso contrario.
Perche' windows vuole sapere se processo un messaggio oppure no ?
Cosa succede se non rispetto questa regola ?
Domanda analoga per DialogProc, dove pero' i valori 0 e !=0 sono scambiati
rispetto al caso precedente.

 rispetto al caso precedente.
Questa e` piu` seria, perche` la tua dialog procedure viene chiamata
da una window procedure fornita dal sistema per la window class "dialog
box" -- non c'e` l'equivalente della "window procedure di default" cui
puoi delegare tutti i messaggi che non gestisci tu; la gestione di default
(da parte della winproc delle dialogbox, che chiama la tua dialogproc)
la ottieni solo, appunto, dicendo se il messaggio lo hai gia` gestito tu,
o meno.
Alex

Newsgroup: it.comp.programmare.win32
Titolo: Perchè non funziona?

Ho un piccolo sorgente (ve ne scrivo solo un  pezzo) quello che voglio
ottenere è questo:
disattivare un menu quando chiamo una funzione (è funziona )
attivare il menu disattivato quando chiudo la finestra .
case WM_DESTROY:
     EnableMenuItem (GetMenu(hwnd),IDM_NUOVA_RIC, MF_ENABLED);
     MessageBox (hwnd, "UFFA", "TITOLO", MB_OK);
     break;
La funzione EnableMenuItem () non mi funziona invece mentre la funzione
MessageBox() si .
Ho provato a cambiare l'ordine prima il MessageBox() e poi la
EnableMenuItem()
(Uno le prova tutte)
ma nulla da fare.
Perché ?
Come mai?
Spero che possiate darmi una mano.
Ciao e grazie.

      break;
Dal MSDN:
The WM_DESTROY message is sent when a window is being destroyed. It is sent
to the window procedure of the window being destroyed after the window is
removed from the screen.
Quando arriva il messaggio, insomma, la finestra è già stata rimossa e così
tutti i suoi elementi, menu compresi. Insomma non puoi abilitare qualcosa
che non c'è più ;-)
--
  Jerle Shannara
Per rispondere in email togli NO e SPAM
homepage 
http://utenti.tripod.it/jerleshannara

 
Se hwnd è l'HWND (questo è un messaggio case-sensitive...) della 
finestra che ha ricevuto il messaggio WM_DESTROY, c'è qualcosa che non 
quadra... Sei sicuro di voler abilitare un item in un menù di una 
finestra che è in fase di destroy (e quindi non più visibile ne 
attivabile)?
Se invece è il menu di un'altra finestra, devi richiamare DrawMenuBar 
(come riportato nei remarks).
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

Valter Minute <vmi...@REMOVEMEinwind.it> wrote in message
Xns90DD718324E...@212.110.0.170...

Grazie ora provo

Ciao,
mi intrometto nella discussione per chiederti una cosa: sai che cosa intende
MSDN quando dice che bisogna usare DrawMenuBar quando un menu è stato
modificato?
Mi interessa sapere se per esempio l'apertura di un menu a tendina è
considerata una modifica oppure se per modifica si intende solo cose del
tipo abilitare/disabilitare voci dei menu!
Che cosa fa DrawMenuBar? invia della WM_PAINT alla finestra del menu?
Grazie
Bye
Johnny
Newsgroup: it.comp.programmare.win32
Titolo: Tree Control per Directory

Salve
Sono alle prime armi con Visual C++ 6 e MFC, perdonatemi la domanda da 
ignorante.
Utilizzando svariati programmi, osservavo che molti utilizzano una 
specie di tree control standard per visualizzare le directory. Volevo 
sapere se questo controllo č reperibile da qualche parte e, se si, dove. 
Questo controllo mi pare permetta di selezionare anche cartelle 
'particolari' come ad esempio "Documenti", e di selezionare anche 
cartelle su pc remoti (ammesso che siano condivise) accedendovi via 
Risorse di rete. č molto simile al controllo DirListBox disponibile in 
visual basic, solo che mi pare piů evoluto.
P.S. č possibile utilizzare i controlli disponibili in Visual Basic 
anche in Visual C++? 

 anche in Visual C++?
Ho lo stesso problema.
Tiziano
tiz...@studiosartor.com

Newsgroup: it.comp.programmare.win32
Titolo: dove è finito J++????

    Salve a tutto il NG, ho un problema molto strano....
ho una copia di Visual Studio 6 Enterprise ma nell'istallazione non compare
in nessun punto riferimanti al Visual J++ che sapevo fosse presente nel
pacchetto... qualcuno mi sa dare delle informazioni riguardo a come
istallarlo ???
grazie millle
roberto



prova a controllare i cd 2 e 3, ma mi pare che non vi sia, io ce l'ho
su un altro cd se non ricordo male
cod

un altro cd ancora ????
domandina di riserva.....
a che servono 3 ambienti di sviluppo nello stesso pacchetto ???
e quale mi consigliate di imparare ???
grazie millle

Visual Studio Enterprise ha 4 cd. Visual J++ è nel quarto.
Bob Rock
Newsgroup: it.comp.programmare.win32
Titolo: Ricavare dati hardware che identifichino univocamente una macchina

Mi scuso prima di tutto per l'OT, ma non saprei in quale gruppo
postare.
Come da oggetto, appunto, avrei bisogno di scrivere routine che
identifichino univocamente una macchina, e pensavo di rilevare dati
hardware come numero di serie del processore, dati sul bios, scheda
video, numero di serie dell'hd, o simili.
Ho notato che a riguardo del serial del processore c'e' un altro post
di Agosto, ma che comunque non approfondisce l'argomento.
Grazie.

 di Agosto, ma che comunque non approfondisce l'argomento.
Il numero di serie del processore non può identificare univocamente una
macchina perchè prima di tutto non è presente in tutte le CPU (mi sembra che
lo abbiano soltanto i P3 Coppermine)...inoltre dopo la bufera che venne
fuori dopo il lancio...il numero di serie viene disabilitato per default...
L'unica cosa che ti posso consigliare è di farti un censimento dell'hardware
e comporre in qualche modo un codice utilizzando la stringa di
identificazione delle varie periferiche...
PC con lo stesso identico hardware ne esistono molti (basti pensare a tutti
i PC dei grandi OEM)...quindi er ovviare a questo puoi usare il numero di
serie di Windows per rendere ancora + univoco (non credo che riuscirai mai a
farlo univoco) il codice...
Ad esmpio poi potresti usare la data di creazione di un file sull'hard disk
per complicare ancora di + la faccenda (ad esempio la data di creazione di
win.com
)...a questo punto le condizioni per ottenere lo stesso codice su +
macchine sono difficilmente riproducibili...anche volontariamente...
Ciao
        Riccardo

 video, numero di serie dell'hd, o simili.
Mi pare che su MSDN ci sia un articolo che spiega come vengono creati i GUID
degli oggetti COM in base ad alcuni di questi parametri. In ogni caso per
applicazioni normali e` piu` che sufficiente il MAC address della scheda di
rete (il RAS non vale, perche` ha lo stesso MAC su tutte le macchine) e il
numero di serie dell'hard disk.
--
Bye! Lorenzo Lutti
http://antani.virtualave.net/

 ha scritto nel messaggio
news:5c7rqtcpjjsdkc27l...@4ax.com...


 e il numero di serie dell'hard disk.
... che può essere modificato (anche involontariamente - formattazione)

 ricordo.
GetVolumeInformation()
Ciao
Alessio

 formattazione)
Guarda che tutto puo` essere modificato, incluso il codice che controlla
l'ID univoco. :)
Non esiste un metodo "a prova di hacker" (ma nemmeno "a prova di acher"),
una certa sicurezza la puoi ottenere soltanto con dell'hardware apposito.
Il segreto del mio ragionamento stava tutto nelle tre parole piu` importanti
che non hai quotato: "per applicazioni normali".


rete 
Sapete come si recupera il MAC Address ? 
Ciao e grazie
Stefano "HappyMan" 
--
IABLA Sezione Lago Maggiore (NO)
Web 
http://happyman.n3.net
 [Foto salseri/e & I.A.B.L.A. Ring]
Email: 
happyman...@libero.it
 [Togliere nospam per scrivermi]

Quello restituisce l'id che viene generato a seguito della
formattazione. Io intendevo L'ID Hardware, che da la casa madre ad
ogni singolo pezzo.



wrote:

Newsgroup: it.comp.programmare.win32
Titolo: Possibile avere un messaggio con MFC  quando un pulsante è premuto ed uno quand o è rilasciato?

Lo so che è una domanda stupida, perdonatemi... :-) sono ancora agli 
inizi ed un po' testone :-)
Il mio problema è questo : ho la necessità di creare una funzione che 
finchè il pulsante implementato in una finestra di dialogo è premuto  mi 
setti ad 1 un bit in buffer e me lo setti a zero quando rilascio il 
pulsante (ossia completo l'operazione di click).
Specifico che questo buffer viene mandato tramite una chiamata 
AsyncSocket.Send() durante tutto il corso dell'operazione ad un PLC.
Insomma, questa finestra simula una consolle di comando di una macchina 
ed ho la necessità di far girare un motore fino a che si tiene premuto 
il pulsante.
Dovrebbero esserci messaggi WM_BUTTONDOWN e WM_BUTTONUP ma non riesco ad 
intercettarli, o meglio non ho capito bene come intercettarli, visto che 
mi sembra che il pulsante li intercetti lui.
L'unica soluzione che mi è venuta in mente ( ma che vorrei evitare ) è 
derivare una nuova classe da CButton...
Grazie,
Vittorio

Ciao, Vittorio!
Il giorno 25/11/2003 alle ore 11:18 hai scritto:
 V> L'unica soluzione che mi č venuta in mente ( ma che vorrei evitare ) č
 V> derivare una nuova classe da CButton...
Ho paura che l'unica soluzione sia appunto quella di subclassare il bottone
e intercettare i messaggi che servono.
Altrimenti puoi provare a farlo con il VisualBasic implementando i messaggi
MouseDown e MouseUp del bottone. Non ho provato ma potrebbe funzionare.
Bye

 
Grazie, il problema è che tutto il resto del programma è in Visual C++.
Ho provato anche ad intercettare da finestra di dialogo la pressione del
pulsante del mouse, per poi confrontare l'area in cui è avvenuta con 
quella del pulsante ma senza successo.
Forse potrei semplicemente disegnare io un falso pulsante su un area 
della Dialog e ricavare così i messaggi MouseDown e MouseUp?
Ma mi sa che è poiù semplice derivare una nuova classe...
Ciao, Vittorio

Ciao, Vittorio!
Il giorno 25/11/2003 alle ore 11:32 hai scritto:
 V> Ma mi sa che č poiů semplice derivare una nuova classe...
Credo anch'io, comunque non e' che devi reimplementare tutto, basta
intercettare i due messaggi che ti servono e il resto lo lasci fare alla
classe originaria.
Bye

 intercettare i due messaggi che ti servono
Secondo me non sa bene cosa significhi derivare... 
-- 
Luc
Newsgroup: it.comp.programmare.win32
Titolo: Replicare sistema operativo su altro hard disk

Salve a tutti vorrei sapere la procedura piu' consona per trasferire il
sistema win 95 cosě come impostato e con tutti i programmi installati nel 2
hard disk slave per poi mettere quest'ultimo come primary.Un po' da dati:
Situazione:
420 Mb primary
1,6 gb slave
Cosa devo fare?Premetto che ho Norton gost nell'attuale primay digk da
420mb.
Grazie.

Se hail ghost ti puoi fare il dischetto di boot e copiare il disco sorgente nel
disco destinazione. Non ricordo di preciso se c'è l'opzione di copia diretta da
disco a disco oppure devi passare attraverso un file immagine ...
--
       Stefano Malavasi

 sistema win 95 cosě come impostato e con tutti i programmi installati nel 2
E la programmazione per Windows ?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Con il ghost replichi pari pari l'hard disk ... non fa solo una copia dei singoli
file ... io ci faccio la copia di un disco con sopra Windows + Applicativi e lo
replico su altri PC.
Ovviamente la configurazione deve essere la stessa (scheda grafica, motherboard
... ) altrimenti ci sarebbero problemi ... ma visto che qui deve solo passare dal
primario al secondario la configurazione rimane la stessa :)
--
       Stefano Malavasi

 replico su altri PC.
Mi sa che non ci siamo capiti: che cosa c'entra questo problema
con la programmazione per Windows, che e' il tema di questo ng ?
Per problemi del genere e' bene spostarsi su newsgroup specifici.


Si scusami hai ragione tu :) Non avevo capito il tuo post ... pensavo volessi dire
un'altra cosa :)
--
       Stefano Malavasi
Newsgroup: it.comp.programmare.win32
Titolo: perchè in VC++ una funzione chiama se stessa?

Non credo di aver capito il motivo per cui in VC++ spesso si incontrano cose 
di questo tipo, generate automaticamente dal compilatore:
void CCDCdrawDlg::OnPaint()
{
 if (IsIconic())
     {..}
 else
     {
      CDialog::OnPaint();
     }
}
...oppure...
void CCDCdrawDlg::OnOK()
{
 CDialog::OnOK();
}
...perchč quelle chiamate "a se stesse", per cosě dire...??

 ...perchè quelle chiamate "a se stesse", per così dire...??
Non sono chiamate a se stesso, ma sono chiamate a funzioni che hanno
lo stesso nome, ma fa riferimento alla classe base (CDialog::OnOK())
da cui deriva CCDCdrawDlg.

 ha scritto nel messaggio 
news:f152o8$7th$1...@newsreader.mailgate.org...


>
Allora, scenario:
ho un oggetto TEngine che rappresenta un motore a benzina, con i suoi
bei metodi: Accendi() e Spegni() che fanno le operazioni banali di
accendere il motore e spegnere il motore.
Voglio creare una vespa (inteso come motociclo), e mi serve un motore 
per farlo funzionare; quindi, anzicchè reinventare la ruota, derivo
l'oggetto TVespa da TEngine, cosicchè ho un motore già bello e pronto
da utilizzare per far camminare la vespa :-)
Però il metodo Spegni() di TEngine permette solo di spegnere il motore, 
mentre il metodo Spegni() di TVespa, oltre a spegnere il motore, deve 
anche fermare la benzina, chiamando il metodo FermaBenzina() anchesso di 
TVespa.
Quindi, da quanto detto, l'implementazione di TVespa::Spegni(), sarà 
come segue:
void TVespa::Spegni()
{
     TVespa::FermaBenzina(); // blocco della benzina nel carburatore
     TEngine::Spegni(); // spengo il motore usando la funz. base
}
In genere nella programmazione OOP si effettua l'overload delle funzioni
basi (es: Spegni() di TEngine) per espandere le funzionalità della 
classe derivata (es: Spegni() di TVespa).
Altro stupido esempio di espansione di funzionalità: TMacchina che nella
funzione Spegni() avrà la chiamata al metodo MettiFrenoAMano() prima di
chiamare Spegni() di TEngine.
Spero di averti fatto capire il concetto.
Ciao

 il metodo FermaBenzina() anchesso di TVespa.
Sì, la spiegazione è corretta però hai fatto un esempio dove mi 
pare più sensato il reimpiego di codice per 
aggregazione/composizione piuttosto che per ereditarietà.
-- 
Stefano Frosio
www.esse-effe.com

 
Ed anche tu hai ragione :-)
Però con un'pò di superficialità, ci sta l'esempio su...

Newsgroup: it.comp.programmare.win32
Titolo: qualcuno ha il BCB5 ?

come sa soggetto

come sa soggetto
Ti posso aiutare ? io ho il 4.0.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------------
"There is nothing better for understanding a kangaroo
 than seeing it jump." [D.Grune, C.J.H. Jacobs]
Newsgroup: it.comp.programmare.win32
Titolo: HELP ME

Chi sa spiegarmi perchè non va! Dove sbaglio?
Grazie
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
/* Database studenti */
#define CLASSES 3
#define GRADES 30
int grade[CLASSES][GRADES];
void enter_grades(void);
int get_grade(int num);
void disp_grades(int g[][GRADES]);
int main(void)
{
 char c, str[80];
for(;;) {
  do {
   printf("(I)mmissione voti\n");
   printf("(S)tampa voti\n");
   printf("(U)scita\n");
   gets(str);
   ch = toupper(*str);
 } while(ch!='I' && ch!='S' && ch!='U');
 switch(ch) {
   case 'I':
     enter_grades();
   break;
   case 'S':
     disp_grades(grade);
   break;
   case 'U';
    exit(0);
 }
}
return 0;
 }
/* Immissione dei voti */
void enter_grades(void)
{
 int t, i;
for(t=0; t<CLASSES; t++) {
 printf("Classe %d:\n", t+1);
 for(i=0; i<GRADES, ++i)
  grade[t][i] = get_grade(i);
   }
}
/* Lettura dei voti */
int get_grade(int num)
{
 char s[80];
 printf("Immettere il voto dello studente %d:\n", num+1);
 gets(s);
 return(atoi(s));
 }
/* VIsualizzazione dei voti */
 void disp_grades(int g[][GRADES])
 {
  int t, i;
 for(t=0; t<CLASSES; ++t) {
 printf("Classe  %d:\n", t+1);
 for(i=0; i<GRADES; ++i)
   printf("Studente %d e' %d\n", i+1, g[t][i]);
   }
};

Chi sa spiegarmi perchè non va! Dove sbaglio?
bcc è fin troppo chiaro:
-----
D>bcc32 test
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
test.cpp:
Error E2451 test.cpp 26: Undefined symbol 'ch' in function main()
Error E2127 test.cpp 36: Case statement missing : in function main()
Warning W8066 test.cpp 41: Unreachable code in function main()
Error E2378 test.cpp 49: For statement missing ; in function enter_grades()
Warning W8004 test.cpp 53: 'i' is assigned a value that is never used in 
functio
n enter_grades()
*** 3 errors in Compile ***
-----
come disse una volta uno di it.comp.lang.perl, "Se non si compila nemmeno, 
non postatelo sul ng. Prima imparate almeno la sintassi, poi chiedete"
allora, io di C ne capisco una sega, a volerla dire alla camionistica 
maniera, ma mi pare proprio che:
 - char c, str[80]; vada corretto in char ch, str[80];
 - case 'U'; vada corretto in case 'U':
 - for(i=0; i<GRADES, ++i) vada corretto in for(i=0; i<GRADES; ++i)
e in effetti:
-----
D>bcc32 test
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
test.cpp:
Warning W8066 test.cpp 40: Unreachable code in function main()
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
-----
compila e linka tranquillamente, a parte quel Warning, che altro non si 
tratta che di un INUTILE return 0 FUORI dalla main(). Difatti spostando la 
riga incriminata:
-----
D>bcc32 test
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
test.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
-----
quindi si trattava di una "h" in meno, un ";" al posto di un ":" e di un 
"," al posto di un ";". E di un return 0 clandestino.
insomma, vergogna, ti fai fare i compiti da una ragazzina :)
Newsgroup: it.comp.programmare.win32
Titolo: API: ExitWindowsEx WINDOWS2000/XP

Salve, dovrei utilizzare il classico API:
    ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0);
Ma non funziona sotto Windows 2000 & XP
Sapete aiutarmi? grazie tante!
PS: Vi e' altrimenti un altro comando o qualcosa per forzare lo spegnimento
della macchina,
    chiudendo tutti gli applicativi in esecuzione senza chiedere conferma?
RIGRAZIE!

     chiudendo tutti gli applicativi in esecuzione senza chiedere conferma?
A quanto ne so il parametro EWX_FORCE non produce i messaggi
WM_QUERYENDSESSION e WM_ENDSESSION, quindi i programmi non dovrebbero
chiedere conferma di chiusura. Rischi anche di perdere dati non salvati.
Spero di esserti stato d'aiuto.
Luca Carlon

   }
Ottima! Solo una cosa. Come funziona  SaveActionOnFile ?
Guarda questo, fresco freso :))
//--------------------------------------------------------------------------
-
void __fastcall TForm1::Button4Click(TObject *Sender)
{
    OSVERSIONINFO vi;
    vi.dwOSVersionInfoSize = sizeof(vi);
    GetVersionEx (&vi);
    HANDLE hToken;
    TOKEN_PRIVILEGES tp;
    // open access privilege list.
    if (OpenProcessToken (GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES |
TOKEN_QUERY, &hToken))
    {
        tp.PrivilegeCount = 1;
        // Ask the "shutdown" LUID
        LookupPrivilegeValue (NULL, SE_SHUTDOWN_NAME,
&tp.Privileges[0].Luid);
        tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; // enable it
        AdjustTokenPrivileges (hToken, FALSE, &tp, 0, NULL, 0);
    }
    ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0);    // o altri ....
}
//--------------------------------------------------------------------------
-
void __fastcall TForm1::Button3Click(TObject *Sender)
{
    AbortSystemShutdown(NULL);
}

 Ottima! Solo una cosa. Come funziona  SaveActionOnFile ?
Non č ancora finito, cmq dovrebbe salvare tutte le volte che viene chiusa la
sessione in un file, e poi mostrarlo in una listbox. Non ancora finito
neanche questo. Funziona solo in parte, non ho avuto tempo di lavorarci.
Luca Carlon

Ok!
Ho comunque trovato delle diversita' enormi sulla stabilita' da NT a 2k a XP
Usando i singoli comandi (Restart, Shutdown, PowerOff)
sui 3 sistemi op, questi si comportano in maniera diversa!
O non si spegne o si blocca o altro ancora.
Va bhe!....
Lo ottimizzo solo per un S.O.
Grazie ancora!

 Va bhe!....
Strano, l'ho provato abbastanza bene si asu Windows 2k che su Windows 98 e
mi pareva che funzionasse perfettamente. Forse anche su Windows ME. Vabbè,
cmq ci sentiamo.
Luca Carlon
Newsgroup: it.comp.programmare.win32
Titolo: Mi date una mano per favore?

La hwnd recuperata è esatta, ma la finestra interessata non
sparisce...dove sbaglio?
HIDEY_API int hide(void)
{
	HWND jh;
	while(1)
	{
	jh=FindWindow(0,"Stampa");
         if (jh!=NULL)
		{
                        SendMessage(jh,(int)WM_SHOWWINDOW,(WPARAM)0,
(LPARAM)0 );
			Sleep(500);
			break;
		}
	}
	return 0;
}

 sparisce...dove sbaglio?
[...]
Il messaggio viene generato per segnalare alla finestra che è stata 
nascosta, il fatto di riceverlo non cambia lo stato della finestra.
Per nasconderla devi usare ShowWindow o SetWindowPos.
-- 
Valter Minute
(the reply address of this message is invalid)
(l'indirizzo di reply di questo messaggio non è valido)

 wrote in news:1178282313.844979.119800

Con la tua modifica funziona, grazie 1000!!!

Newsgroup: it.comp.programmare.win32
Titolo: [?]Disabilitare CTRl+ESC in XP importante

Ho la necessita di bloccare il "tasto windows". Devo fare un programma in
cui il computer deve essere inacessibile, il prog si deve sbloccarsi con
l'inserimento di una password decisa all'avvio dell'aplicazione, per questo
mi serve bloccare il CTRL+ESC.
Se qualcuno puo aiutarmi accetto qualsiasi consiglio.
Grazie in anticipo

 mi serve bloccare il CTRL+ESC.
http://msdn.microsoft.com/msdnmag/issues/02/09/CQA/default.aspx
Paolo.
-- 
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: Istruzione simile a GetCursorPos

GetCursorPos mi dà la posizione del mouse in termini di pixels relativi
all'intero desktop.
Io avrei bisogno di un'istruzione simile che mi dia la posizione del mouse
in termini di pixels relativi alla sola finestra attiva. Che istruzione devo
usare?

"Flix" <wr...@newsgroup.comeon> ha scritto nel messaggio
news:b3o6ts$3lb$1...@lacerta.tiscalinet.it...

Puoi intercettare il messaggio MouseMove del componente (in tal caso la
finestra) in questione, in un parametro del messaggio sono presenti le
coordinate del mouse relative ad esso.
Oppure puoi semplicemente ricavare le coordinate in base al fatto che
conosci la posizione della finestra nel desktop.

Grazie.Proverň.


ScreenToClient(HWND hWnd,  LPPOINT lpPoint)
gli passi l'handle della finestra e le coordinate del desktop prese con
GetCursorPos.
Ciauz

Newsgroup: it.comp.programmare.win32
Titolo: Borland c++ 3- Aggiunta dati file

Come posso andare in aggiunta record ad un file?
Inoltre come posso reperire i dati per chiave? Come faccio la ricerca e
come devo memorizzare i dati?
Grazie



Mi sembra un po' vago... Dovresti specificare un po' meglio.
Se invece le tue domande sono:
1. Come si accede ai file
2. Come si usano le variabili
Allora comprati un libro, ad esempio Borland C++ Builder 3.0 di Kent
Reisdorph edito da Apogeo, perchè stai chiedendo:
Come si fa a programmare?
Ciao
Giovanni
Newsgroup: it.comp.programmare.win32
Titolo: link a sito

Se può interessare qualcuno, oggi, mentre cercavo di risolvere un 
particolare problema mi è capitato di trovare questo sito di funzioni 
non documentate:
http://undocumented.ntinternals.net
per chi ha fretta c'è il documento riassuntivo qui:
http://undocumented.ntinternals.net/ntundoc.chm
-- 
Articolo 33 della Costituzione italiana: L'arte e la scienza sono 
libere e libero ne è l'insegnamento

 ...
SPAM