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

Come faccio a far si che la mia applicazione che visualizza una
bitmap non ridisegni l'intera immagine come allargo la finestra
ma ridisegni solo le parti  modificate?
Ciao.

 ma ridisegni solo le parti  modificate?
Se la classe della finestra ha i bit di stile CS_VREDRAW e/o
CS_HREDRAW, allora hai in questo modo specificato che un resize
rispettivamente verticale o orizzontale ridisegni TUTTA la
finestra.  Per evitare che questo succeda, devi anzitutto
evitare di richiederlo, quindi, NON porre questi bit di stile
fra quelli della classe della tua finestra quando la registri!
Questo e` un tipo di funzione di paint (da chiamare per
gestire WM_PAINT, fra BeginPaint ed EndPaint) che ti permette
di vedere bene quali parti della tua finestra stai ridisegnando
in ogni dato caso:
void DoPaint(HWND hWnd, PAINTSTRUCT* ps)
{
    SaveDC(ps->hdc);
    SelectObject(ps->hdc, CreatePen(PS_SOLID, 5, RGB(10,20,60)));
    SelectObject(ps->hdc, CreateHatchBrush(HS_DIAGCROSS, RGB(60,10,10)));
    RECT r = ps->rcPaint;
    if(r.left==r.right || r.top==r.bottom)
        GetClientRect(hWnd, &r);
    Ellipse(ps->hdc, r.left, r.top, r.right, r.bottom);
    DrawText(ps->hdc, "Buh", 3, &r,
        DT_SINGLELINE|DT_CENTER|DT_VCENTER);
    RestoreDC(ps->hdc, -1);
}
Provala con finestre di classi CON e SENZA CS_HREDRAW | CS_VREDRAW
nel campo .style della struct WNDCLASSEX che hai usato per
registrare la classe, e vedrai la differenza.
Alex
Newsgroup: it.comp.programmare.win32
Titolo: ATL - COM -ActiveX

Vorrei sapere che differenza c'è tra ActiveX, COM e ATL.
Qualcuno me la spiega in poche parole?
Grazie.
Emanuele



Ho spiegato abbastanza in dettaglio questa differenza (includendo pure OLE
e qualche altra sigla :) nella mia column Q&A di 1999 sul VCDJ.
L'URL esatta e': 
http://www.vcdj.com/magazine/decmag98/qa1.asp
Davide Marcato.
----------------------------------------------------
| -- Freelance International Consultant
| -- Win32/MFC/COM Development & Training
| -- Technical Writer & Speaker
----------------------------------------------------
| -- Email: 
mar...@programmers.net
| -- Web: 
http://www.DavideMarcato.com
----------------------------------------------------

Component Object Model e' una tecnologia introdotta da Microsoft che
consente di realizzare delle applicazioni basate su componenti a interfaccia
comune (indipendenza dal linguaggio etc etc etc).
ActiveX identifica un tipo di controlli realizzati con tecnlogia COM.
ATL e' una libreria C++ che consente la creazione rapida (senza partire da
0) di controlli basati su tecnologia COM (Non solo ActiveX) o anche per
realizzare applicazioni Win32 semplici e snelle (che non usano COM).
Ciao.
Newsgroup: it.comp.programmare.win32
Titolo: [BCB] Database-> Index out of Date

Utilizzo C++Builder su piattaforma win2000... e... ragazzi mi dovete proprio
aiutare, perché il mio problema é sempre lo stesso e non riesco mai a
risolverlo.
Io creo gli indici secondari da Database desktop, che sono di una comoditá
estrema per ordinamenti e altre cose varie. Ma ogni qualvolta io aggiorno il
database (e dici poco!) questi mi vanno out of date!!!
Come posso fare?
Posso aggiornarli da codice ogni volta che modifico le tabelle/effettuo
inserimenti nelle tabelle?
Oppure sbaglio qualcosa di fondo?
Fin'ora ne ho fatto a meno, ma ora devo usare delle tabelle master detail
che possono funzionare solo con i suddetti indici. Datemi una mano...
Grazie!!!!!!!!!!!!!!!!!!!!
Ga.

Come posso fare?
Hai creato una chiave primaria ? e da che campi e'
costituita ?
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

 ha scritto nel messaggio
news:3c55dba1...@news.tin.it...


 Totale: non uso Primary Indexes... :(
Punto dolente.  
Un indice primario e' quasi sempre indispensabile se hai
bisogno di identificare univocamente i record.
Apri la tua tabella con Database Desktop.
Entra in modifica della struttura.
Compare, in corrispondenza di ogni campo, una voce "Key".
Il campo (o i campi) che vuoi rendere chiave primaria 
devono comparire in cima alla lista. 
Facendo doppio click in corrispondenza della voce "Key", 
ti compare un asterisco.  
Questo vuol dire che il campo e' stato reso chiave primaria 
(e si e' aggiunto un file .PX al gia' esistente .DB).  
Prova a ridefinire gli indici secondari, dopo aver fatto 
questa operazione.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Andrea, ho reso primari i campi che uso per gli indici secondari... non ho
ancora provato con il master field, ma.. sembra funzionare :) L'errore non
me lo da piú...
Avrei tante cose da chiederti, ho tanti dubbi. Il fatto é che se anche
riesci a risolvere il 95% di questi il 5% ti impedisce di andare avanti. (il
tu é molto retorico)...
Io programmo da tempo con c++Builder, non ho trovato nessun manuale sulla
programmazione sulle basi di dati, a parte qualche accenno sul librone di
Reysdorph. Cosa mi consigli di cercare, o acquistare?
É raro trovare qualcuno cosí disponibile come sei stato tu, ti ringrazio,
non penso di poter ricambiare, ma... a buon rendere comunque :)

 Reysdorph. Cosa mi consigli di cercare, o acquistare?
Su C++ Builder purtroppo la documentazione e' scarsissima.
Probabilmente perche' e' solo un front-end per Delphi e 
quindi tutto cio' che si applica a Delphi (per il quale la
documentazione e' smisurata) si applica ugualmente a BCB.

Newsgroup: it.comp.programmare.win32
Titolo: Re: localhost e va in crash wsock32.dll

 questo problema non esiste.
Detto così è molto difficile aiutarti. Potrebbe essere un errore di 
dimensionamento di un buffer.
Prendi ad esempio il fatto che tu debba allocare 10K per una funzione che 
chiami dentro quella dll.
Quella memoria può venire allocata in posti diversi da pc a pc. Se quindi la 
funzione della dll ha bisogno di 15K e casualmente i 5K successivi ai 10K 
che tu hai allocato sono disponibili perchè già allocati per qualcos'altro, 
allora apparentemente tutto funziona. Se però quei 5K sono stati allocati 
altrove (su un altro PC) allora il buffer è solo di 10K e quindi sbordi.
Ovviamente questo è solo un esempio ...
-- 
Raffaele Rialdi
Microsoft .NET MVP 
http://mvp.support.microsoft.com
 -
http://italy.mvps.org
 UGIdotNET - User Group Italiano .NET
http://www.ugidotnet.org
 Weblog: 
http://blogs.ugidotnet.org/raffaele

 ha scritto nel messaggio 
news:KwfCe.22804$b93....@tornado.fastwebnet.it...


 WinXP.
Infatti facevo solo un esempio.
Se dai per scontato che il tuo codice sia giusto, farai poca strada.
C'è mezzo mondo che sta usando quella dll sotto tutti gli OS e capirai che 
se ci fosse un bug così evidente sarebbe già emerso da tempo.
Cerca di spendere più tempo nel tuo codice e cercare di isolare *dove* 
avviene il problema. Vai step-by-step con il debugger e guarda se capisci 
dove si pianta e soprattutto quali sono i parametri che gli vengono passati.
Inoltre ti consiglio di mettere un po' d'ordine nel sorgente. È molto 
disordinato con le convenzioni dei nomi non rispettate in tutte le variabili 
e (almeno per quello che hai postato) con if ed else senza graffe che 
rendono poco leggibile il listato ... (è solo un consiglio ovviamente).
Infine ti converrebbe creare una classe per quello che stai facendo. Le 
funzioni così lunghe sono prone agli errori e il sorgente è più complesso da 
mantenere.


Perche' se cerco di collegarmi a localhost va in crash la wsock32.dll del 
programma da cui la chiamo?
Se mi collego a 127.0.0.1 va bene, ed anche al nome del computer, ma 


Newsgroup: it.comp.programmare.win32
Titolo: RAD Game 3D

esiste qualche sistema rad per .net c# per fare giochi 3d in maniera 
automatica?
mi basta sl per mettere el figure su un amb iente 3d usando le direct3d.
ciao a tutti e grazie a tutti
gabry

gabry ha scritto:

ci vuole cosģ tanto ad aprire una finestra vuota e inizializzarla per
DirectDraw/Direct3D? o meglio, si, ci vuole tanto, ma MSDN ha gią gli
esempi pronti ;)
-- 
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: Copia di DC

Ho un problemino con i DC, in VC++...
Ho bisogno di copiare il contenuto di un Device Context in un altro...
tuttavia le funzioni *Blt, che ho già provato, non mi aiutano, perchè
copiano la bitmap dell'uno nell'altro, mentre a me interessa il vero e
proprio contenuto del DC... o forse sono io che non ho capito nulla e vanno
proprio bene questi metodi? Mah, molto probabile ^_^.
In ogni caso, questo è quello che mi servirebbe... se le mie supposizioni
sono corrette, mi basterebbe quindi anche solo un metodo per copiare un DC
in una bitmap...
Qualche aiutino? Grazie ;-)
Mattia
--
*=-=^=-=^=-=^=-=^=-=^=-=^=-=^=-=^=-=^=-=^=-=^=-=*
* Some days, my soul's confined and out of mind, sleep forever *
* Some days, my darkest friend is me again, have you ever...?   *
* Someday I'll try again and not pretend this time forever           *
* Someday I'll get it straight but not today, have you ever...?      *
*=-=^=-=^=-=^=-=^=-=^=-=^=-=^=-=^=-=^=-=^=-=^=-=*
 - "Have you ever", Offspring

 in una bitmap...
Crea il bitmap (CreateBitmap), crea un compatible DC (CreateCompatibleDC),
seleziona il bitmap nel compatible DC (SelectObject) e fai una BitBlt() dal
DC sorgente al compatible DC. Deseleziona il bitmap, et voila`, adesso
contiene la copia del tuo DC. :)
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/

