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

Come faccio ad implementare un pulsante che rimane inserito quando ci
clicco con il mouse ,usando solo le API ?
grazie.

intendi il togglebutton?
Intendo dire che quando faccio clic deve rimanere premuto e
rilasciarsi al successivo clic.
ciao

intendi il togglebutton?
--
ciao
xAERO


 ha scritto nel messaggio
news:39f23ab6...@news.libero.it...



Prova ad inviargli (es. SendMessage()) il messaggio BM_SETSTATE.
susanna


Puoi utilizzare il check-box con stile push-like.
E' un check-box che ha le sembianze di un pulsante bistabile: quando lo
premi rimane nello stato di premuto. Per rilasciarlo occorre cliccarci di
nuovo sopra.
Se il tuo intento č crearlo via codice (senz l'ausilio di MFC) allora la
window-clas č "button" e gli stili sono BS_AUTOCHECKBOX e BS_PUSHLIKE.
Quindi dovrai scrivere una cosa del tipo:
hButton = CreateWindow(
             "button",
             "testo del controllo",
             WS_CHILD|WS_VISIBLE|WS_TABSTOP|BS_AUTOCHECKBOX|BS_PUSHLIKE,
            x,
            y,
            nWidth,
            nEigth,
            HWndParent,
            IDC_CONTROLLO,
            hInst,
            NULL)
alcune informazioni da dare alla funzione le devi completare tu, io ho
evidenziato che devi specificare "button" come window-class e ti ho indicato
gli stili da utilizzare.
Porlock.

Se il tuo intento č crearlo via codice (senz l'ausilio di MFC) allora la
Si credo che sia proprio cio' che cercavo.
Ho risolto anche subclassando "button" e intercettando i messaggi del
mouse ma credo che la soluzione ideale sia quella che mi hai appena
prospettato . La provero' quanto prima .
Ti ringrazio , ciao .

Newsgroup: it.comp.programmare.win32
Titolo: Copia di settori del disco

Mi e' venuto in mente di scrivere una funzione che duplica un floppy
scrivendolo settore per settore .
Da dove comincio ?

 Da dove comincio ?
http://www.codeguru.com/Cpp/W-P/system/misc/article.php/c5765/
-- 
You can't make a program without broken egos.
News 2000 [v 2.06] / StopDialer / PopDuster - 
http://www.socket2000.com
Akapulce portal: 
http://www.akapulce.net

 wrote:
grazie.
Newsgroup: it.comp.programmare.win32
Titolo: Dubbio sull'istanziare un oggetto COM in un pagina WEB

So che quando si ha un controllo è possibile aggiungere al tag <OBJECT>
anche una proprietà (credo CODEBASE) per aggiungere il percorso della dll
che lo contiene oppure del file cab che contiene la dll stessa. Non mi è
chiaro invece come si possa assegnare un percorso per la dll quando si
instanzia da script un oggetto COM. Ad esempio:
    <!---Script per il caricamento--->
    <SCRIPT LANGUAGE=JavaScript>
        function NewInstance(){
            var iobj = new ActiveXObject("Miadll.miobj");
            iobj.hi("Ciao");
        }
    </SCRIPT
Allora, se la dll non è registrata sul PC in cui viene eseguito lo script:
cosa accade precisamente? E come faccio a recuperare l'oggetto da una dll,
di cui conosco il percorso? Ho pensato GetObject(...). E' possibile?

 cosa accade precisamente?
gestisci l'errore nel modo che ti ho indicato
per caricare la dll 'al volo' e registrarla non saprei, perchè vanno
registrate con regsvr32, che accetta solo path locali
dovresti fare tutta una procedura per installare il componente se manca

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

Mi sono da poco buttato sul mondo c++ per win.
Volevo sapere se qualcuno mi potesse consigliare sul compilatore migliore,
il più facile, il più robusto, il più veloce, ecc...
é meglio il cbuilder o il visula c++ ?
oppure esiste quaclosa di meglio ?
Grazie
__________________________________________________________________ Nicolas
ICQ#: 22706763 Current ICQ status: + More ways to contact me i See more
about me: __________________________________________________________________


C'e' una terza alternativa, che e' free:
http://www.bloodshed.net/devcpp.html
Maurus
Newsgroup: it.comp.programmare.win32
Titolo: Elenco Codici d' errore di Windows

Qualcuno ha l' elenco dei codici di Errore di Windows sia 9x che NT?

 Qualcuno ha l' elenco dei codici di Errore di Windows sia 9x che NT?
E` tipicamente nel file winerror.h sul directory di include
dell'SDK o di ogni dato compilatore C/C++ per Windows.
Alex

>Qualcuno ha l' elenco dei codici di Errore di Windows sia 9x che NT?
Dipende da cosa intendi per codice di errore, se parli di quelli che ti
riportano
nel registro eax le chiamate NON andate a buon fine, allora le trovi
in winerror.h, ma puoi anche usare Getlasterror() FormatMessage
Quequero :)))))

 Qualcuno ha l' elenco dei codici di Errore di Windows sia 9x che NT?
winerror.h
per fare il lookup da codice a tipo di errore c'è error lookup con visual
studio.
ciao.

 dell'SDK o di ogni dato compilatore C/C++ per Windows.
Io non sono un programatore quidi non ho tale software pero mi capita spesso
di avere queste schermate blu di errore e siccome sapevo che esisteva una
tabella di errori che la decifresse la andavo trovando inmodo da capire se
l' errore era di tito software o hardware e da dosa fosse scaturito.
Ora ho un pc con nt che quando lo chiudo mi da errore scaricamento memoria e
non so da cosa possa dipendere mi da dei codici di errore che io non so cosa
siano.
Ci gira su un programma scritto con labwiev


wrote:


 Win32 Error Codes
(segue un post da 140 KB....)
Scusa, potresti gentilmente autoestirparti i canini a due a due? Grazie
per l'attenzione concessami.
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

Sorry! Non pensavo fosse cosi lungo 8-/
Speriamo che a qualcuno almeno serva...
8-)
Luc


 8-)
Per fortuna che non siamo in un NG Unix, altrimenti ti avrebbero gia`
crocefisso in sala mensa... :)



Si, sono dei veri e propri Hezbollah da quelle parti... 8-)))
Luc.
Newsgroup: it.comp.programmare.win32
Titolo: C++Builder e GPL sono compatibili?