Si, ad esempio la BitBlt, va benissimo. Se non vuoi blittare, allora puoi
indirizzarti verso GetPixel e SetPixel, lentissime, però (attenzione!!). Con
la prima ottieni una variabile COLORREF dal punto POINT indicato. Con
SetPixel si fa esattamente l'inverso. Per usarle devi però utilizzare un
ciclo for.

Newsgroup: it.comp.programmare.win32
Titolo: Avvio applicazione

Dovrei far partire un applicazione che ho fatto io alla chiusura di Win98.
Come posso fare?
Grazie

 
Windows manda un WM_ENDSESSION a tutte le finestre per notificare che sta
per andar giu'. Forse una finestra nascosta che aspetta tale messaggio
potrebbe andar bene??? Su uno degli ultimi numeri di WDJ c'era un esempio
che mostraca come evitare la chiusura di Windows, e si basava proprio
sull'intecettazione di tale messaggio...
Ciao
Gianfranco

Come posso fare?
Un metodo immediato non c'è. Dovresti far partire un'applicazione nascosta
all'avvio di Windows che in risposta al messaggio WM_QUERYENDSESSION lanci
il programma da te specificato.
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------
Newsgroup: it.comp.programmare.win32
Titolo: Creato menu che non sparisce...perché???

Salve a tutti,
ho un problema che non riesco proprio a risolvere che mi sta facendo
diventare matto.
Ecco, con la funzione Shell_NotifyIcon ho creato un'icona nell'area
"Taskbar". Quando
clicco su questa icona, mi crea un menu (vedi codice più basso). Il problema
é che il menu
non sparisce più!!! L'unico modo di farlo sparire é quello di cliccare su un
Item del menu, altrimenti, se clicco ovunque sullo schermo, il menu resta li
senza sparire).
Mi potete aiutare, io non capisco più niente!!!
Ecco la funzione che crea il menu!!!
void CreateMyMenu(HWND hWnd)
 {
  POINT pt;
  LPPOINT pPoint;
  UINT uState;
  GetCursorPos(&pt);
  //  Create the popup.
  uState = MF_ENABLED;
  hPopup = CreatePopupMenu();
  AppendMenu(hPopup, uState, ID_MENU_1, "Configurer...");
  AppendMenu(hPopup, MF_SEPARATOR, 0, 0);
  AppendMenu(hPopup, uState, ID_MENU_2, "Contactez notre site");
  AppendMenu(hPopup, MF_SEPARATOR, 0, 0);
  AppendMenu(hPopup, uState, ID_MENU_3, "Aide");
  AppendMenu(hPopup, uState, ID_MENU_4, "A propos...");
  AppendMenu(hPopup, MF_SEPARATOR, 0, 0);
  AppendMenu(hPopup, uState, ID_MENU_5, "Sortir");
  ClientToScreen(hWnd, pPoint);
  TrackPopupMenu(hPopup,
                   TPM_RIGHTBUTTON,
                   pt.x,//pPoint->x,
                   pt.y,//pPoint->y,
                   0,
                   hWnd,
                   NULL);
 }
Matteo Ferrini
E-mail   :     
mfer...@eivd.ch

 non sparisce piů!!!
Questo succede se non chiami SetForegroundWindow() prima e dopo di
TrackPopupMenu().
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/
Newsgroup: it.comp.programmare.win32
Titolo: Monitorare accessi disco

Avete qualche consiglio su come monitorare gli accessi disco da una
applicazione WIN32.
Avevo pensato di intercettare le richieste all`INT25 (o INT26) oppure ad
installare qualche Hook,
ma non ho trovato nulla
grazie Marco.

:

Prova a dare un'occhiata a:
http://www.sysinternals.com/filemon.htm
-- 
Valter Minute - 
min...@fortech.it
 (the reply address of this message is 
invalid)
--
Are you looking for a good freeware ScreenSaver? Try FOYD!
http://hotfiles.zdnet.com/cgi-
bin/texis/swlib/hotfiles/getit.bin?fcode=000PZ0
if you want, I can send you the (free) C++ source code.

Splendido sofware c'e' tutto quello che mi serve e anche di piu' , grazie.
Valter Minute <min...@REMOVEMEfortech.it> wrote in message
8E43BBB89minut...@195.135.20.1...

Newsgroup: it.comp.programmare.win32
Titolo: Schermata "termina applicazione" di Windows 98

Sapete come richiamarla? a me hanno detto che devo aprire un file chiamato
"\\.\REBOOT" (ossia un driver di periferica virtuale) con CreateFile, poi
passare l'handle a DeviceIoControl. Però non mi hanno saputo dire i comandi
supportati dalla VXD, qualcuno ne sa qualcosa in più?
grazie in anticipo
-- 
Posted from 
smtp.technorail.com
 [195.103.144.19] (may be forged) 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Chi è quell'intelligente che ti ha suggerito quelle castronate? C'è una
funzione API per farlo. Ora non ricordo ma se vai nell'MSDN anche online e
se guardi sotto System ecc, allora la trovi sicuramente, appena la trovo di
nuovo te lo dico.

Newsgroup: it.comp.programmare.win32
Titolo: [Forse OT] Chiarimenti su quale "strada" prendere.

Salve sono nuovo di questo NG,anche se di tanto in tanto leggo.
Da anni sviluppo,per conto di una societa' palermitana ,software per
gestionali sotto Dos.
Adesso vorrei passare a windows(e forse ho perso tempo).
Premetto che conosco diversi linguaggi di programmazione anche se non tutti
in maniera perfetta(c/c++  discreto,assembly mediocre,basic ottimo),pero'
sempre sotto Dos.
Volevo iniziare con un prodotto free,anche perche' intendo fare qualcosa per
conto mio e non + per altri(mi sono stancato di essere dipendente scontento
e mal pagato) e quindi ho scaricato il Dev c++, lcc win32 e i tools free di
Borland per compilare.
Anche perche' vorrei vedere dove arrivo(e quanto tempo ci sto ad
arrivarci),quindi la soluzione free mi sembra(va) ottima.
Ho fatto qualcosina ed ho letto alcuni tutorial,pero' con pochi risultati,
tanto tempo perso e tanta rabbia.
Poi non sono tanto sicuro che il free possa portare a fare software robusto
in poco tempo(mi sbaglio?Sicuramente qualcuno dira' di si,se fosse cosi'
sarei contento di non aver perso tempo).
Secondo voi cosa mi conviene fare:
1) Acquistare un prodotto tipo Visual C(o Borland Builder) o Visulbasic?
(Anche se questo non e' proprio free)
2) Continuare sulla scia free e comprare un buon libro e impegnarsi
mooooolto di +?
3) Non fare nulla e cambiare lavoro eheh.
Secondo voi cosa sarebbe + giusto(a parte cambaire lavoro,che cmq e' pure da
valutare)?
Grazie per le risposte che aspetto con ansia(che non e' una mia cugina
diciamo b(u)ona).

mooooolto di +?
Io sto iniziando con .NET senza aver speso una lira (il framework č
Free e anche SharpDevelop lo č). Ad ogni modo stavo meditando di
acquistare VisualC# che non costa tanto
--
Rhymes (
rhymes_...@myself.com
)
http://www26.brinkster.com/rhymes
" ride or die "

 " ride or die "
Grazie per l'aiuto allora vedro' di non cambiare lavoro eheh.
Newsgroup: it.comp.programmare.win32
Titolo: Petzold: versione italiana od inglese

Saluti.
Come da oggetto, l'edizione italiana del Petzold
č valida o č preferibile acquistare l'edizione originale?
Grazie e ciao  Manlio Perillo

 writes:
MP> Saluti.
MP> Come da oggetto, l'edizione italiana del Petzold
MP> č valida o č preferibile acquistare l'edizione originale?
Meglio sempre gli originali.
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )

Meglio sempre gli originali.
Condivido.
Poi, la versione italiana e' Jackson : tutto dire, uno
schifo.
-- 
Andrea Laforgia - walkietalkie(at)
libero.it

 schifo.
Non ho mai preso un libro tradotto, sempre originale,
cose'e' che fa schifo?
Una cosa che ho visto (leggendo in giro) sono ad esempio
traduzioni dei sorgenti, e a volte con dei errori.
J.

cose'e' che fa schifo?
La traduzione.


 La traduzione.
Ma intendi dire che ci siano degli errori nella traduzione,
oppure solo lo stile che da fastidio?


Al limite non č che sia un problema.
Infatti con il libro č presente un CR-ROM con la versione
originale del testo in HTML (o cosě mi sembra).
Comunque quello che non mi piace della versione italiana
(che ho avuto occasione di sfogliare) č l'impaginazione.
Ho notato queasto problema anche con altri testi.
Ciao  Manlio Perillo

 oppure solo lo stile che da fastidio?
Molto spesso chi traduce non ha le competenze tecniche necessarie per
tradurre questo genere di materiali, come conseguenza si ha un testo di
qualità inferiore a quello originale.
Non sempre è così, ma per i manuali molto tecnici questo fenomeno ha
frequenti riscontri.
--
- Carlo -
c.b...@libero.it



Questo però dipende molto dalla casa editrice, ad esempio per i libri
pubblicati dalla Jackson molto spesso la qualità della traduzione è
bassa, altre case editrici invece pubblicano libri tradotti molto
bene.
-- 
Marco Barisione (ICQ 84277092)
Su it.news.gruppi si sta discutendo della creazione di it.comp.lang
dove si parlerà dei linguaggi senza un proprio newsgroup e dei
confronti fra i diversi linguaggi.
Se sei interessato unisciti alla discussione.

bene.
Dalle traduzioni Jackson io mi aspetto di tutto.  Ho visto
libri in italiano in cui ci sono interi periodi lasciati in
inglese. Assurdo.  Mi chiedo se abbiano qualcuno che
controlla le traduzioni.

Newsgroup: it.comp.programmare.win32
Titolo: Da vc++ creare/modificare BMP

Mi servirebbe un controllo activex (o qualunque altra cosa) più standard
possibile (meglio se incluso in sistema o visual studio) per poter aprire un
bmp aggiungerci del testo,schiacciare l'immagine (da 1024x576 deve diventare
720x576) e risalvarla sempre in bmp.
Non ho trovato nulla (tranne dei mega activex stracomplicatissimi). Mi
sapete aiutare?
Pensavo di fare il tutto con DirectX... che ne dite? Qualcuno di voi le
conosce? E' una cosa fattibile?
--
per rispondere togliere NEW dall'indirizzo
remove NEW from address to answer
Gaggioso il portale della pesca 
http://www.gaggioso.it

Pensavo di fare il tutto con DirectX... che ne dite?
Scordati le DirectX.
Paolo

Newsgroup: it.comp.programmare.win32
Titolo: Help su ComboBox

Salve
Ho incontrato un problema con le combobox sulle finestre di dialogo.
Usando questa funzione:
SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM) "Stringa di prova");
Dovrei aggiungere una stringa alla combobox, perň, in esecuzione, quando
clicco su di essa, sembra che la lista appaia vuota, ma se seleziono la
combobox e premo il tasto-freccia verso il basso, appare la stringa che
avevo immesso, e premendola piů volte, appaiono in sequenza, tutte le
stringhe che ho aggiunto.
Come posso fare in modo che quando la combo viene cliccata, appare una lista
contenente tutte le stringhe che ho immesso in modo che posso selezionare
quella desiderata con un clic del mouse?
Grazie a tutti coloro che mi illumineranno
    Ciao
        Fabio

        Fabio
Saluti
    Mardy
--
Per rispondere, togliere NVN dal mio indirizzo.
Uhmm... Solo 30 quadrifogli, 1 quadri/pentafoglio, 4 pentafogli,
1 esafoglio. Dove andremo a finire di questo passo?

Grazie!
Finalmente posso continuare il mio programma!
Newsgroup: it.comp.programmare.win32
Titolo: Principiante: passare HANDLE ad una funzione

Scusate se vi scoccio di nuovo ^_^, ma volevo creare una funzione ke mi crea un lock_file, ma nn so come passargli
l'HANDLE del file da creare... (il problema e' che non so come e' realizzato il tipo HANDLE, ke brutta cosa l'ignoranza!!!)
BOOL setLock(HANDLE handFile, char *lockFileName);
BOOL setLock(HANDLE handFile, char *lockFileName){
 char strPath[MAX_PATH];
 GetTempPath(MAX_PATH,strPath);
 strcat(strPath,lockFileName);
 handFile = CreateFile(strPath, GENERIC_READ, 0,NULL,
  CREATE_NEW, FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE, NULL);
 if (handFile == INVALID_HANDLE_VALUE)
  return TRUE;
 return FALSE;
}
Se la richiamo con:
HANDLE lockFile;
 if (setLock(lockFile,"FileProva.lock")){
  viewError();
  return 1;
 }
sembra non funzionare correttamente...
Potete dirmi se e dove sbaglio (il se e' molto retorico!)?
Ciao,
        Max

Scusate ma ero in paranoia...
Penso di aver risolto correttamente cosi':
BOOL setLock(LPHANDLE handFile, char *lockFileName);
BOOL setLock(LPHANDLE handFile, char *lockFileName){
 char strPath[MAX_PATH];
 GetTempPath(MAX_PATH,strPath);
 strcat(strPath,lockFileName);
 *handFile = CreateFile(strPath, GENERIC_READ, 0,NULL,
  CREATE_NEW, FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE, NULL);
 if (*handFile == INVALID_HANDLE_VALUE)
  return TRUE;
 return FALSE;
}
....
HANDLE lockFile;
 if (setLock(&lockFile,"FileProva.lock")){
  viewError();
  return 1;
 }
Scusate per i post, ma a volte mi blocco sulle cretinate... ;-(
Newsgroup: it.comp.programmare.win32
Titolo: Autoeliminazione di una cartella/file.

Salve a tutti.
Ecco in breve su cosa sto lavornado:
in una cartella ho una serie di programmi che eseguono vari test del
computer in esame.
Sempre nella medesima cartella ho il programma di menu che mi permette di
eseguire i vari test.
Quando ritengo di avere eseguito i test a sufficienza, da questo menu vorrei
poter eseguire un comando che mi chiuda tutti i test attivi e cancelli la
cartella con tutti i programmi, programma di menu compreso.
Ovviamente non è possibile cancellare la cartella se il programma di menu è
ancora in esecuzione, e se chiudo il programma di menu chi mi cancella la
cartella ?
Esiste qualche strategia alternativa per risolvere questo problema ?
Dovrebbe funzionare sia su Windows9x/ME che su Windows2000/XP...se
possibile.
Grazie per l'attenzione.
Porlock

 cartella ?
Sotto a Windows NT/2000 potresti usare MoveFileEx(), che permette di
"registrare" la cancellazione di file e directory al prossimo reboot.
Per Windows 9x (sotto ai quali la funzione non e` supportata) e` riportata
la procedura analoga sempre nell'help di MoveFileEx() su MSDN.
--
Bye! Lorenzo Lutti
http://antani.virtualave.net/
Newsgroup: it.comp.programmare.win32
Titolo: Problemi con struttura LOGFONT e CreateFontIndirect in stampa.

Ho creato un'applicazione che stampa un grafico attraverso la gdi32
il problema mi si presenta quando tento di stampare con la funzione
TEXTOUT una stringa di caratteri sul contesto di dispositivo della
stampante. IL CARATTERE NON VIENE PROPORZIONATO ESATTAMENTE.
Se per esempio imposto la dimensione del carattere a 8 punti mi viene
stampato anche 3 - 4 volte piu' grande.
In pratica utilizzo le stesse funzioni della gdi che impiego nella
realizzazione del grafico a video , chiaramente con la differenza del
passaggio di parametro del contesto di dispositivo (hdc) .
Per comodità , non uso la funzione TEXTOUT a video e non imposto la
dimensione del font attraverso l'API ,ma semplicemente settando la
proprietà font del controllo immagine che contiene il grafico. 
Con l'oggetto printer cio' non mi è stato possibile per ovvie ragioni
di conflitto tra l'API e l'oggetto in questione.
(non è buona prassi usare gli oggetti VB metre si usano le funzioni
grafiche di Windows)
Peraltro, è noto che l'oggetto printer non sempre è affidabile quando
si devono eseguire operazioni di manutenzione sulla stampante, esempio
nel cambio di formato della carta da A4 ad A3 ,  in quanto non sempre
riflette esattamente i parametri che vengono cambiati dinamicamente
attraverso il driver della stampante.
Ho proceduto cosi... 
Setto ANI_ISOTROPIC  con la funzione setmapmode
creo una finestra logica 
e una viewport sul dc 
pero' quando imposto il font della struttura LOGFONT con lfHeight  [es
: - 10 unti usando -10*72/GetDeviceCaps(Hdc,LOGPIXELSY) ] e vado a
stampare con la funzione textout () 
la dimensione del font in stampa non viene rispettata.
Molto probabilmente non setto correttamente la struttura LOGFONT
Come mai utilizzando l'hdc dell'oggetto printer alcune funzioni
grafiche si comportano in maniera leggermente diversa che ottenendo il
hdc con la funzione CreateDC ?
Avete mai avuto problemi simili ? 
Cosa ho sbagliato?
Sapreste aiutarmi, magari con degli esempi?
Ringrazio anticipatamente per la disponibilità.
Massimo Muracchioli

 la dimensione del font in stampa non viene rispettata.
Penso che quella funzione di conversione vada bene solo per il mapping mode
MM_TEXT. Ignoro pero` come si faccia la conversione per gli altri mapping
modes: non mi sono mai interessato molto di queste cose.
--
Bye! Lorenzo Lutti (
http://www.geocities.com/SiliconValley/Peaks/6258/
)
Newsgroup: it.comp.programmare.win32
Titolo: Acquisire frame da WebCam