Ciao,
vorrei rilasciare sotto GPL (GNU Public License) un programmino
che sto scrivendo con il C++Builder 5, ma all'improvviso mi è
sorto un dubbio: il C++Builder usa la VCL (e il mio programma
ovviamente pure) che NON E' GPL... questo crea problemi?
E' possibile rilasciare codice che sfrutti la VCL sotto
licenza GPL o le due cose fanno a cazzotti e con la VCL
si possono distribuire solo gli eseguibili finiti?

 si possono distribuire solo gli eseguibili finiti?
Se fosse come dici, non si potrebbe distribuire *alcun* software con
licenza GPL, perché il sorgente di qualsiasi software, scritto in
qualsiasi linguaggio, utilizza funzioni di librerie distribuite con il
compilatore.  Tu, però, nel rendere il tuo codice GPL, non distribuisci il
sorgente della libreria, distribuisci il sorgente del tuo programma, è ben
diverso.
In ogni caso, se proprio stai valutando una licenza particolare, guarda
anche le possibili alternative alla GPL.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

E ma si sottintende il fatto che un altro porgrammatore possa modificarlo,
ricompilarlo e ridistribbuirlo sempre stto GPL................quindi
servirebbe avere il BCB :)


Beh se è per questo uno può sempre riscriversi
a mano le parti fatte in VCL ;-)
Non è difficile, solo un pò lungo :-D
E comunque ho cercato di limitarne l'uso per quanto possibile...

E se uno avesse poco tempo per imparersi le API????

 E se uno avesse poco tempo per imparersi le API????
Usa le VESPE... ma che domande fai?
A parte che č un programma sotto Windows e quindi
se uno lo vuole portare altrove, VCL o non VCL si
deve riscrivere tutta l'interfaccia per forza e
non ci sono caXXi, io il programma l'ho scritto
perchč mi serviva un programma cosě e ne ho fatto
uno come piace a me: se uno lo vuole come piace a
lui, piglia e se lo scrive lui. Ahň!

Esistono gia diversi progetti sviluppati con C++Builder e distribuiti
sotto licenza GPL.
Per esempio RELO (un IDE per C++ che si interfaccia al compilatore
free bcc5.5)
Vedi 
www.sourceforge.net
.
Ciao. Sergio
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 E' possibile rilasciare codice che sfrutti la VCL sotto licenza GPL
il codice l'hai scritto tu, quindi ne fai quello che ti pare
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.5. C, C++ and ASM developers
                               and beta testers are welcome!

 servirebbe avere il BCB :)
E quindi ? Non capisco che obiezione sia.
Mi sembra quantomeno ovvio che se scrivo un programma per un compilatore
X, se qualcuno vorrą compilarlo dovrą usare lo stesso compilatore X.  

Newsgroup: it.comp.programmare.win32
Titolo: Oggeti come Thread

salve gradirei sapere se c'è qualche modo elegante
per far girare un oggetto come Thread separato.
inoltre gradirei sapere come sià possibile creare e uccidere i Thread
grazie, per chi mi volesse rispondere almeno alla prima domanda (che è
quella x me + importante)

Cosa vuol dire "girare" un oggetto?
Se intendi eseguirne i metodi in modo concorrente fai cosi'
DWORD WINAPI ObjThread(LPVOID lpVoid)
{
  LPOBJECT lpObj = (LPOBJECT) lpObj;
  lpOBj->Execute();
}
Questo thread "avvolge" le funzioni che ti servono. Per richiamarlo dal
codice usa:
HANDLE hThread = CreateThread(NULL,
  0,
  OBjThread,
  lpObj,
  0,
  &tID);
avendo creato l'oggetto puntato da lpObj e tID come DWORD.
Per uccidere il thread usa gli eventi.
ByEZ,
MindFlavor.
--
MindFlavor's Site 
http://web.tiscalinet.it/mindflavor
Mail: mailto:
mindflav...@hotmail.com






-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

Newsgroup: it.comp.programmare.win32
Titolo: [H] DLL e multiple loads

 grazie.
Una DLL viene caricata una sola volta entro lo
spazio di indirizzi di un processo; molteplici
chiamate a LoadLibrary non causano "ulteriori
caricamenti" della STESSA DLL, ma soltanto
l'incremento di un contatore di numero di
riferimenti (mantenuto dal sistema, e non
direttamente accessibile al codice-utente, che
io sappia).
Alex

 crea dei dati nuovi o fa dei casini sulla prima?
No, la DllInit non viene chiamata di nuovo.
Alex
Newsgroup: it.comp.programmare.win32
Titolo: [C/C++] Intercettare chiamate Api

Ciao a tutti,
sto facendo un programma per analizzare su alcuni sistemi le dipendenze di
MS Word con altri programmi, in parole povere vedere quali programmi fanno
partire Word e quali programmi lancia Word.
Quello che faccio č semplicemente tenere una lista di tutti i processi
attivi e quando compare Winword.exe recupero il padre del processo.
Il problema che ho č il seguente: quando Word viene lanciato una seconda
volta si apre una nuova finestra, ma il processo rimane lo stesso...
In teoria quello che (penso) dovrei fare č intercettare tutte le chiamate a
CreateProcess e vedere se il processo che viene richiesto di creare č
Word...
Qualcuno per caso ha qualche suggerimento in merito, magari qualche metodo
piů semplice?
Grazie molte

 più semplice?
Se apri un programma due volte Windows dovrebbe fare due processi
separati; Word mostra due finestre con un'unico processo perché è lui che
lo fa apposta, cioè in avvio lui vede se è già stato avviato, e in tal
caso termina subito dopo aver comunicato all'altra istanza di creare
un'altra finestra (almeno credo).
Dunque intercettare l'avvio di istanze multiple di Word a livello di API è
una cosa abbastanza macchinosa; suppongo che la maniera più semplice non
sia quella di enumerare i processi, bensì le finestre top-level; una volta
trovato l'handle di una possibile finestra di Word, fatti restituire il
processo che l'ha creata, e se si tratta di Winword.exe l'hai trovato.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 processo che l'ha creata, e se si tratta di Winword.exe l'hai trovato.
In effetti Word riceve il messaggio CreateProcess(...) e se c'è già un
processo WINWORD che gira crea semplicemente una finestra nuova...
Il problema nell'intercettare le nuove finestre di Word è che riesco sì ad
ottenere l'id del processo, ma è sempre quello di prima, quindi non posso
sapere da quale programma è stato a lanciare nuovamente Word.
Comunque ho risolto il problema con le librerie DeTours della Microsoft, ti
permettono di intercettare tutte le chiamate API che vuoi (a me basta
CreateProcess() )...
Così facendo posso sapere quando Word viene lanciato di nuovo.

 Cosě facendo posso sapere quando Word viene lanciato di nuovo.