Ho bisogno di acquisire dei frames video utilizzando una normale WebCam
connessa al PC tramite interfaccia USB.
Credo esista un'interfaccia standard che Windows mette a disposizione del
programmatore per poter accedere a questo tipo di dispositivi (come del
resto anche ad una scheda audio) ma non ne conosco i dettagli.
Ho cercato su MSDN ma con scarsi risultati....
Qualcuno sa indicarmi una strada buona, oppure qualche sito dove
reperire le informazioni che mi interessano?
Grazie anticipate.
Paolo.


yes devi gestirla tramite drive twain
Aspe' che guardo se trovo l'url :)))
momento :)
...
........
eccomi..Allora queste sono le api
capControlCallback
capCreateCaptureWindow
capErrorCallback
capGetDriverDescription
capStatusCallback
capVideoStreamCallback
capWaveStreamCallback
capYieldCallback
in msdn ci sono vari esempi  :))
ciao
--
-------
sito: 
www.dadev.it
ultime: Ocx per irc testi freeware
-------


Vado subito a controllare, ti ringrazio.
Ciao.

Newsgroup: it.comp.programmare.win32
Titolo: C e Visual C++

Salve a tutti,
premetto che non sono un esperto programmatore, anzi, mi definirei
utente
del c. Mi è stato detto che con visual C++ è possibili compilare anche
normali codici C, effettivamente è cosi, ma è anche possibili compilare
codici C in maniera tale che vengano eseguiti all'interno di una normale
finestra di windows? se la risposta e si, potreste dirmi come si fa?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 finestra di windows? se la risposta e si, potreste dirmi come si fa?
devi realizzare una applicazione "console"
ciao
Davide

 dirmi come si fa?