interessanti queste librerie :-)
funzionano anche su Win9x? da dove le posso scaricare?



-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.5. C, C++ and ASM developers
                               and beta testers are welcome!
Newsgroup: it.comp.programmare.win32
Titolo: Parametri

Ciao a tutti,
chi riesce a spiegarmi come trattare in VB6 i parametri dati al lancio di
un'applicazione?
Es: digitanto in ESEGUI notepad pippo.txt mi si visualizza automaticamente
pippo.txt in blocco note, idem se trascino il file di testo sull'eseguibile
e se trascino il txt nell'area di text dell'applicazione.
Grazie anticipate,
Jumping


Ci dovrebbe essere una variabile, ereditata dal vecchio Basic, che si
chiama Command (o Command$).
--
The Secret of Tabboz Island
http://it.geocities.com/tabbozisland

Newsgroup: it.comp.programmare.win32
Titolo: Importare dati in Oracle

Esiste un tool tipo il bulk copy di Sql server per importare i dati in
Oracle direttamente da un file testo?

 wrote in message
news:8cim3o$otl$1...@pegasus.tiscalinet.it...

Newsgroup: it.comp.programmare.win32
Titolo: Vuoi guadagnare 1000 lire l'ora o più navigando in internet ????

Se vuoi guadagnare 1000 lire l'ora o più navigando in internet vai a questo
indirizzo:
http://members.tripod.it/ronnie_tv/navigare_gratis.htm
e ti spiegherò cosa devi fare.
è totalmente gratuito (anzi ti pagano per navigare!!).
Dai un'occhiata, non ti costa nulla. Nessun trucco.

 wrote in message
news:89c69m$164$1...@nslave1.tin.it...


Newsgroup: it.comp.programmare.win32
Titolo: DOCUMENTAZIONE SULLE VCL

Ciao a tutti, avrei bisogna di trovare, magari su qualche sito, della
documentazione in italiano sulle librerie VCL di Borland C++ Builder.
Ringrazio tutti antecipatamente.

Scusate, forse ho chiesto qualcosa OT oppure semplicemente qualcosa di
irrealizzabile.
Il punto è che esiste una guida in linea del compilatore Borland C++ Builder
4.0 interamente in inglese.
La mia domanda era: ci sarà qualcuno che abbia voluto tradurla in italiano o
è semplicemente una utopia??
Grazie per la disponibilità
rufuz ha scritto nel messaggio ...


Newsgroup: it.comp.programmare.win32
Titolo: daemons in window

ciao a tutti, 
devo realizzare il porting di un demone scritto in C++
sotto Linux per Windows 98. Io ho solo esperienza di Unix e nessuna di
programmazione sotto windows. 
Questo demone, a intervalli regolari, si
'sveglia' e compie una serie di operazioni. Non ha bisogno di interfaccia
grafica, così è in linux  tale deve rimanere in windows. 
il problema è
che non so da dove partire! devo usare il C++ (che conosco, qui sviluppano
con Visual Studio) , ma non so come creare un programma che stia residente
sui client e si svegli ogni tot minuti, faccia ciò che deve fare e poi si
sospenda. 
esiste qualche libreria di classi che fa già ciò che voglio?
Come gestisce il multitasking windows? 
grazie e chi vorrà darmi qualche
dritta. 
--------------------------------
Inviato via 
http://usenet.iol.it

 
Cosa vuoi sapere di preciso? L'argomento è un po' vasto per spiegarlo 
in un messaggio e probabilmente oltre le mie capacità in generale :)
Per un'introduzione generica a processi e thread dai un'occhiata al 
capitolo "Processes and Threads" dell'help Platform SDK 
(
msdn.microsoft.com
) o a 
www.codeproject.com
.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

...
ti ringrazio molto, ho risolto: ho capito come impostare il lavoro, e la
sleep() funziona bene. In windows 98 in realtà non esistono i demoni, si
deve fare un'applicazione windows. La domanda sul multitasking non aveva
senso, ma io ho visto sempre e solo unix... 
grazie e ciao


In windows 98 in realtà non esistono i demoni, 
Dai un'occhiata allo sviluppo dei servizi sotto NT, se ti
interessa l'argomento (sono equivalenti ai daemons Unix-like).
Sul Platform SDK c'e' tutta la documentazione.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.programmare.win32
Titolo: [VC++] Configurazione stampante

Chiedo aiuto ancora a logicMind o altri che sappiano, vorrei sapere
come posso fare x configurare la stampante per poter stampare su fogli
di dimensioni diverse (A5 piuttosto che A4).
Ricordo che uso Win98 SE con VC++ 6.0
Grazie

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

Newsgroup: it.comp.programmare.win32
Titolo: [OT] vendo libri: Petzold e VC++ 5°ed

possiedo i seguenti libri che vorrei vendere, separatamente o in blocco:
Programmare Windows - Quinta edizione {Charles Petzold} [Microsoft Press /
Jackson Libri] <1320 pagine> 25EUR
Programmare Microsoft Visual C++ - Quinta edizione {Kruglinski, Sheperd,
Wingo} [Microsoft Press / Mondadori] <1210 pagine> 30EUR
scusate il messaggio di carattere commerciale, ma visto che qui si parla di 
programmare windows, un po' in-topic alla fine ci sono! ;)
per chi fosse interessato, scrivere a:   xaero at inwind punto it