Certamente si. Basta selezionare "Win32 application" (o qualcosa di simile,
non ricordo il nome esatto) quando crei un nuovo progetto. Tieni pero'
presente che la sistassi e' si quella del C che tu conosci gia', ma la
struttura di un programma che gira in finestra grafica e' totalmente
diversa. Su web puoi trovare ottimi tutorial sull'argomento (in inglese o in
italiano), se vuoi invece un libro non posso che consigliarti il Petzold
"Programming Windows 98" 5a edizione, si trova anche in italiano edito da
mondadori, mi pare.
Qui trovi un vecchio post con un esempietto, una finestra che non faceva
niente :)
http://groups.google.com/groups?group:it.comp.programmare.win32&hl=it&lr=&ie
=UTF-8&oe=UTF-8&selm=b039qr%24qj3%241%
40galileo.it.ip-plus.net
&rnum=3
oltre al file .c e .h che gia' conosci c'e' anche il file .rc che contiene
la descrizione delle risorse usate dal programa (in questo caso solo in
menu, ma potrebbero essere immagini, icone, dialog box....) e viene generato
in automatico dal VisualC (beh, quello che ho postato nell'esempio e'
scritto a mano...) tramite l'editor delle risorse. Se vuoi puoi salvare i 3
file, creare un progetto, aggiungerli al progetto e vedere cosa succede a
compilarli...
Luca

Grazie.
 
         Daniele

Newsgroup: it.comp.programmare.win32
Titolo: Libreria per leggere TIFF

Ciao a tutti!
Mi servirebbe una libreria per leggere il formato TIFF da usare con Visual
C++ 6.0 (uso il C, non il C++). Sapete darmi qualche indicazione utile?
Grazie,
Fra.

 wrote in message
news:sMgc6.1712$Up.1...@twister1.tin.it...


Newsgroup: it.comp.programmare.win32
Titolo: dimensioni device context

Come si fa in MFC a ridimensionare l'immagine contenuta in un device
context CDC? E' possibile farlo senza dover creare un CBitmap delle
dimensioni appropriate e selezionarlo?
Lo chiedo perché adesso che ho finito il mio programma Delphi (senza
essere riuscito a ridurlo di dimensioni) ne ho iniziato un altro in VC++
che ha una finestra ridimensionabile contenente un'immagine grafica che la
riempie tutta; l'immagine deve stare in un oggetto CDC che ho chiamato
buffer e che viene messo sullo schermo con BitBlt ogni volta che arriva un
messaggio WM_PAINT o l'immagine viene modificata, solo che appunto le
dimensioni del buffer devono corrispondere a quelle della finestra (non
posso usare StretchBlt, l'immagine deve corrispondere a quella della
finestra) e quindi il buffer va ridimensionato, solo che quando l'utente
ridimensiona la finestra col mouse WM_SIZE e WM_PAINT arrivano molte
volte, e se ogni volta devo deselezionare il bitmap precedente,
distruggerlo, crearne uno nuovo e selezionarlo, diventa un macello; cioč
lo posso anche fare, perché comunque non richiede grande lavoro al
computer, ma se c'č una via piů semplice č meglio.
grazie.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 e' una spamtrap.
Per scrivermi, usate zello <at> despammed <dot> com 

 buffer e ti limiti a copiarne una parte con BitBlt, non fai prima?
evviva gli sprechi... comunque oramai ho risolto dichiarando il buffer
come CClientDC anziché CDC (la classe CClientDC fa tutto da sola, che
bello); perň adesso ho un altro problema: l'applicazione č MDI e quando
apro un nuovo file l'immagine non compare immediatamente, la finestra
rimane nera; se perň apro un altro nuovo file e poi lo chiudo subito,
l'immagine del primo file appare nella finestra e funziona tutto
regolarmente; da cosa puň dipendere?
Vi ringrazio per ogni eventuale risposta.

Newsgroup: it.comp.programmare.win32
Titolo: ChangeDisplaySetting

Con questo funzione riesco a cambiare la modalilta' video in Win2000
ma come faccio invece a conoscere l'attuale risoluzione dello schermo
visto che non esiste una GetDisplaySetting e la  EnumDisplaySetting
sembra non funzionare (o forse sono io che non riesco ad usarla
correttamente) ?
grazie

 grazie
ciao

Newsgroup: it.comp.programmare.win32
Titolo: C# reference insieme al pakko

 e se non c'è dove la posso trovare?
Oltre a quello dell'SDK c'e' un language reference all'indirizzo
http://msdn.microsoft.com/vstudio/nextgen/technology/csharpintro.asp
Fausto

> sto scaricando il file da 90 mega dal sito di microsoft
Che file? Il C# non è ancora uscito, credo...
--
Stefano Pettini
Please answer here, not by email.

sto scaricando il file da 90 mega dal sito di microsoft
volevo sapere se c'è anche una guida al linguaggio, una reference insieme al
compilatore


 
http://msdn.microsoft.com/vstudio/nextgen/technology/csharpintro.asp
ho dato uno sguardo veloce a questa reference, ma č molto astratta...
ancora devo vedere quella del SDK, ma spero che ci sia qualcosa di piů
concreto, esempi piů pratici

 Fausto




Lo stiamo cercando anche noi! ma sul sito MS non sembra ci sia (?).
non e' che ci potresti mandare l'URL da dove lo stai scaricando?
grazie
M&F
Xaero <xaero@nospam.x> wrote in message
news:8po7ad$g1m$1...@nread1.inwind.it...


 news:8po7ad$g1m$1...@nread1.inwind.it...


Newsgroup: it.comp.programmare.win32
Titolo: come ottenere il n° di serie Hard Disk in c++

Qualcuno mi sa dire come posso ottenere il numero di serie dell'hard disk
senza passare da un task dos in Win 95/98 con il c++ ?
Esiste una funzione che lo dia direttamente ?
Grazie

 Esiste una funzione che lo dia direttamente ?