**********************************************************
Programmare Windows - Quinta edizione {Charles Petzold} [Microsoft Press /
Jackson Libri] <1320 pagine> 25EUR
per chi fosse interessato, scrivere a:   xaero at inwind punto it
*********************************************************
Ciao mi interessa il libro Programmare Windows di Petzold, ce l'hai ancora?
Ti lascio la mia e-mail:
robyme...@libero.it
Ciao Roberto
-- 
Questo articolo e` stato inviato dal sito web 
http://www.nonsolonews.it

Newsgroup: it.comp.programmare.win32
Titolo: Due domande sui thread e eventi.

Salve a tutto l'NG.
Uso VC++ con le MFC.
Un esempio di MSDN sull'uso dei thread worker crea due eventi start e kill
per un thread e passa gli handle al thread tramite la solita struttura; non
è meglio crearli ed usare OpenEvent(...) all'interno del thread ? Quali sono
le differenze fra i due modi di agire ?
Come posso fare a passare un dato al thread mentre è già avviato ? Quali
sono le tecniche migliori ?
Grazie
Drugo

 Come posso fare a passare un dato al thread mentre è già avviato ?
variabile globale? :-)
-- 
 < 
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!

 variabile globale? :-)
Un altro modo non esiste ?
Grazie per la risposta.
Drugo

 Un altro modo non esiste ?
PostThreadMessage(dati...) ?
ciao
Gio'

 PostThreadMessage(dati...) ?
orribile


 Un altro modo non esiste ?
perchè? cos'ha che non va?


orribile
Non l'ho mai usata: perchè "orribile" ?
Drugo

 non trovo un altro modo ........
se usi variabili globali vanno protette dall'accesso simultaneo dei vari
thread.
ci sono funzioni dell' api apposite per la cosa oppure la CcriticalSection
con mfc..
ciao
Newsgroup: it.comp.programmare.win32
Titolo: MFC + registrazione programmi + menù new.

Salve,
Il mio problema, per farla breve, è il menu per generare un documento vuoto
(new o nuovo) che appare premendo il tasto destro dove tutti i programmi
registrati mettono la propria iconcina.
La mia applicazione non è in grado generare nuovi documenti e registra molti
tipi, quindi la cosa è solo fuorviante per l'utente..
La soluzzione deve essre banale, ma non sono riuscito a trovare niente in
letteratura :-(
Grazie !!
Giacomo

Giacomo <nob...@no.where> wrote in message
Piao9.57750$Eu.13...@twister1.libero.it...

Nell InitInstance della tua applicazione
dopo aver creato i Template ( CMultidocTemlate.... )
inserisci queste due riche
 EnableShellOpen();
 RegisterShellFileTypes( TRUE );
ciao
JoGiò


Grazie per la dritta, ho capito da dove cominciare a scavare nella
documentazione, ma mi sono espresso male..
Volevo permettere l'apertura dei file dal file manager (File open), ma
evitando di poter creare un nuovo Doc (file new)
Credo di avere la soluzione, anche se non l'ho provata. La riporto per i
curiosi:
CDocTemplate::FileNewName non inizializzato
Giacomo

 Giacomo
Newsgroup: it.comp.programmare.win32
Titolo: Come è ADO in Visual C++

 gestire il tutto via codice) posto questo messaggio dopo aver sfogliato il
testo "programmare in visual c++ quinta edizione"
e aver trovato soltanto riferimenti a DAO

> utilizzare la tecnologia ado in quest'ultimo linguaggio. Sarebbe
Visita [una sola URL molto lunga, verra` certo su piu` righe]:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmscadocodeexamples.asp
Da qui puoi scaricare pacchetti di esempi di usi di ADO da
vari linguaggi Microsoft.
Alex

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

Cerco un profiler per il VC6++ che funzioni anche con i template
(fondamentale questo). Quello compreso con Visual Studio non sono
riuscito a farlo funzionare con i template.
Qualcuno ha qualche esperienza con un prodotto che funzioni?
-- 
Tieni per te il Papero giusto se vuoi la mia email
Sito Papero 1 -> 
http://utenti.tripod.it/papero
Sito Papero 2 -> 
http://user.7host.com/papero/

Qualcuno ha qualche esperienza con un prodotto che funzioni?
se ti interessa ce n'è uno (parecchi in realtà. Uno per VC++, uno per
VB, uno per Delphi) della NuMega che costa più di quanto io possa mai
sognare di guadagnare
-- 
Posted from 
mx1.aruba.it
 [62.149.128.130] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

sognare di guadagnare
Lo conosco, pero' se non l'hanno migliorato negli ultimi anni non
credo che si possa definirlo uno strumento affidabile.
DevPartner (ti riferisci a quello sospetto) e un mostro che vuole fare
troppe cose, e finisce per uccidere la macchina del povero
sviluppatore. 
Io l'ho disinstallato, e ho restituito la licenza al sistemista
dell'azienda. Sarei contento se non fossi costretto ad installarlo.
Altri possibili candidati?

Newsgroup: it.comp.programmare.win32
Titolo: CreateProcess da dentro un servizio NT (VC++)

ciao a tutti,
ho la necessità di creare un servizio che gestisce l'esecuzione in
cascata di vari programmi in maniera più o meno bloccante.
tutto bene, il programma è scritto e fa quello che voglio, ma con un
piccolo neo.
io utilizzo la CreateProcess per lanciare il processo esterno e, per
renderlo bloccante uso la WaitForSingleObject.
il problema è che vorrei che il programma si vedesse in esecuzione col
suo stdout, di modo che un utente possa vedere che sta succedendo senza
andare a scartabellare nei log.
la procedura per il lancio del processo è la seguente (vi ricordo che
siamo nel thread di un servizio):
STARTUPINFO startupInfo;
PROCESS_INFORMATION procInfo;
GetStartupInfo(&startupInfo);
startupInfo.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
startupInfo.wShowWindow=SW_SHOWNORMAL;
.......
if(!CreateProcess(NULL,program,NULL,NULL,FALSE,CREATE_NEW_CONSOLE,NULL,NULL,&startupInfo,&procInfo))
//ERRORE!!! GetLastError();
else
WaitForSingleObject(procInfo.hProcess,INFINITE);
come detto prima, funzia ma non si vede la finestra del programma
console che eseguo. avete qualche idea/suggerimento?
ciao e buona giornata,
l
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


[...]
I servizi e i programmi eseguiti da un servizio girano in un desktop 
diverso da quello utente e quindi non sono normalmente visibili.
Puoi (in parte) evitare il problema impostando il servizio come 
"interattivo" (lo puoi fare in fase di registrazione del servizio o da 
pannello di controllo).
In questo caso le finestre create dal servizio verranno visualizzate 
sul desktop dell'utente loggato.
Ovviamente ci deve essere un utente loggato per vedere le finestre.
Vista la natura dei servizi è sempre preferibile che questi utilizzino 
l'event log per registrare le loro attività e non si basino sulla 
presenza di un utente loggato, quindi valuta attentamente se vale la 
pena di imporre questo vincolo e se il tuo servizio possa funzionare 
correttamente anche se non ci sono utenti loggati (se viene avviato al 
boot, ad esempio). 
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)
Newsgroup: it.comp.programmare.win32
Titolo: Domandone sulle API

Per semplicità ho riassunto tutti i miei dubbi delle ultime 48 ore in un
unico messaggio:
 1. Come faccio a prendere l'handle del pulsante Start e del listview che
contiene le icone del desktop?
 2. Come faccio a disegnare finestre non rettangolari... ovali, circolari,
etc...?
 3. Dove posso trovare delle info sui "class name"?
 4. E' possibile settare un Hook senza far risiedere la procedura di hook in
una dll? Come?
Ecco, è tutto =)
Grazie
                                    ^ÐunE^

 una dll? Come?
Si`, con SetWindowsHookEx, purche` l'hook sia relativo a un
solo thread (appartenente allo stesso processo che chiama la
SetWindowsHookEx stessa); basta che le passi 0 come HINSTANCE,
invece dell'HINSTANCE di una dll.
No, in altri casi: MSDN dice infatti, e cito,
"""
If the dwThreadId parameter is zero or specifies the identifier
of a thread created by a different process, the lpfn parameter
must point to a hook procedure in a dynamic-link library (DLL).
Otherwise, lpfn can point to a hook procedure in the code
associated with the current process
"""
Alex

Non riesco a passare la mia EnumChildProc a EnumChildWindows... Potete
fornirmi un esempio?
^DunE^

 fornirmi un esempio?
Ecco un esempio-giocattolo, da compilare come
applicazione di console:
#define STRICT
#include <windows.h>
#include <stdio.h>
void mostra(HWND h, int indent)
{
    char classname[256];
    GetClassName(h, classname, 256);
    for(int i=0; i<indent; ++i)
        printf(" ");
    printf("%s\n", classname);
}
BOOL CALLBACK MyEnumChildProc(
  HWND hwnd,      // handle to child window
  LPARAM lParam   // application-defined value
)
{
    int indent = (int)lParam;
    mostra(hwnd, indent);
    EnumChildWindows(hwnd, MyEnumChildProc, (LPARAM)(indent+4));
    return TRUE;
}
int main()
{
    EnumChildWindows(0, MyEnumChildProc, (LPARAM)(0));
    return 0;
}
Newsgroup: it.comp.programmare.win32
Titolo: [VC++6] Intellisense

Ciao a tutti,
ho un problema con l'intellisense di visual c++ 6. in pratica l'intellisense
non si attiva per nessuna delle funzioni o delle interfacce che compongono
le DirectX 9. Dato che sto cercando di imparare ad usarle, l'intellisense mi
sarebbe molto utile per sapere i parametri delle funzioni e i metodi delle
interfacce senza dover ogni secondo far riferimento alla guida...
avete idea di come possa "insegnare" a vc a mostrarmi l'intellisense anche
per le DirectX9?
grazie in anticipo, assa.
--
gosclient: 
http://members.xoom.it/gosclient/
join the mailing list: 
http://groups.yahoo.com/group/gosclient/join
icq: #215876894

 ho un problema con l'intellisense di visual c++ 6.
"Intellisense"? Vorresti forse dire "Code completion", "Code insight" e
roba simile? Se sì allora l'eventuale risposta interesserà anche a me,
perché non mi funziona neanche per OpenGL, e mi da' fastidio ogni volta
andare a guardare il prototipo della funzione di turno in MSDN.
ciao.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 volta andare a guardare il prototipo della funzione di turno in MSDN.
capiamoci:
dichiaro una variabile di una classe qualsiasi, la chiamo ciccio.
quando nella finestra del codice scrivo ciccio. mi viene fuori una lista di
tutti i membri della classe. allo stesso modo quando scrivo una funzione,
nel momento in cui apro la parentesi, tipo MessageBox( mi viene fuori la
dichiarazione della funzione.
questo a casa mia è l'intellisense, poi ognuno se lo chiama come vuole ;)
ad ogni modo io ho "risolto" installando un add-in decisamente utile che si
chiama Visual Assist (non dovresti avere problemi a reperirlo con google).
questo potenzia l'intellisense dandoti anche tutta una serie di altre
opzioni. purtroppo però non è gratis, la trial dura 30 giorni.
ciao, assa.


 ciao, assa.
detesto le versioni trial, solo per questo non lo scaricherò (anche se
devo ammettere che sarebbe decisamente utile...)


Newsgroup: it.comp.programmare.win32
Titolo: Vicual C++ ActiveX Qt

Ciao,
sto utilizzando le librerie Qt (
www.trolltech.com
)  per gestire
un activex (WindowsMediaPlayer). Sebbne le Qt forniscono
Classi e un tool molto efficace per il disegno della GUI rimane
molto oscuro come gestire via codice l'activex.
Sapreste darmi qualche info anche generale e non legata alle Qt ??
grazie,
saluti.
P.s.: nn mi dite che sono OT pure qui .... SOB!
-- 
O=O=O AriZOnA O=O=O

FAtto!! se qualcuno serve qualche info ... ask me !!
-- 
O=O=O AriZOnA O=O=O

Scusami ma le Qt sono Cross-Plattform come le wxWindows ?
Le WxWindows forniscono anche una sorta di Framework tipo MFC. 
Ciao.

 ha scritto nel messaggio
news:c0t6bv$dqk$1...@grillo.cs.interbusiness.it...

Newsgroup: it.comp.programmare.win32
Titolo: Comè un ENABLE e DISABLE

Salve a tutti
scusate, vi chiedo come si può abilitare e disablilitare un pulsante una
listbox e un edit
io so che in Visual Basic metto text1.enable oppure button1.enable ma in C
o meglio con lo Lcc Win32 ?
un Grazie in anticipo.
--
**** Carlo ////

listbox e un edit
EnableWindow().
Saluti,
    Mardy

Newsgroup: it.comp.programmare.win32
Titolo: Come conoscere l'HWND di una finestra figlia.

Salve a tutti,
ho un piccolo problema e vorrei il vostro aiuto.
Ecco, vorrei conoscere l'HWND di una finestra figlia conoscendo il suo
"Class Name". Ho anche a disposizione l'HWND e il "Class name" del parente.
Grazie mille...
Matteo Ferrini

"Class Name". Ho anche a disposizione l'HWND e il "Class name" del parente.
FindWindow
--
Andrea Laforgia (ICQ 87230455)
------------------------------ 
#exclude <windows.h>

FindWindow
 ???
FindWindowEx mi sembra + corretta!
--
- Carlo -

FindWindowEx mi sembra + corretta!
Si', FindWindowEx e' quella da usare se si cerca una finestra figlia.


Si', FindWindowEx e' quella da usare se si cerca una finestra figlia.
Non voglio aprire una nuova polemica, infatti mi ero limitato a scrivere
questo evitando frasi tipo "Assicurati di sapere quello che stai dicendo
prima di rispondere"! :-)
Rilassati...
--
- Carlo -

Rilassati...
Si', si', ciao ciao...


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

Sto gestendo il messaggio WM_QUERYENDSESSION per determinare se l'utente sta
chiudendo la sessione corrente. Tutto ok, sono riuscito senza problemi.
Sarebbe però anche possibile determinare l'esatta azione che ha svolto?
Intendo, è possibile determinare se l'utente ha effettuato uno shutdown, se
ha solo effettuato una disconnessione o magari un cambiamento di utente
ecc...?
Grazie mille.
Luca Carlon



Per saperlo devi esaminare lParam: se vale 0 l'utente ha chiesto lo
shutdown del sistema, mentre se i bit di ENDSESSION_LOGOFF sono
impostati si tratta di una disconnessione dell'utente.
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, 
			WPARAM wParam, LPARAM lParam)
{
    switch (msg) 
    {
           case WM_QUERYENDSESSION:
		if (0 == lParam){
			// shutdown
		} elseif (lParam & ENDSESSION_LOGOFF){
			// logoff
		}else{
			// altro      
		}     
         default:
              return DefWindowProc(hWnd, msg, wParam, lParam);
  }
  return 0;
}
Attenzione perche' NT (non 2000 o XP) non imposta il flag di logoff,
quindi forse bisogna giocarsela anche con il messaggio WM_ENDSESSION
-- 
ciao, hal

 ciao, hal
Grazie ancora, Luca Carlon.
Newsgroup: it.comp.programmare.win32
Titolo: vcproj con VS6

Non riesco ad aprire i progetti vcproj con "Microsoft Visual Studio 6.0"
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Non riesco ad aprire i progetti vcproj con "Microsoft Visual Studio 6.0"
Allora è tutto ok. Il baco sarebbe se vosse il contrario... ;) 
-- 
Luc

 Non riesco ad aprire i progetti vcproj con "Microsoft Visual Studio 6.0"
Guarda che deve esserci un programma command-line da qualche parte che 
trasforma le soluzioni .sln di Visual C++ 7 in file .dsw e i progetti 
.vcproj in .dsp.
Aspetta che lo cerco...
Eccolo: 
http://www.codeproject.com/tools/prjconverter.asp
Newsgroup: it.comp.programmare.win32
Titolo: Problema con gli stili di una combo box

Pochi giorni fa ho visto un messaggio di "GB" dove chiedeva come fare a
fare accettare ad una combo box solo numeri.
Io ho un problema simile. Pensavo che non si potesse risolvere ma mi ha
risollevato il morale la funzione GetComboBoxInfo().
Io vorrei creare una combobox con lo stile ES_PASSWORD, in modo che ogni
carattere che immetto vedo l'asterisco. Ho provato con questo codice:
pcbi.cbSize=sizeof(COMBOBOXINFO);
GetComboBoxInfo(finestra[0], &pcbi);
SetWindowLong (pcbi.hwndItem, GWL_STYLE, ES_PASSWORD | GetWindowLong
(pcbi.hwndItem,GWL_STYLE));
ma non funziona assolutamente!
Qualcuno potrebbe aiutarmi...
Grazie a tutti quelli che mi aiuteranno...
---
ReactOS.com (
http://www.reactos.com
)
The clone of Windows(r) NT
---
 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Grazie a tutti quelli che mi aiuteranno...
Figurati... :o)
ZaZy

Newsgroup: it.comp.programmare.win32
Titolo: [C++Builder]: prendere un dato da Edit

Ho creato una Edit box ma non 
riesco a capire come fare ad estrarre il valore numerico che ci
scrivo per assegnarlo ad una variabile.
Edit->Text è Ansistring ma io voglio il numero, ossia un long.
Qualcuno sà cosa posso usare?
Grazie
              Davide
e-mail: you must sobstitute NOSPAM with freemail

Usa la funzione StrToInt
oppure ustilizzando lo standard puoi scrivere
	AnsiString s("pippo");
	int i = atoi(s.c_str());
Fausto


Puoi fare cosě:
int n=(Edit1->Text).ToInt();
Lorenzo.

Usa:
Edit->Text.ToInt();
Infatti esiste questa comoda funzione membro:
int __fastcall ToInt() const;
nella classe AnsiString.
Inferno
Davide <vc...@NOSPAM.it> wrote in message
7tl17ss86shfgr3vu...@4ax.com...


               Davide
meglio usare Edit->Text.ToDouble() visto che vuoi assegnarlo ad un long (per
non perdere precisione)
SISMA


Mi spieghi dove si perde precisione in una conversione tra ToInt a long
visto che il Builder gira su sistemi a 32 bit????
Ti rammento che la dichiarazione di ToInt e'
	int __fastcall ToInt() const;
Fausto

 wrote in message
38746B68...@freelance.it...

Scusa, ricordavo male... :-((
Ciao,
SISMA
Newsgroup: it.comp.programmare.win32
Titolo: File di precaricamento Windows

Ciao a tutti,
Mi ricordo che esiste un file in Windows che permette di eseguire operazioni
sui file (cancellazione, spostamento, etc.) all'avvio dell'OS, ovvero prima
che vengano caricati i servizi.
Sapete dirmi come si chiama? C'č ancora nelle nuove versioni degli OS
Microsoft?

 Sapete dirmi come si chiama?
autoexec.bat?


Noooo, l'autoexec.bat è praticamente ignorato da Windows, esiste, o esisteva
fino a NT4 un file locato nella directory System o Sytem32 editabile
normalmente con il notepad nel quale potevi specificare con una precisa
sintassi (non Batch) i file da toccare.


Credo ti riferisca al wininit.ini
M.


Mitico è lui, sai se funziza anche con W2K e WXP?

"--- PINKU ---" <nob...@nowhere.xxx> ha scritto nel messaggio
news:b6u4kn$p9t$1...@newsreader.mailgate.org...

Credo di no. Comunque maggiori dettagli li trovi qui:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base
/movefileex.asp
M.
Newsgroup: it.comp.programmare.win32
Titolo: Arrotondamento ... particolare

Ciao a tutti,
avrei questo problemino.
Sia dato un numero F di tipo double.
Dovrei calcolare il numero double FNEW, ove FNEW >= F se F > 0, <= F se F <
0,
che di F considera solo la cifra più significativa, mentre le altre sono 0.
Es.F = 123 --> FNEW = 200 ;
     F = 0.15--> FNEW = 1
     F = 7540--> FNEW = 8000
     F= -15-->FNEW = -20
ecc.
Nessuno è a conoscenza di una funzione che realizzi questi calcoli?
Grazie
Ellebi

ecc.
se FNEW deve solo essere >= F se F > 0, con un F 123 FNEW potrebbe
essere anche 124... se di F consideri solo la cifra piů significativa
(quindi l'1) potrebbe addirittura essere FNEW = 101, che č maggiore di
F considerando solo la cifra piů significativa (100)
-- 
]\/[ad]\/[age (
www.mindreamz.net
)
"Un Maestro insegue semplicemente la sua visione di Eccellenza in
qualunque cosa sta facendo e lascia agli altri decidere se sta 
lavorando o giocando. A lui sembra sempre di fare entrambe." - Anonimo

Newsgroup: it.comp.programmare.win32
Titolo: visualizzare una bmp

Scusate, č da poco che sto cercando d'imparare a programmare con VC++,
qualcuno potrebbe spiegarmi come poter visualizzare una bmp all'interno di
un dialogo creato con l'MFC ?
grazie Simone

 un dialogo creato con l'MFC ?
Usi un CStatic e ne chiami la funzione SetBitmap dopo avere
ottenuto l'HBITMAP della bitmap che ti interessa, ad esempio
con l'API LoadImage se vuoi leggere un file di tipo .BMP (la
classe CBitmap, mi pare, supporta solo il caricamento risorse).
Alex

Newsgroup: it.comp.programmare.win32
Titolo: lo so che potrebbe essere ot

c'è qualcuno la fuori che sa dove trovare un buon manuale a compilatore per
il linguaggio Assembler

Ciao,
    in 
www.programmazione.it
 Area Linguaggi->Assembler trovi sia un tutorial
introduttivo in Italiano sia gli assemblatori da scaricare.
A presto :-)
Marco Abis
http://www.programmazione.it
 Il sito Italiano di riferimento per lo
sviluppatore
ab...@programmazione.it


http://webster.cs.ucr.edu/Page_asm/ArtofAssembly/ArtofAsm.html

Newsgroup: it.comp.programmare.win32
Titolo: [newbie]Salvare in formato testo una stringa AnsiString ?

Salve, vi chiedo aiuto per una cosa che sicuramente vi risulterà banale ma
che a me sta facendo impazzire !
Io ho in Borland C++Builder un TRichText control, o in generale qualsiasi
altro controllo che visualizza testo. Vorrei poi poterlo salvare in un file
di testo con comandi ANSI C (fopen, fwrite etc...)
come faccio?
In generale il problema è che il controllo mi restituisce un AnsiString per
il testo !
grazie mille !!
jojo

 ha scritto nel messaggio
news:QZ4h8.5758$uN5.1...@twister1.libero.it...

La classe AnsiString fornisce la funzione membro c_str() che restituisce la
stringa in "stile C", cioè un puntatore a caratteri (l'area di memoria
coinvolta è gestita internamente). Esempio:
AnsiString Stringa = "Hello, world!";
char* stringaC = Stringa.c_str();
puts(stringaC);
Marco

 Marco
Grazie mille !
jojo
Newsgroup: it.comp.programmare.win32
Titolo: gethostbyname

Ragazzi aiutatemi vi prego :)
Mi sto impegnando con il C dopo un periodo un po' lunghetto...
Sto cercando di imparare la programmazione dei Socket e cosě mi sono 
dato una lettura a quanta piů documentazione mi possa fornire Santo Google.
So che gethostbyname č deprecata, ma sto provando comunque ad usarla, e 
non mi risolve mai l'host.
Il codice č questo:
long hostip(char *lptStr)
{
     int retval=0;
     struct hostent *hostinfo=NULL;
     printf(" -> Resolving host: %s\n", lptStr);
     hostinfo = gethostbyname(lptStr);
     if (hostinfo!=NULL)
     {
         printf(" -> Resolved host %s: %s", lptStr, hostinfo->h_name);
         return 1;
     }
     else
     {
         printf(" -> Host %s not resolved.\n\n", lptStr);
     };
     return 0;
};
Praticamente hostinfo rimane sempre a NULL.
Ho provato con:
1 - hostip("
www.google.it
");
2 - hostip("
www.google.it
\0");
3 - hostip("
http://www.google.it
");
4 - hostip("
http://www.google.it
\0");
ma niente da fare... la chiamata a gethostbyname mi restituisce sempre NULL.
Per inciso: sto usando Dev-C++ 4.9.9.0 e ho linkato al progetto la 
libreria libws2_32.a
Cosa sbaglio?
Thx in anticipo!

Scusate ho risolto da solo :)
Dando un'occhiata a WSAGetLastError() ho capito che dovevo prima di 
tutto fare un bel WSAStartup(...).
Non sapevo che anche per gethostbyname dovessi usarlo.
Comunque ora va una meraviglia :)
Domani mi attendono altre prove...
URRAAAAAA :D :D :D

 tutto fare un bel WSAStartup(...).
Beh, dai, è andata bene, solo un ora :-)
Comunque è buona norma controllare sempre il codice di errore quando la 
funzione fallisce, non solo opzionalmente per debug. Devi distinguere in 
ogni caso se la funzione fallisce per un errore o perchè il DNS ha 
risposto picche.

 risposto picche.
In effetti d'ora in avanti controllerò sempre l'ultimo errore ricevuto 
(sempre che si verifichino errori) con la funzione apposita (pasrlo in 
generale e non di WSAStartup).
P.S.: Su MSDN ho letto che gethostbyname è deprecata e che chi è intento 
a utilizzare winsock.h/winsock2.h è sollecitato a passare all'utilizzo 
di GetAddrInfo().
Io però sto sviluppando un'applicazione con un'occhio di riguardo alla 
portabilità verso Linux o comunque oltre Win32.
Sarò anche OT, ma sai niente se gethostbyname sta morendo SOLO su win o 
anche dalle altre parti?
-- 
Quando noi ignoranti eravamo di più,
tutto era più bello...
(Adriano Celentano)

anche dalle altre parti?
Tranquillo che le chiamate standard non muoio cosě facilmente.
-- 
sito Papero 2 (database):       
http://user.7host.com/papero/
sito Papero 3 (passatempi):     
http://digilander.iol.it/davidequack
Newsgroup: it.comp.programmare.win32
Titolo: Stack overflow

Ho provato a compilare e eseguire su windows xp con visualc++ express
un programma di puro calcolo che avevo scritto in c per una
workstation linux e che in quell'ambiente funziona regolarmente,
compilato con gcc. Al momento dell'esecuzione ottengo però un errore
di stack overflow, e nella finestra di disassembly è evidenziata
questa linea
00412C77  test        dword ptr [eax],eax
il codice, a parte la sezione di calcolo, è essenzialmente questo
*************************************************************************
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
	FILE *ciccio;
	FILE *gaussint;
	FILE *histo;
	FILE *cocco;
	char outfile[15];
	int p, cumm,conf,numit,nc, ind, c, cum, cumi, i, j, k, l, m, n, seed,
NT,ns, s[17][50000], flag, ntmax, iground,ihien,indice[1001];
	double je[25][25], mf, acconc, PT[50000], MCPT[50000],trans;
	double T, Tmax, q, conc, volume, spigolo, Teff;
	float x[250],y[250];
	long k0, trial;
	double hcum,energia,sd, rj, sm,
h[50000],z,ground,hien,span,deltae,DT;
	k0=1;
	//T=.2;
................................................
................................................
fclose(gaussint);
fclose(histo);
fclose(ciccio);
fclose(cocco);
return(0);
}
**************************************************************************************************
Non ho mai usato prima visualc++, e non ho idea se, ad esempio, gli
#include siano corretti per questo ambiente.
Qualcuno ha un suggerimento? Grazie e ciao

 scuola, Mazinga all'asilo!"
Non sono un programmatore, quindi non mi offendo proprio :) Ho usato
la forza bruta per risolvere un problema di fisica e non ho alcuna
pretesa di eleganza. Il fatto è che sotto linux gira regolarmente, se
non aumento le dimensioni degli arrays, e sono sicuro che qualche anno
fa un programma analogo, scritto con la stessa mancanza di eleganza
per gcc, girava in visualc++ 5.0 senza problemi. Boh...

	//T=.2;
e vorrei vedere .
Lo stack generalmente e' una risorsa molto limitata .
Puoi dire al linker di aumentarlo ma e' preferibile usare la heap per
allocare oggetti di grosse dimensioni e quini usare funzioni e
operatori di allocazione dinamica tipo malloc del C o new del C++ .

 scuola, Mazinga all'asilo!"
OK, grazie mille! Domattina ci rimetto le mani. Ciao!

 di stack overflow
La soluzione piu' semplice e' dichiarare le variabili prima della riga 
contenente "main". Alternativamente, o in aggiunta, si puo' aggiungere 
le parola "static" appena prima delle dichiarazioni delle variabili. In 
tali modi, lo spazio per tali variabili non viene allocato sullo stack.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila


wrote:

Grazie mille anche a te!
Newsgroup: it.comp.programmare.win32
Titolo: Header file MP3 .... Durata totale

Come faccio a sapere la durata totale di un file MP3 ?
Grazie.

 Grazie.
Prego
--
  Jerle Shannara
Per rispondere in email sostituisci JERLEANTISPAM con inwind
homepage 
http://utenti.lycos.it/jerleshannara


E come faccio a sapere il bitrate ?? In quale posizione del file si trova ??
Grazie

www.wotsit.org
scaricati le specifiche del file mp3
antonio

 > Come faccio a sapere la durata totale di un file MP3 ?
io ti consiglio di leggere
http://www.mp3-converter.com/mp3codec/
dove puoi trovare il formato dell'header mp3 oltre ad un po' di
spiegazioni sulla possibilità di avere bitrate variabili
ciao :)
ryo

Newsgroup: it.comp.programmare.win32
Titolo: GlobalAlloc e thread

Ciao a tutti,
ho un problema di questo tipo:
In un DialogBox ho una ListBox Owner Drawn, l'applicazione all'avvio
esegue un thread che fa delle attività in continuazione peridodicamente
visualizza degli elementi nella ListBox.
All'inizio la ListBox non era Owner Drawn perchè visualizzava solo una
stringa per elemento e tutto funzionava, dal thread facevo cosi':
SendDlgItemMessage(hDlg, LST_DEVICES, LB_ADDSTRING, NULL,
(LPARAM)StringaDaVisualizzare);
Passando all'Owner Drawn devo gestire il messaggio WM_DRAWITEM che
ritorna in lParam una struttura con una serie di informazioni tra cui un
puntatore alla stringa da visualizzare. Dato che la stringa viene
allocata in un thread separato mi trovavo, ovviamente, con il puntatore
che non referenziava la stringa voluta.
Ho cosi' usato GlobalAlloc per allocarla nel thread e sembra ora
funzionare. L'unico grosso problema che resta è dato dal fatto che non
riesco a liberarla, dove gestisco il messaggio WM_DRAWITEM faccio tutte
le attività necessarie e alla fine uso GlobalFree ma mi da sempre
un'eccezione.
Ho provato sia usando la GlobalAlloc con il flag GPTR (senza Lock
quindi) che con GHND ma ottengo sempre lo stesso risultato.
Qualcuno ha qualche idea da auggerirmi?
Grazie
	Fabrizio

Ho capito qual'è il problema in realtà.
L'evento WM_DRAWITEM avviene piu' volte per lo stesso elemento (anche a
fronte di una sola senddlgitem...).
Quello che accade è che al primo evento eseguo una GlobalFree del
puntatore e di conseguenza i successivi eventi si trovano con un
puntatore non valido.....

-- 
______________________________
Fabrizio Guglielmino
Infit Srl
Software Engineering
http://mac.infitsrl.com
http//
www.infitsrl.com
______________________________