Si`, e` l'API GetVolumeInformation.
Hai postato una copia identica di questo stesso messaggio anche
su altri gruppi (it.comp.lang.c++).  Non lo fare, per favore; e` in
violazione della netiquette ed e` una grande scocciatura per chi
segue vari gruppi.  Posta solo sul gruppo giusto, non anche su tanti
altri (in questo caso, it.comp.programmare.win32 e` ovviamente
il gruppo giusto, trattandosi di una questione di programmazione
per Windows a 32 bit).
Alex

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

www.prodev.org
si sta allargando.
nuovi links su AI, C++, Windows, OpenGL.
Ogni suggerimento e' gradito

:

Suggerisco di postare il messaggio una sola volta e con il subject 
prefissato da [OT].
P.S. la metà dei (da java in giù) link punta alla pagina sull'AI.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)
Newsgroup: it.comp.programmare.win32
Titolo: DialogBox in una DLL

Ciao a tutti.
Dovrei aprire un dialog box contenuto in una dll; il problema è il 
cambiamento del contesto per la ricerca delle risorse. Con MFC il 
problema si risolve con la macro AFX_MANAGE_STATE(....), però io sto 
costruendo una dll regolare con win32 senza MFC .Qualcuno ha qualche 
idea di come si cambi il module state senza MFC? Ho guardato la macro ma 
non ci ho capito molto. Grazie!
Phoenix


Non sò se la ricerca delle risorse in una dll sia uguale a quello di un 
eseguibile, cmq per trovarla puoi usare le api LoadLibrary e FindResource.
Ciao, Alessio.

Phoenix wrote:

Tramite il parametro HINSTANCE della CreateDialog.
Newsgroup: it.comp.programmare.win32
Titolo: Chiamata dll da vb

Ho scritto in delphi questa dll:
function Quadrato(Numero : integer) : integer; stdcall;
begin
 result:=Numero*Numero;
end;
e la chiamo da visual basic cosě:
Public Declare Function Quadrato Lib "c:\windows\desktop\Project1.dll" (a As
Integer) As Integer
a = Quadrato(2)
MsgBox a
Ma ottengo stranissimamente come risultato 6852. Come ma? Se le provo in un
progetto Delphi funziona! Grazie
Azathoth

 wrote in message
news:8hm3ld$ser$2...@fe1.cs.interbusiness.it...



Prova ad aggiungere la parola chiave 'byval' nella lista dei parametri della
chiamata VB, perché cosě vai per riferimento e non per valore.
Martino

Forse e` questo il problema?
No Alex, anche in Delphi gli integer sono 16bit, Longint 32bit e Int64 è
comprensibile dal nome!
Ciao
--
- Carlo -
BSSoftware Tips Mailing-List Support

 comprensibile dal nome!
Dipende dalla versione.
In VB dalla vers. 4 in poi, e in Delphi dalla
vers. 2 in poi,  il tipo integer è a 32 bit.
(Integer = signed 32-bit)
Sarebbe quindi consigliabile usare long per VB e longint per Delphi quando
si scambiano interi tramite dll, in quanto sono sempre sicuramente a 32 bit.
--
(*****      MBSoftware       *****)
http://web.tiscalinet.it/mbsoftware

 si scambiano interi tramite dll, in quanto sono sempre sicuramente a 32
bit.
Su questo non ci piove (sperando che nessuno domani li porti a 64!-).
Alex

Comunque il problema era proprio il ByVal mancante! Non ci sarei mai
arrivato da solo, quindi grazie a voi e a Martino Serri
Azathoth


Se puo' esserti utile oltre ai suggerimenti che ti hanno gia' dato,
ti consiglio anche di leggere il documento
	"Extending Visual Basic with C++ DLLs"
che troverai su MSDN. Anche se e' specifico per C++, puo' essere
un valido aiuto a chi vuole estendere VB.
Fausto

 wrote in message
39413D0F...@freelance.it...

Eccellente suggerimento.  Bruce McKinney merita sempre una
lettura, o rilettura, e il suo approccio e` molto solido (le
typelib per le Win32 API, che vengono col suo testo "Hardcore
Visual Basic", ne meritano il prezzo da sole, ad esempio!).
Alex


Speriamo di sě, invece :-)))))


 risultato sballato.
Come potrebbe venire diagnosticato a runtime il mismatch?  Una funzione
di una DLL non porta da nessuna parte la codifica dei tipi che accetta
o ritorna.  E` una delle mille ragioni per cui il miglior modo di
procedere, per interfacciare DLL fra linguaggi diversi, e` l'uso di
type-libraries, che appunto aggiungono tutte queste preziose informazioni
ausiliarie (se non addirittura il COM, che presenta anche altri vantaggi
ma comunque in particolare incorpora l'uso delle type-libraries).
Alex
Newsgroup: it.comp.programmare.win32
Titolo: [OT] Etichetta floppy disk

[OT]
Come faccio a leggere e/o impostare l'etichetta (label) di un floppy?
Esiste una qualche funzione in C che si appoggi al bios ? O anche
utilizzando direttamente la int86() /int386()?
Non vorrei utilizzare un richiamo alla system().
Grazie mille...
N.B.
Rompo le scatole qui perche nel NG del C la domanda è caduta nel
vuoto...

 Come faccio a leggere e/o impostare l'etichetta (label) di un floppy?
 
SetVolumeLabel per scriverla, GetVolumeInformation per leggerla
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

Newsgroup: it.comp.programmare.win32
Titolo: accedere ad access in c

come da oggetto, sto scrivendo un applicativo in C (compilatore visual c++)
che mi legge in input un file .lst,lo splitta e lo invia, tramite un socket
ad un altra macchina...
qui c'e' un altro programma (il socket lato server) che mi va a scrivere
le righe che mi arrivano su un db access...
non posso utilizzare purtroppo il framework mfc (con la classe CRecordset
e simili) ma devo utilizzare il C...
Con Oracle mi trovai costretto ad utilizzare le OCI (un bagno di sangue!!!),
esiste un metodo meno indolore per scrivere dentro access???
ciao e grazie in anticipo!!!
__________________________________________________________________
Abbonati a Tiscali!
Con VoceViva puoi anche ascoltare ed inviare email al telefono.
Chiama VoceViva all' 892 800        
http://voceviva.tiscali.it
-- 
Posted from 
mail-4.tiscalinet.it
 [195.130.225.150] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 
In C puoi usare ODBC (non conosco OCI, ma ho paura che le 
rimpiangerai...).
Se utilizzi il C++ puoi usare ADO (lo puoi usare anche dal C, come tutti 
gli oggetti COM, ma con parecchie "complicazioni") e se usi VC++ puoi 
usare #import per importare le funzioni ADO "wrappate" in modo 
conveniente.
Esiste anche un'altra API specifica per access (DAO) che č per diversi 
aspetti simile ad ADO (forse leggermente piů semplice), ma ti consiglio 
di lasciarla perdere visto che usando ADO (piů o meno con lo stesso 
sforzo...) puoi rendere la tua applicazione indipendente dal sistema DB 
utilizzato.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

Newsgroup: it.comp.programmare.win32
Titolo: LA FAQ

Dove la trovo?

 Dove la trovo?
non esiste e non mi risulta essere in fase di sviluppo
--
- Carlo -
c.b...@libero.it

Non esiste... avevo proposto di crearla prima di Natale, ma
pare la cosa non interessi ;)
-- 
Andrea Laforgia - walkietalkie(at)
libero.it
"Meglio cieco che negro" (Stevie Wonder)
Newsgroup: it.comp.programmare.win32
Titolo: Finestra di dialogo

Problema VC++ 6.0
Ragazzi sapete come si fa per disattivare la x(per la chiusura) di una
finestra di dialogo quando la richiamo?
Su cosa devo agire?
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Su cosa devo agire?
Non so se è proprio quello che ti serve, ma puoi non far comparire la x
della finestra andando a modificarne lo stile dalle proprietà della
finestra: fai in modo che l'opsione System menu non sia ceccata (è così che
si scrive ? :-))


Era esattamente quello che volevo Grazie!!!


Newsgroup: it.comp.programmare.win32
Titolo: Problemi con OCX....

Salve a tutti.
Ho realizzato un ocx con MFC e voglio usare questo controllo in un altro ambiente C++ Builder 3.
Quando vado ad importare questo controllo in quest'ultimo,il compilatore mi genera un errore su un metodo del controllo:
 __property VARIANT_BOOL ChangeButton[short nIndex]={ read=Get_ChangeButton, write=Set_ChangeButton };
dandomi un messaggio 
 Parameter mismatch in write access specifier of property ChangeButton.
Allora sono andato nel codice dell'OCX (generato con VC++6) nella proprietą SetChangeButton (che č di scrittura) per controllare il valore di ritorno e gli argomenti della funzione:
void CSistemi1Ctrl::SetChangeButton(short nIndex, BOOL bNewValue) 
{
 
	// TODO: Add your property handler here
	m_release[nIndex].changebutton = bNewValue;
	SetModifiedFlag();
}
Non riesco a capire il perchč di questo errore!
Sapete aiutarmi?
Grazie anticipatamente.
--
TiscaliFreeNet, libero accesso ad Internet.
http://www.tiscalinet.it
--
Posted from 
twingo.tiscalinet.it
 [195.130.224.85] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 void CSistemi1Ctrl::SetChangeButton(short nIndex, BOOL bNewValue)
^^^^^
Puo` darsi che il mismatch sia fra questi due diversi tipi, BOOL da una
parte
e VARIANT_BOOL dall'altra.  Hanno lo stesso significato astratto, ma, in
concreto, sono di 32 e 16 bit rispettivamente, e comunque non identici.
Alex

Scusate:
Ma la modifica del tipo (BOOL) la devo fare direttamente sul controllo (quindi sul VC++) o da parte del codice in C++Builer.
Quale tipo mi consigliate di metterci?
Grazie.




 Quale tipo mi consigliate di metterci?
Se non hai particolari ragioni di fare diversamente, ti consiglio di usare
VARIANT_BOOL, visto che e` quel che di solito uno si aspetta da
un controllo (e` quello che il VB vede come Boolean, quindi rende la
vita + facile ai clienti VB; un BOOL, il VB lo vedrebbe come Long).
Alex

Newsgroup: it.comp.programmare.win32
Titolo: Icone per programmi

Ciao ragazzi sono alquanto scoraggiato perchè la maggiorparte delle icone
che trovo, sia comprando Cd con immagini che scaricando da internet sono
"for private and non-commercial use only". Qualcuno mi può gentilmente
indicare come posso trovare buone icone freeware?
ciaooo


Dai un'occhiata su 
www.torry.net
 (sezione Graphics) ne trovi sia freeware che non.
Saluti
Newsgroup: it.comp.programmare.win32
Titolo: client e server in c

avete qlc sorgente in c(semplice senza mfc) da compilare sotto win per
costruire un client e/o un server ?
grazie

http://www.winsock.com/winsock/utilities.htm
Antares <sco...@cieslo.sky> wrote in message
news:Jgvj7.42079$%a4.15...@news.infostrada.it...


Newsgroup: it.comp.programmare.win32
Titolo: refresh file system cdrom

Salve a tutti.
La mia "questione del giorno" è: ho scritto un programma che
masterizza un CD utilizzando la libreria GoldenHawk, in Borland C++.
Al termine della masterizzazione su un riscrivibile controllo se i
file sul CD corrispondono a quelli nella cartella di partenza ma vedo
che il riscrivibile non li contiene.
In realtà ho scoperto che sto guardando ancora la sessione precedente
alla masterizzazione per cui se faccio uscire/rientrare il CD con un
certo intervallo di tempo questo viene riletto ed il confronto dei
file funziona.
La questione quindi è: esiste una funzione per forzare la rilettura
del CD in modo da evitare di far fare quel lavoro al CD ROM???
Grazie in anticipo
Matteo

Mi rispondo da solo, nel caso a qualcuno potesse servire.
Ho trovato come far funzionare il processo con cui attendevo
l'inserimento di un CD alla rovescia, utilizzando la
BrodcastSystemMessagge() per inviare una notifica di WM_DEVICECHANGE a
Windows.
bool RefreshFileSystem(char cdrive)
{
  DEV_BROADCAST_VOLUME hdr;
  long result;
  DWORD idrive;
  idrive = (cdrive-'A');
  hdr.dbcv_size = sizeof(DEV_BROADCAST_VOLUME);
  hdr.dbcv_devicetype = DBT_DEVTYP_VOLUME;
  hdr.dbcv_reserved = 0;
  hdr.dbcv_unitmask = 1 << idrive;
  hdr.dbcv_flags = DBTF_MEDIA;
  result = BroadcastSystemMessage(BSF_NOHANG|BSF_POSTMESSAGE, NULL,
           WM_DEVICECHANGE,DBT_DEVICEARRIVAL,(LPARAM)&hdr);
  return (result>=0);
}

Newsgroup: it.comp.programmare.win32
Titolo: Programmare su un sistema X applicazioni per un sistema Y

Salve,
avrei delle domande da porvi:
1) E' possibile sviluppare un'applicazione per Linux ad es. programmando su
Windows 98? In teoria, sarebbe possibile compilare il sorgente per poi
eseguirlo esclusivamente su Linux (tutto questo vale anche da Linux a
Windows)?
2) Se ciň non č possibile in quanto un compilatore per un OS puň generare
solo un tipo di codice macchina, come si fa a scrivere il primo compilatore
per un sistema operativo?
Grazie
--
Artwork

 per un sistema operativo?
Il compilatore e` un vero e proprio componente del sistema operativo, lo
si deve iniziare a sviluppare assieme al kernel (e ovviamente all'inizio
girera` sotto a un'altra piattaforma). Lo step successivo, anche se puo`
sembrare strano, sara` quello di usare il compilatore per compilare se
stesso per la tua piattaforma di riferimento. :)
-- 
Lorenzo
Newsgroup: it.comp.programmare.win32
Titolo: Funzioni di callback

Salve a tutti. Sono da poco entrato nel mondo dello sviluppo di applicazioni
Win32. Qualcuno è così gentile da spiegarmi cosa sono le funzioni di
callback ? Ne sento tanto parlare ma non ho ancora capito il suo
significato.
Grazie



Lo dice la parola stessa "callback" (= richiamo).
Nel caso di Windows, si tratta di funzioni presenti nel tuo codice, ma che
vengono richiamate da Windows stesso. Per esempio, se vuoi sapere quante e
quali finestre sono aperte nel sistema, puoi usare l'API EnumWindows. Dovrai
definire una funzione di callback, da passare ad EnumWindows, che verra'
richiamata da Windows ogni qual volta verra' trovata una finestra. Vedi la
documentazione di EnumWindows, per un esempio concreto di utilizzo delle
"callback functions".
--------------------------------
Inviato via 
http://usenet.libero.it

Grazie per la risposta


Newsgroup: it.comp.programmare.win32
Titolo: Ridimensionare una checkbox in base al suo testo

Salve,
vorrei sapere come ridimensionare una checkbox in base alla lunghezza del 
testo in essa contenuto.
Grazie.

Newsgroup: it.comp.programmare.win32
Titolo: Prendere l'HDC di una finestra

Ciao a tutti,
Ho una funzione che mi chiede l'HDC per poter disegnare.
Il mio problema è come faccio a prendere l'HDC di una finestra?
L'unica funzione che ho trovato è CClientDC dc(this);
ma questa mi prende HDC della finestra principale e io vorrei quello di una
finestra all'interno di quella principale....
Ho provato funzioni tipo GetDC o GetWindoDC ma entrambi mi danno un errore
di questo tipo:
'GetDC' : function does not take 1 parameters
Dove sbaglio?
Grazie a tutti
Ciao Dende

Dove sbaglio?
Probabilmente la stai richiamando dall'interno di una funzione di
classe in cui tale funzione e' sovrapposta .
Per richiamare l'istanza globale devi usare :
 ::GetWindowDC(hwnd) 

  ::GetWindowDC(hwnd)
Scusa la mia ignoranza ma quindi se ho una variabile HDC mio_hdc; come
faccio ad assegnargli l'handle con quella funzione?
Grazie ancora

  ::GetWindowDC(hwnd)
Ennò! ::GetWindowDC corrisponde a CWnd::GetWindowDC! Invece CWnd::GetDC
corrisponde a ::GetDC.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

corrisponde a ::GetDC.
Non capisco cosa vuoi dire .
Se gli serve l'handle della finestra le funzioni sono 
se usa MFC all'interno di un metodo di CWindow
 hdc = GetWindowDC() ;
altrimenti e' sempre disponibile la funzione globale
 hdc = ::GetWindowDC(m_hWnd) ;
dove m_hWnd e' l'handle di CWindow oppure anche un handle di qualsiasi
finestra .
 globale da richiamare 
e'        ::GetWindowDC(hwnd) 

 >Ennň! ::GetWindowDC corrisponde a CWnd::GetWindowDC! Invece CWnd::GetDC
