mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: Errore in Debug! VC++6.0

Salve a tutti,
nel debuggare una mia applicazioncina step-by-step mi sto scontrando con un
comportamento che non riesco a capire.
La seguente funzione è legata all'evento di pressione di un pulsante della
finestra di dialogo:
void CCopiamiDlg::OnRemoveOrig()
{
 CString removePath;
//m_ListOrigin è un controllo di tipo "CListBox"
 int pos=m_ListOrigin.GetCurSel();
 bool find=FALSE;
 if (pos != LB_ERR)
 {
[...]
quando eseguo l'if mi appare un messaggio di "Microsoft Visual C++ Debug
Library" di "Assertion Failed". Il messaggio indica che l'Assertion è stata
scatenata dal file "afxcoll.inl" alla linea 233 ma non ho la più pallida
idea di cosa possa significare:
[...]
_AFXCOLL_INLINE CString& CStringArray::ElementAt(int nIndex)
 { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  return m_pData[nIndex]; }
[...]
Qualcuno sa aiutarmi in qualche modo o sa indicarmi quali elementi della mia
applicazione verificare?
--
Bye
Johnny
http://digilander.iol.it/Superpork


Stai usando uno string array da qualche parte ?
Se č cosě, l'indice che stai usando per selezionare una stringa dell'array č
fuori dai limiti.
Immagino che tu hai un array di stringhe con tanti elementi quanti quelli
inseriti nel listbox, e selezioni quindi la stringa di indice equivalente
all'indice dell'elemento selezionato del list-box.....almeno č questo č ciň
che m'immagino dal tuo pezzo di codice.
In ogni caso qualcosa non va e stai eccedendo la dimensione dell'array.
Prova a controllare il valore di pos ed il numero degli elementi contenuti
nell'array (::GetSize( )).
Ciao
Porlock

 all'indice dell'elemento selezionato del list-box.....almeno è questo è
ciò


 essere generata un'ASSERT proprio su quell'istruzione....
Infatti secondo me il debugger per qualche motivo sbaglia.
Magarai prova a fare una bella Rebuild All, per rigenerare i precompilati,
gli obj, ecc...
Po riprova, quindi cerca la prima istruzione dopo
if (pos != LB_ERR)
{
che utilizza appunto la variabile pos, ed inizia a controllare dal di lì.
Ciao
Porlock

 indice restituito dal ListBox....
Hai per caso qualche array in watch-list???
-- 
Luc.

Si ma è un array che non appartiene allo scope della funzione (infatti non
riesce a visualizzare un valore la finestra del Watch)
--
Bye
Johnny
http://digilander.iol.it/Superpork
"Luc" <XXX...@katamail.comXXX> ha scritto nel messaggio
news:MPG.171bdc0da...@tornado.fastwebnet.it...

Newsgroup: it.comp.programmare.win32
Titolo: listbox in vc++

salve,
sarei grato a chi mi desse una mano a risolvere uesto mio problema.
ho una listbox in vc++ dove vengono visualizzate delle stringhe, quando lo
spazio della listbox si esaurisce faccio apparire lo scroll.
il problema è che vorrei che si posizionasse sull'ultima stringa
visualizzata tutte le volte.
come posso fare?
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/



 come posso fare?
Se con "ultima stringa visualizzata" intendi l'ultima della listbox, hai
provato ad inviare un messaggio tipo WM_VSCROLL con SB_BOTTOM o
SB_LINEDOWN come wParam?
Paolo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 come posso fare?
Provo a risponderti sperando di non aver capito male: non puoi provare
con
SetCurSel(GetCount()).
Con GetCount dovresti avere il numero di stringhe, e quindi di Item e
con
SetCurSel ti ci posizioni.
Ovviamente questo ti posiziona in fondo alla lista.
Ciao
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

grazie raga,
provo i vs suggerimenti.
ciao


ringrazio tutti coloro che mi hanno risposto,
con il vs aiuto ho risolto il mio problema.
grazie ragazzi.
ciao.

Newsgroup: it.comp.programmare.win32
Titolo: Ancora liste...

Salve.
Ho 2 variabili CStringList.
Una lista č riempita.
Vorrei assegnare il contenuto della lista anche ad un'altra.
ES:
CStringList lista1,lista2;
..
riempimento lista1
..
lista2 = lista; //errore!!!
Come posso assegnare ad una lista il contenuto di un'altra senza fare lo "scroll" della lista piena?
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

 Come posso assegnare ad una lista il contenuto di un'altra senza fare lo
"scroll" della lista piena?
L'unica cosa che mi viene in mente e`: creare un CArchive
(probabilmente basato su di un CMemFile), serializzarci
dentro la variabile piena, poi deserializzarlo su quella
vuota.  Molto meno efficiente dello "scroll" che vuoi
evitare, naturalmente, ma se hai scommesso con qualcuno
che si poteva fare, cosi` potresti vincere.
Devo dire che, molto spesso, simili scommesse mi sembrano
l'unica possibile motivazione sensata (oddio... per una
qualche definizione di "sensata"!) di molte richieste
che vedo su questo gruppo.  Immagino che ci sia un "giro"
vero e proprio, sicuramente clandestino, di scommesse su
come si puo` o non si puo` svolgere un qualche compito in
Win32, roba da eclissare il "toto nero" e fors'anche
l'Enalotto.
Non fosse per le scommesse, uno preferirebbe naturalmente
usare classi perfettamente standard del C++, come ad
esempio qui, che so:
    #include <list>
    #include <string>
    typedef std::list<std::string> mystringlist;
piuttosto che non classi proprietarie, non portabili,
meno efficienti, *E* funzionalmente piu` povere, come
CStringList.  Con questa mystringlist, l'operatore di
assegnazione funzionerebbe come uno si aspetta, ecc ecc,
con tutta l'incredibile combinazione di portabilita`,
generalita`, ed efficienza, che dopo un po' di pratica
uno finisce per aspettarsi dalla libreria standard C++.
Ma cosi` facendo, addio all'introito extra delle varie
scommesse del suipotizzato "giro clandestino", ahime`.
Alex


--
Ciao, Luca

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

Hell0,
Can any body tell me how to get the instance of the application from
with in. I need to pass the hinstance of the program which is making a
call

 
GetModuleHandle(0) (HMODULE e HINSTANCE sono la stessa cosa).
Alex
Newsgroup: it.comp.programmare.win32
Titolo: Programmare in C

Ragazzi, vi chiedo un piccolo aiuto, dove trovo, in versione gratuita, un
buon compilatore C????
Grazie a tutti

 buon compilatore C????
Troverai i link ai compilatori C gratuiti che suggerisco nel capitolo
introduttivo (capitolo 0) del mio tutorial sulla programmazione API 
Win32 -- soprattutto Lcc-Win32 (il piu` "leggero", solo C), e il mio
preferito, gcc 2.95 (ex-egcs) nella versione che Mumit Khan ha
portato a MinGw32 (C, ma anche C++).
Alex

Ciao,
    ce ne sono diversi. Per Windows Lccwin32 e il GCC della GNU entrambi
scaricabili da 
http://www.programmazione.it
Per DOS il DJGPP per il quale all'indirizzo
http://www.delorie.com/djgpp/zip-picker.html
 trova una comodissima form da
compilare per sapere esattamente quali files deve scaricare in base alle sue
esigenze.
Per Linux basta che durante l'installazione selezioni anche il GCC.
A presto :-)
Marco Abis
http://www.programmazione.it
 Il sito Italiano di riferimento per lo
sviluppatore
ab...@programmazione.it

Newsgroup: it.comp.programmare.win32
Titolo: CLX e ComboBox

Gradirei avere un esempio funzionante su come si aggiungono elementi ad una
combo tramite codice. In particolare, usando
ComboBox->Items->Add("Prima Voce");
si incazza come una bestia!
Qualcuno puň aiutarmi
grazie
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 grazie
Prego,
Andrea


No il form è già creato, solo l'inserimento avviene a run-time.
Non riesco a capire cosa vuole...sia su C++Builder che su Kylix fa la stessa
cosa!!


 cosa!!
Io di solito faccio così:
SendMessage(GetDlgItem(hwndDlg, Paola), CB_ADDSTRING, 0, (LPARAM)
(LPCTSTR)"Device Primario");
Dove Paola (evitate commenti ma ogni tnato nella programmazione sono
ermetico/romantico) è la tua combobox.
Qui trovi info in più su CB_ADDSTRING
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/comboboxes/comboboxreference/comboboxmessages/cb_addstring.asp


Il punto è che mi serve compatibile con CLX perchè si tratta di una
applicazione anche Linux e deve funzionare anche con Kylix 3


Newsgroup: it.comp.programmare.win32
Titolo: software per masterizzazione

scusate l'OT, ma sono disperato!!
sono alla ricerca di un buon software per masterizzare cd ma non riesco a
trovarlo.
attualmente posseggo to-go, ma non mi trovo bene
potete indicarmi un buon software ed eventualmente il sito dove scaricarlo?
grazie 1000.
mauro
mcat...@tin.it

Il migliore che io conosca e' Nero Burning Room... ma e' una questione di
gusti.
--
Stefano Tempesta
PC Service Software
http://www.tempesta.cc.st
ste...@pcs-online.it

Ad un mio prof. ha dato solo problemi.
________________________________
Fiorini Pier Luigi
http://members.xoom.it/fiorinisoft
http://members.xoom.it/fiorinisoft/fsn
Stefano Tempesta <ste...@XXXpcs-online.it> wrote in message
7ksj3n$imd$2...@nslave1.tin.it...

Newsgroup: it.comp.programmare.win32
Titolo: Bloccare la chiusura di un programma

Ciao,
mi sono imbattuto in un problema, per me, complicato e cioè la
necessità di bloccare la chiusura di un programma, ho esplorato
un poco l'utilizzo di hook procedure ma non riesco a "trappare" i 
messaggi di un'applicazione scelta ma solo quelli dell'applicazione
che crea l'hook avete idee in merito.
Posso postare il poco codice prodotto ma credo sia meglio avere pareri
diversi sulle modalità per affrontare il problema.
Grazie
Luca

Una cosa non mi è chiara, vuoi che un tuo programma non si chiuda o che un 
programma terzo non si chiuda?
La prima è facile, ngli eventi OnClose o simili gli dici "non ti chiudere"
La seconda non saprei 


Esistono le policy per queste cose... cioè il problema è prettamente 
sistemistico.
Qualsiasi aggeggio ti inventi con gli hook, se l'utente ha i privilegi può 
lanciare una utility che stronchi il processo in modo differente, visto che 
il processo eredita il token dell'utente loggato e come tale ha il diritto 
di fare quello che vuole su quel processo.
-- 
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
Vieni al TechEd? (
http://www.mseventseurope.com/teched/07/Developers
)
Fatti sentire e incontriamoci a Barcelona! 

 
Grazie mille
preferisco di gran lunga la soluzione da te indicata non
si "pasticcia" con gli hook di sistema e non si aggiungono cicli 
macchina, sai indicarmi un link per poter approfondire la questione.
Luca

 Luca
Guarda questi documenti che mi ha segnalato l'amico MVP Rossano Orlandini 
che trovi sui ng microsoft / windows:
http://www.microsoft.com/downloads/details.aspx?familyid=354B9F45-8AA6-4775-9208-C681A7043292&displaylang=en
Quella a cui alludevo è la soluzione "Kiosk mode"

Newsgroup: it.comp.programmare.win32
Titolo: Finestre

Salve a tutti,
ecco il mio problema:
le mie finestre sono dei DialogBox ceate NON con la funzione CreateWindow().
Se creo un'altra finestra e la faccio apparire sopra quella principale
(magari premendo un tasto su quest'ultima si apre la seconda), se clicco
sulla principale, la seconda non va dietro, ma la prima si attiva.
Per evitare ciò ho scritto questo nel ProcFin della seconda finestra:
case WM_SHOWWINDOW:
     if (wParam)
       EnableWindow(Globali.Fin.FinMain.PWin, 0) ;
     else
       EnableWindow(Globali.Fin.FinMain.PWin, 1) ;
     break;
<< la struttura Globali è roba mia >>
In questo modo non va dietro, ma succede un'altra cosa più fastidiosa:
se c'è una finestra ingrandita dietro alla finestra del mio programma e apro
la seconda finestra di questo tutto è OK.
Se invece apro una finestra che sta davanti a quella del mio programma e la
iconizzo le finestre del mio programma scompaiono dietro a quella grande giù
a tutto.
Come mai???
Se tolgo quel WM_SHOWWINDOW questo non lo fa...
ho pensato allora di settare le finestre del mio programma APPLMODAL come si
setta una delle proprietà dei MessageBox.
Non riesco a trovare la funzione e sto tentando tutte le possibiltà.
Se conoscete la risposta ai miei problemi non esitate a rispondere.
Ciao da
Iov...@freemail.it
PS
Io uso le API e per creare una finestra uso questa funzione:
CreateDialog(hInstance, MAKEINTRESOURCE(FINMAIN), NULL,
(DLGPROC)ProcFinMain);

(DLGPROC)ProcFinMain);
Forse per creare la seconda finestra il terzo parametro non deve essere NULL
ma l'handle della prima finestra?
Saluti
    Mardy
--
6 maggio 1999- NETSTRIKE CONTRO TELECOM
Informati e iscriviti su 
www.notut.org
Per rispondere, togliere NVN dal mio indirizzo.
Per scrivere questo messaggio non e' stato abbattuto nessun albero!

ma l'handle della prima finestra?
Si, per la finestra principale č NULL, ma per le altre č l'handle della
prima.
Questo mi risolve solo il fatto che la finestra sta SOLO in primo piano e
non si nasconde, ma che non fa attivare la prima non lo fa.
Saluti da
Iov...@freemail.it


Iov...@freemail.it



In questo modo come faccio a prendere l'handle della finestra?
CreateDiaolg() restituisce l'handle mentre DialogBox() no!
A me serve l'handle perchè quando chiudo le finestre le nascondo solo.


Si', pero' guarda che DialogBox ritorna solo quando la finestra che ha
creato e' stata distrutta. Ossia quando chiami DialogBox l'esecuzione del
tuo programma si interrompe finche' la finestra non muore (proprio come
MessageBox, per capirci).
Questo significa che anche se la nascondi dubito tu possa procedere; ad
ogni modo nascondere una dialogbox non credo sia una cosa "prevista", in
quanto se e' modale non dovrebbe lasciarti lavorare con altre finestre
finche' non la chiudi. Se posso permettermi un consiglio, non nasconderle
ma distruggile. Lo so che e' triste, ma e' cosi'... ;-)

Newsgroup: it.comp.programmare.win32
Titolo: Problema con una Dll che carica una Dll.....

Salve a tutti,
ho un problema nel gestire le dll in una mia applicazione.
L'applicazione è costituita da un'interfaccia Java che utilizza codice
nativo (C) tramite una mia libreria di funzioni Dll. Nessun problema se
compilo e linko la mia dll senza utilizzare altre librerie esterne: Java
tramite JNI utilizza correttamente le funzioni della libreria (dopo averla
naturalmente caricata in memoria con una chiamata di sistema del tipo
LoadLibrary)......
Il problema nasce però quando voglio usare nella mia dll delle funzioni che
stanno in un'altra libreria dll.
Vorrei sapere se il procedimento che ho seguito è corretto o meno:
in compilazione ho includo i .h che mi servono nel codice della mia dll.
in linkaggio ho includo i .lib delle librerie esterne che voglio utilizzare.
in fase di esecuzione ho incluso nel path il percorso delle librerie esterne
che voglio utilizzare.
ho dimenticato di caricare esplicitamente via codice la libreria esterna
forse?
--
Bye
Johnny
http://digilander.iol.it/Superpork

 ha scritto nel messaggio
news:DGa28.10094$ly.3...@twister1.libero.it...
Newsgroup: it.comp.programmare.win32
Titolo: Esaurimento di risorse di sistema!!





 


----- Original Message ----- 

From:
 
jb
 


To:
 
it.comp.prog...@mailgate.org




Sent:
 Tuesday, June 05, 2001 7:20 PM


Subject:
 Esaurimento di risorse di sistema!!




Salve


 


Da un po di tempo programmo in c++ con visual 
c++6.


Il problema nasce quando creo una funzione per 
disegnare in una finestra con la classe CClientDC o con CDC.


Quando eseguo il ridisegno della 
finestra diverse volte mi si esauriscono le risorse di sistema e quelle GDI 
di Windows98. Come è possibile ciò?


Ho individuato il problema quando utilizzo oggetti 
come "CBrush" , "CPen" o "CRect" all'interno della funzione che utilizza la 
classe CClientDC per disegnare nella finestra. Perchè questo esaurimento di 
risorse?


Ho anche tentato di cancellare tutti gli oggetti 
creati nella funzione prima che si esca dalla stessa ma niente da 
fare.


 


Mi potete aiutare per 
favore?



 wrote in 
  message 
OE484tDBdsgx0...@hotmail.com
...

Newsgroup: it.comp.programmare.win32
Titolo: stringhe stile C++

Ciao, sto sviluppando un progetto in visual c++, utilizzando pero' fino
ad ora stringhe in stile C (cioe' dei char pointer).
Ho sempre pensato che fosse piu' didattico capire bene come funzionano i
puntatori a una stringa, di quanto bisognasse stare attenti prima di
deferenziarli ecc...
dopo cio' credo di potermi avvicinare ora alle stringhe in stile C++
senza aver paura di non aver capito bene il funzionamento dei char* e
degli opportuni controlli che devo fare nel loro utilizzo, questo
perche' ho sempre pensato che il tipo di dati string ti togliesse TROPPE
castagne dal fuoco, e cio' non e' bello per uno che si vuole veramente
imparare un linguaggio...
leggendo sul libro del lippman (capitolo 3) che "l'implementazione con
la classe string e' in media due volte piu' veloce dell'implementazione
in stile C..." vorrei ora utilizzare questa classe...
intesto nel mio programma mfc l'header <string> e dichiaro una variabile
di tipo string, ma il compilatore mi dice: "error C2065: 'string' :
undeclared identifier"
dove sbaglio??? 
ciao e grazie in anticipo!!!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 intesto nel mio programma mfc l'header <string>
E' un controsenso pazzesco!!! Se il tuo programma è già MFC è quasi 
d'obbligo usare la CString... E comunque la string funziona lo stesso, 
occhio ai namespaces. 
-- 
Luc

 undeclared identifier"
Devi usare std::string.  Le classi standard C++ sono "calate" in un
namespace chiamato std.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

occhio ai namespaces. 
Ho letto qui sul ng commenti favorevoli sulle CString: cos'hanno di
cosi' bello rispetto alle string ? Mi devo per forza linkare le mfc
per usarle o posso estrapolarne il codice da qualche parte per usarle
in un progetto non mfc ?
Passando dal Borland al VC mi son trovato senza alcuni metodi per le
string (es. to_lower) ma in linea di massima fanno quello che serve
:-)
Ciao
Stefano "HappyMan" (Lago Maggiore - NO)
--
Personal Web 
http://www.sgr.info
Email happyman69 (at) 
despammed.com

 in un progetto non mfc ?
Se il tuo progetto non è mfc non conviene usare le CString, le string 
sono buone sostitute e "pesano" molto meno. 
-- 
Luc

 namespace chiamato std.
grazie mille, l'equivoco era nato dal fatto che, non so per quale errore
da parte mia, non mi accettava la direttiva d'uso "using namespace std"
ciao


 da parte mia, non mi accettava la direttiva d'uso "using namespace std"
In generale, però, non conviene esplicitare l'uso del namespace.
Meglio conservare lo specificatore "std".


 dove sbaglio??? 
il vero nome è std::string
-- 
  < 
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: Memoria condivisa fra processi

Stavo provando ad usare i file memory mapped per condividere dei dati
fra processi  e funziona tutto come mi aspettavo .
Usando un memory mapped in un servizio NT ,un altro processo non
riesce ad aprire l'handle al file memory mapped del servizio
restituendo un codice di errore : Error access denied .
Non riesco a capire perche ?
P.S.
Ovviamente entrambi i processi girano sotto ADMINISTRATOR

 wrote in
news:oboo119056hejmbrt...@4ax.com
: 

Sei sicuro che il servizio stia girando come Administrator e non
come local system account? Comunque devi passare alla chiamata che
crea il file mapping i diritti di accesso che vuoi garantire. La
cosa più semplice da fare è garantire l'accesso a tutti: 
SID_IDENTIFIER_AUTHORITY sia=SECURITY_WORLD_SID_AUTHORITY;
 
SECURITY_ATTRIBUTES sa;
SECURITY_DESCRIPTOR sd;
 
BYTE sid[32];
 
SID*	psid;
psid=(SID*)sid;
sa.nLength=sizeof(sa);
sa.lpSecurityDescriptor=&sd;
sa.bInheritHandle=FALSE;
if(!InitializeSid(sid,&sia,1))
	return NULL;
if (!InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION))
	return NULL;
if (!SetSecurityDescriptorDacl(&sd,TRUE,NULL,FALSE))
	return NULL;
A questo punto puoi passare "sa" alle funzioni di creazione di
oggetti (mapping, mutex, eventi etc.) che devono essere condivisi
tra il servizio e gli altri programmi. 
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

	return NULL;
Sicuro che il tuo codice sia corretto ?
Non vedo l'uso di psid .
Ho provato ad "invertire" il problema e sembra funzionare e cioe :
ho scritto un processo che crea un file memory mapped ,dopodiche avvio
il servizio che apre lo stesso oggetto memory mapped .
Non capisco invece perche' facendo il contrario e cioe avviando prima
il servizio non riesco ad accedere al memory mapped dall'applicazione
Questo il codice nel servizio :
  hFileMap = CreateFileMapping(INVALID_HANDLE_VALUE,
NULL,PAGE_READWRITE, 0,sizeof(tagMG_SHAREDATA),
TEXT("MMFSharedData"));
 if ( hFileMap == NULL)
 {
	 val = GetLastError() ;
	 return 1 ;
 }
 else 
 {
	 val = GetLastError() ;
	 if ( val == ERROR_ALREADY_EXISTS ) ;
	 else
	 {
		 CloseHandle(hFileMap);
		 hFileMap = NULL ;
		 return 1 ;
	 }
 }
Questo il codice nell'applicazione :
 hFileMap = CreateFileMapping(INVALID_HANDLE_VALUE,
NULL,PAGE_READWRITE, 0,sizeof(tagMG_SHAREDATA),
TEXT("MMFSharedData"));
 if ( hFileMap == NULL)
 {
	 val = GetLastError() ;
	 return 1 ;
 }
 else 
 {
	 val = GetLastError() ;
	 if ( val == ERROR_ALREADY_EXISTS ) 
	 {
		 CloseHandle(hFileMap);
		 hFileMap = NULL ;
		 return 1 ;
	 }
 }
.

 wrote in
news:mufp11119lenla0um...@4ax.com
: 
Il codice č stato cuttempastato un po' di fretta :)
La variabile non serviva in quel punto, ma il puntatore veniva tenuto 
via per altri motivi.

Newsgroup: it.comp.programmare.win32
Titolo: Eseguire file da remoto

Se ho 2 pc collegati in rete, c'è modo di eseguire un programma in remoto
tramite shellexecute per esempio ?

 tramite shellexecute per esempio ?
Puoi creare un programmino sul PC remoto che a intervalli regolari controlla
un file .TXT (ad esempio) dove c'è una lista dei programmi da eseguire.
Tu dall'altro computer, manualmente o attraverso un'applicazione apposita,
modifichi il file .TXT suddetto sul computer remoto...
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 tramite shellexecute per esempio ?
Prova ad informarti su RPC (Remote Procedure Call), dovrebbe servire
proprio a questo, come Blaster e compagni hanno dimostrato :-)
Stefano "HappyMan" (Lake Maggiore - Italy)
-- 
The Personal Framework for Object Oriented Windows Development (Win32)
http://www.sgr.info
Email happyman69 (at) 
despammed.com

 ha scritto nel messaggio
news:qdfzk3vswait.11...@40tude.net...

Posso trovare qualche cosa su msdn al riguardo ?

 ha scritto nel messaggio
news:82Z51Z26Z235Y1...@usenet.libero.it...

Sarebbe un'idea ma sarebbe meglio senza il programmino !

 Posso trovare qualche cosa su msdn al riguardo ?
Beh piuttosto che chiederlo a me facevi prima a vedere su MDSN :-)
Ho aperto MSDN (October 2001) e mettendo "RPC" sotto la voce Indice si e'
spalancato un list box pieno di items da spulciare... 


 spalancato un list box pieno di items da spulciare...
 TNX ! :)
Newsgroup: it.comp.programmare.win32
Titolo: curiosità su CString

Sarei curioso di sapere una cosa sulla classe CString delle MFC.
Entrambi questi codici funzionano ma le operazioni che vengono fatte
sono diverse. Siccome cose di questo tipo nei miei programmi le uso
a bizzeffe non vorrei sarei curioso di sapere quale è il codice
più pulito e sicuro da gente che ha più esperienza di me:
    CString strApp;
    strApp = "qualcosa";
    'codice che usa strApp'
    strApp = "qualcos'altro";        // La nuova assegnazione reinizializza
l'oggetto CString,
                                                    ma, per esempio se la
stringa è più corta non viene
                                                    liberata la memoria, se
è più lunga non ho capito bene
                                                    se libera la memoria e
la riassegna o cosa...
    'altro codice che usa strApp'
oppure
    CString strApp;
    strApp = "qualcosa";
    'codice che usa strApp'
    strApp.Empty();                    // Empty() mi svuota la CString e me
la rende tale e quale
                                                 // a quella che era prima
dell'assegnazione a "qualcosa"
    strApp = "qualcos'altro";
    'altro codice che usa strApp'
Secondo me usare Empty() prima di reinzializzare le CString dovrebbe
essere più pulito come approccio, (libero il buffer caratteri della CString,
poi la nuova
assegnazione lo riallocherà) ma se la reinizializazzione funzionasse
altrettanto
bene non vedo perchè riempire il programma di strApp.Empty();
Ciao e grazie in anticipo per le risposte.

 bene non vedo perchè riempire il programma di strApp.Empty();
se vuoi essere sicuro basta che vai a vedere i sorgenti di MFC, esattamente in
CString::operator=(), e vedi se viene chiamato ::Empty() o in qualche modo
viene liberata la memoria :)
ciao :: xaero

 assegnazione lo riallocherà)
Secondo me e` da privilegiare il metodo senza Empty() proprio per questo
motivo. Allocare e deallocare buffer consuma CPU e puo` creare delle
frammentazioni nello heap; se non si chiama Empty() invece si da` la chance
a CString di ridimensionare il buffer gia` allocato, ottimizzandone
potenzialmente l'utilizzo (quello che accade poi in realta` e` un altro paio
di maniche).
--
Bye! Lorenzo Lutti
http://antani.virtualave.net/

 wrote in message
XWjp7.82286$ul3.2...@news.infostrada.it...

Grazie delle risposte a tutti e due. Ho controllato il sorgente MFC e sembra
che la cosa migliore alla fine
sia non usare la Empty() per motivi di deframmentazione  proprio come dice
Lorenzo Lutti;
infatti  la AllocBuff() che alloca il buffer della CString può avere
dimensioni ben più ampie
della stringa che ci si va a scrivere, (per esempio per una stringa di 70
bytes se ne allocano 128,
, per una di 200, 256, ecc), quindi se poi vado a riassegnare una stringa
più lunga ma non più di 128 bytes
riuso lo stesso buffer. Insomma la reinizializzazione come "Release del
buffer - riallocazione"
dovrebbe avvenire piuttosto raramente con conseguente
vantaggi nella minore deframmentazione della heap.
Grazie ancora e Ciao.
Newsgroup: it.comp.programmare.win32
Titolo: Chiudere una finestra

La CloseWindow(Handle) non fa altro che minimizzare una finestra dato
l'handle...
La DestroyWindow(Handle) non distrugge la finestra se non è figlia del mio
thread...
Allora come posso fare per chiudere una finestra senza passare per la
simulazione del keystroke ALT-F4?
Ciao grazie mille!!!!!!!!!!
Ely

simulazione del keystroke ALT-F4?
Fare un PostMessage di WM_CLOSE.  Bada, però, che la finestra potrebbe
benissimo rifiutarsi di chiudersi.
-- 
Andrea Laforgia - a.laforgia(at)
libero.it
"There are three kinds of people in this world; 
 those who are good at maths and those who aren't".

 benissimo rifiutarsi di chiudersi.
forse ShowWindow(hWnd, SW_HIDE) potrebbe funzionare, ma non ne sono sicuro
perché credo che anche così la finestra riceverebbe un messaggio
"rifiutabile".
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 "rifiutabile".
Non va bene, perchè hide nasconde l'applicazione che intanto continua a
rimanere attiva.
Ciao grazie mille!

Newsgroup: it.comp.programmare.win32
Titolo: Componenti aggiuntivi per C++ Builder

Qualcuno può darmi qlc url da cui scaricare componenti vcl freeware (o
shareware)?
Grazie
        ^DunE^

shareware)?
www.torry.ru
--
__________________
Stefano Tempesta
[Real Training]
ste...@tempesta.org
http://www.tempesta.org

Newsgroup: it.comp.programmare.win32
Titolo: Winsock.......GUI per Netstat

Vorrei implementare una GUI per Netstat, ovvero un  programmino che mi
indichi quali sono le porte TCP/UDP attualmente aperte e quale il loro
stato, ma tuttavia lavorando in VB non riesco a trovare documentazione su
winsock di win2000. Qualcuno mi sa dire come poter utilizzare le funzioni
esportate dalle librerie Wsock32.dll e W2_32.dll per ottenere quello che
voglio?
Come recuperare il servizio che utilizza la Porta, lo stato (Listening,
ecc...), ed eventualmente se connessa l'indirizzo e la porta remota?
Esiste qualche programma di esempio?
AIUTOOOOOOOOOOOOOOO!!!!

Perché non catturi l'output di NetStat, lo processi e lo presetni
all'utente?
Il Biondo

Newsgroup: it.comp.programmare.win32
Titolo: Documentazione Api

Salve a tutti, mi sapreste indicare dove poter reperire documentazione sulle
api di windows 2000? Magari un buon libro, farebbe proprio al caso mio.
Grazie per l'attenzione
Ciao


Suggerisco l'MSDN Library per la documentazione specifica...
Ciaotutti,
*

 wrote in message
news:GZ9G7.35064$sq5.1...@news.infostrada.it...

Puoi, come ti č gia stato consigliato, andare sull'MSDN (
msdn.microsoft.com
)
oppure installarti la Platform SDK. Anche sul sito di Borland
(
www.borland.com
) dovrebbe essere possibile scaricare un file .hlp con le
win32 API.
Bob rock

scaricare un file .hlp con le win32 API.
quello è troppo vecchio, risale a Windows 95 (anche se io lo uso ancora 
e al 90% mi è sufficiente :)
Newsgroup: it.comp.programmare.win32
Titolo: ODBC su win9x

Mi sapreste dire se con Win95-98-Me c'è già installato odbc o eventualmente
come potrei fare per installarlo? Mi serve per un database Access.
Grazie
Fabio

 come potrei fare per installarlo? Mi serve per un database Access.
MDAC, ti installa tutti i componenti per lavorare con Access (sia in ODBC
sia in ADO, fino alla 2.5 anche in DAO).
Scaricamento dal sito MS.
Ciaotutti,
*

Newsgroup: it.comp.programmare.win32
Titolo: mi dite API x...

 Qual  è API x sapere
L'intervallo di tempo che deve trascorrere prima che un tasto venga ripetuto
e la velocità di ripetizione.

 ha scritto nel messaggio
news:ce5sf5$eb9$2...@lacerta.tiscalinet.it...

Direi SystemParametersInfo
--
Pela

Newsgroup: it.comp.programmare.win32
Titolo: cambio colori caption bar e colori menu

Per quanto riguarda l'activex la penso come te e mi sembra di aver letto
lo stesso sul sito della microsoft.
Vorrei porti un altro quesito.
Sai come cambiare i colori della caption bar in modo sicuro?
Io ho trovato un metodo che colora la caption bar usando un meccanismo
complesso, in pratica calcolo la posizione della caption bar nello
schermo e la coloro con un brush.
Non penso sia il metodo migliore. Conoscete un'api che lo fa?
E' poi possibile cambiare il colore dei menu?
saluti e grazie
--
demis magoga
Webmaster and Web Developer
*> project realizer <*
http://www.e-tree.com
____________________
E-TREE S.r.l.
Via Fonderia 93
31100 Treviso
pho  
+39.0422.3107
fax  
+39.0422.310888
____________________

 E' poi possibile cambiare il colore dei menu?
Non mi pare ci sia un modo pulito di farlo totalmente, ma puoi
arrivarci vicino usando stile MFT_OWNERDRAW per tutti i
menuitem di un menu e disegnandoli opportunamente.
Alex
Newsgroup: it.comp.programmare.win32
Titolo: Scrivere e leggere su file INI

Salve a tutti.
Dovrei scrivere una function  in grado di scrivere su un file ini ed
un'altra che vada a leggere le informazioni già scritte su un file ini. Mi è
stato detto che esistono delle funzioni  che  si fanno caricodi tutto.
Ssapreste dirmi quali sono e come vanno usate, magari con un piccoloesempio
banale. Io sto programmando in  VC++ 6.0
Grazie in anticipo a tutti.

 wrote in message
9qee71$9fa$1...@e3k.asi.ansaldo.it...


 CWinApp::WriteProfileInt
Fra l'altro segnalo che MFC dispone anche di due funzioni non documentate
piuttosto comode, CWinApp::GetProfileBinary() e
CWinApp::WriteProfileBinary(). Esse permettono di scrivere nel registry (e
forse nei file INI, ma non ne sono certo) dei dati di tipo REG_BINARY, ossia
dei buffer. Per il loro prototipo e funzionamento (non del tutto intuitivo)
date un occhio ai sorgenti di MFC.
--
Bye! Lorenzo Lutti

Newsgroup: it.comp.programmare.win32
Titolo: Vs.2005 e Vs.2008

Ciao,
Per fare qualche programmillo sto usando Visual Studio 2005 Std, ero 
intenzionato a passare a VS 2008. Ne vale la pena o è più o meno la 
stessa cosa ?
Grazie
Ing Giuseppe Monteleone


Lo considero meglio, specialmente per la creazione delle query da
consumare con i tableadapter, ma non è l'unica cosa positiva ce ne
sono moltre altre, devo dire che semplifica di tanto rispetto al 2005,
e quando crei un nuovo proj puoi scegliere se usare il framework 2.0 o
usare 3.5, cosa che non potevi fare da 2003 a 2005.
Danilo
---------------------------------
www.prioregroup.com

Newsgroup: it.comp.programmare.win32
Titolo: spawn...()

Salve a tutti vorrei sapere per quale motivo bisogna inserire come terzo
parametro l' argv[0] ovvero il nome del programma senza l' estensione...
Inoltre, a cosa serve principalmente la spawn...()???
Grz 1000 per le eventuali risposte.
ciao

 Inoltre, a cosa serve principalmente la spawn...()???
a creare un processo da un file eseguibile
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.2. C, C++ and ASM developers
                               and beta testers are welcome!

Newsgroup: it.comp.programmare.win32
Titolo: UN PC NUOVO QUASI GRATIS!!!

STREPITOSA OFFERTA DALLA COFER SRL....
...UN PC CON STAMPANTE HP LASER!!!
PRATICAMENTE GRATIS!!!
CORRETE SU 
WWW.ILSITO.NET
E PRENOTATE IL VOSTRO PC...

 STREPITOSA OFFERTA DALLA COFER SRL....
Chi ricorda a questo personaggio che cosa succede per chi spamma?
--
- Carlo -
c.b...@libero.it

> Chi ricorda a questo personaggio che cosa succede per chi spamma?
opterei per mandargli in Bcc la denuncia già fatta a 
ab...@provider.com
haha   >-P
--
ciao
..::[xaero]::..




 non era certo premeditato
oh certo, manda msg pubblicitari su un NG di programmazione, ma non aveva
intenzione di fare spam
se il termine non ti è abbastanza familiare lo traduco così:
hai fatto pubblicità a nonsocosa su un NG che non c'entra niente, e _non lo
sapevi_
--
####
..::[xaero]::..
Newsgroup: it.comp.programmare.win32
Titolo: Librerie Grafiche

 belle cosette ?
Qt - (
www.troll.no
)
wxWindows - (
www.wxwindows.org
) credo che lo facciano.
Fausto

 wxWindows - (
www.wxwindows.org
) credo che lo facciano.
Il vero duro perň va a 
www.wotsit.org
.

Newsgroup: it.comp.programmare.win32
Titolo: [?] CArray

Ciao a tutti,
seguendo l'esempio scritto sul libro che sto leggendo (Programming windows
with MFC, 2nd edition) ho provato ad utilizzare la classe CArray (che fa
parte delle MFC)... mi sembra di aver fatto tutto correttamente eppure il
compilatore mi sputa fuori 4 errori... :
[codice]
CArray<CLink, CLink&> m_dir;
[output del compilatore]
Compiling...
c:\dir.h(31) : error C2143: syntax error : missing ';' before '<'
c:\dir.h(31) : error C2501: 'CArray' : missing storage-class or type
specifiers
c:\dir.h(31) : error C2059: syntax error : '<'
c:\dir.h(31) : error C2238: unexpected token(s) preceding ';'
Error executing cl.exe.
perche'? dove sto sbagliando?
grazie in anticipo, assa.

 grazie in anticipo, assa.
hai incluso l'header giusto? Mi pare
#include <afxtempl.h>
o qualcosa del genere, guarda su MSDN
--
  Jerle Shannara
Per rispondere in email togli JERLEANTISPAM
homepage 
http://utenti.tripod.it/jerleshannara

 o qualcosa del genere, guarda su MSDN
si, ci ho pensato dopo ed in effetti hai ragione, mi mancava l'header...
e' che pensavo bastasse il solito <afxwin.h>, ora lo so, grazie :)
ciao, assa.
Newsgroup: it.comp.programmare.win32
Titolo: Dimensione percorso di un file?

Ciao!
Qualcuno saprebbe dirmi se c'è un limite alla lunghezza del percorso di
un file e/o esiste un livello massimo di annidamento delle directory?
Mi interessava principalmente su FAT32, ma anche gli altri FS se qlc
ha qs info.
Grazie in advancio, Davide DG.


Ti rispondo in merito alla lunghezza massima del percorso di unfile.
E' definita una costante MAX_PATH (mi pare 260) che fissa questo limite.
Prova a controllare il file Windef.h.
Per quello che ho visto sembra indipendente dal  file-system; purtroppo non
ti so dire di piů.
Ciao
Porlock

Cercando le informazioni riguardo la funzione CreateFile, nell'MSDN.
Primo parametro della CreateFile: lpFileName 
[in] Pointer to a null-
terminated string that specifies the name of the object to create or open.
Windows NT/2000 or later: In the ANSI version of this function, the name is
limited to MAX_PATH characters. To extend this limit to nearly 32,000 wide
characters, call the Unicode version of the function and prepend "\\?\" to
the path. For more information, see File Name Conventions. 
Windows
95/98/Me: This string must not exceed MAX_PATH characters. 
Dunque in
95/98/Me possiamo creare una cartella con un nome di 100 caratteri e
mettere in questa un file con un nome di al massimo 160 caratteri. Mi
sembra un po strano, sarei curioso di fare qualche prova ma non ho un
95/98/Me sotto mano.
In NT/2000 (ed XP, immagino), possiamo andare fino
a circa 32.000 caratteri, sfido qualcuno a ramificare a tal punto la
gerarchia di cartelle/files... ;-))
Davide.
--------------------------------
Inviato via 
http://usenet.iol.it
 

 95/98/Me sotto mano.
Confermo.. ho appena provato :)
Acc.. pensavo  che 95/98/Me fossero meno "fragilini" ...
Grazie mille a tutti ^_^
Ciao! Davide DG.

 Acc.. pensavo  che 95/98/Me fossero meno "fragilini" ...
Meno male che č cosě, invece!!! In questo modo si č certi che sia
sufficiente allocare un PSTR lungo MAX_PATH per contenere un qualsiasi
percorso del file system.
Lorenzo
Newsgroup: it.comp.programmare.win32
Titolo: Propblema con screen saver OpenGL...

Salve,
ho sviluppato un semplcie screen saver con le opengl (in pratica un piccolo
proiettore di particelle)...
Se eseguo il programma cliccando sul file scr ottengo un a velocità di 30
FPS, mentre quando è il SO a richiamare lo screen saver  i FPS sono ridotti
a 1/3 (cioè 10)!!
quale può essere la causa?
(non uso glut)
grazie
Davide

 wrote in
news:4k_l8.8327$
S52.2...@news2.tin.it
: 

Se non ricordo male lo screen saver viene eseguito come processo a 
bassa priorità.
Per controllare basta richiamare GetPriorityClass(GetCurrentProcess()) 
e verificare se ti torna lo stesso valore nei due casi.
In caso puoi provare a richiamare SetPriorityClass per alzare la 
priorità (anche se in questo caso ti conviene specificare che lo screen 
saver non è adatto per un server :)).
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

 saver non è adatto per un server :)).
ok ho provato a farlo ma, nonsostante le API non mi ritornino nessun errore,
il problema resta ..
infatti anche se porto la priorotà a NORMAL_PRIORITY_CLASS lo screen saver
(quando lanciato dall'OS) resta "lento"...
uso win2k, ma ho visto che GetCurrentProcess resituisce uno pseudo handle
con il massimo dei permessi possibili (msdn)
una domanda.. il cambio di priorità lo posso fare in qualcunque momento? io
l'ho inserito dopo il controllodella riga di comandi ma prima di
visualizzare la finestra...
grazie lo stesso...
Davide

 bassa priorità.
difatti è quello che c'è scritto su MSDN dove parla di GetPriorityClass...
ma stampando a video il valore restituio da GetPriorityClass vedo che vale
32.. cioè NORMAL_PRIORITY_CLASS ... mentre dovrebbe essere
IDLE_PRIORITY_CLASS
non sono un esperto di processi e affini ... ma esistono altri parametri che
definiscono la priorità di esecuzione?
grazie ancora
Davide

 
Ci sono i livelli di priorità sui thread (Set/GetThreadPriority).


Newsgroup: it.comp.programmare.win32
Titolo: problema file bat

Salve a tutti,
ho un problema con questo file bat:
cls
echo off
COPY *.* c:\documenti\xedat\backup1\
io vorrei che la procedura andasse senza fermarsi
mentre invece ogni volta che lancio l'eseguibile
dice:
C:\documenti\xedat\backup1\*.*, Procedere con l'operazione (S/N)?
come posso ovviare a questo problema?
grazie!
ringo

copy /?
ci dev'essere qualche opzione che risponde SI a tutte le domande se non
ricordo male..

 come posso ovviare a questo problema?
echo S | C:\documenti\xedat\backup1\*.*
Mieru
Newsgroup: it.comp.programmare.win32
Titolo: Fermare l'hard disk.

Come si fa a fermare la rotazione dell'hard disk usando, possibilmente,
Borland C++ Builder?
Grazie
Cristiano

Borland C++ Builder?
Sono incuriosito: che intendi per "fermare" la rotazione
dell'hd ?
--
Andrea Laforgia (mica uno qualunque...)

 dell'hd ?
Vorrò bloccarlo materialmente, impedendo lettura e scrittura..
ciao
--
Luigi
http://web.tiscali.it/luigi_web
ICQ #46240443

 dell'hd ?
Quello che si ottiene impostando "Disattiva i dischi rigidi" dal pannello di
controllo di windows 98. Ma io vorrei farlo da programma.
Cristiano

Vorrò bloccarlo materialmente, impedendo lettura e scrittura..
Continuo a non capire a cosa serva, comunque fate pure...



wrote:

e a cosa servirebbe? in questo modo nemmeno il tuo programma
funzionerebbe...in teoria, in pratica non oso pensare agli effetti di
una simile API se esistesse...
--
Rhymes
--------------------------
rhy...@myself.com
http://www.foxhound-games.it
http://embyte.mascanc.net
--------------------------
Linux User #219707

 possibilmente, Borland C++ Builder?
guarda la funzione DeviceIoControl

 controllo di windows 98. Ma io vorrei farlo da programma.
Dovrebbe essere sufficiente la chiamata all'API DeviceIOControl ...
probabilmente con il Builder non avrai neppure il problema che avevamo noi
programmatori Delphi, ovvero la mancanza della unit (header) con le
dichiarazioni delle funzioni e delle strutture x la gestione dell'IO.
Ciao! :-)
--
- Carlo -
c.b...@libero.it

 Continuo a non capire a cosa serva, comunque fate pure...
Potrebbe essere utile, ad esempio, per impostare una modalità tipo Stand by.
Ciao!


Potrebbe essere utile, ad esempio, per impostare una modalità tipo Stand by.
In questo caso, secondo me, sarebbe molto piu' sicuro
utilizzare, appunto, delle API per lo stand-by che non
tentare di disattivare i dischi rigidi.
Le applicazioni, d'altronde, non sanno precisamente quando
possono o meno bloccare i dischi (supponi ci siano scritture
pendenti da parte del sistema operativo).
Cosi', a intuito, non mi sembra una cosa molto saggia...


 tentare di disattivare i dischi rigidi.
Detto fra noi non sapevo neppure che esistessero delle "API per lo
stand-by"! :-)


 --
infatti..
bloccare spesso il disco rigido crea problemi allo stesso e ne accorcia la
vita :).La cosa puo essere utile solo se si vuole mettere a riposo il disco
per "lunghi periodi" e non si curamente per pochi minuti .
ciao
--
-------
sito: 
www.dadev.it
ultime: Ocx per irc testi freeware
-------

funzionerebbe
Perche'? Tutto il sistema potrebbe girare in memoria, e lui potrebbe
volere spegnere un HD non usato. 
Per esempio non vedo che serva che giri il mio HD con sopra Linux
quando sono in Win. Infatti ho detto al sistema di spegnerlo dopo 30
minuti di inutilizzo.
-- 
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/

minuti di inutilizzo.
su questo sono daccordo.



qualcosa del tipo "fermate il mondo, voglio scendere" ?
::))))
MarioH
Newsgroup: it.comp.programmare.win32
Titolo: librerie per gestire jpg e gif

Qualcuno sa dirmi dove posso trovare codice per trattare files .jpg e .gif
(ad es. convertirli in bmp) ?
grazie.

 (ad es. convertirli in bmp) ?
Su 
www.intel.it
 trovi la più performante libreria dll per le JPG. Peccato
che che non gestisca anche le GIF,BMP.

Newsgroup: it.comp.programmare.win32
Titolo: Tutorial MFC

Sapete indicarmi dove posso trovare un tutorial gratuito sulle MFC? 
Grazie a Tutti!

 Grazie a Tutti!
Special Edition Using Visual C++ 6
http://www.informit.com/isapi/session_id~{2FE70948-D4B3-434C-B4D0-F371CD882FFC}/free_library/index.asp
Programming Windows with MFC 
http://comeng.andong.ac.kr/~chi23/progmfc2/
Visual C (comunque MFC)
http://www.functionx.com/visualc/
http://visualcpp.net/
Spero che possano bastare...
Saluti 
JJ
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.programmare.win32
Titolo: Aiuto: SetTimer

Ciao a tutti... è da un bel pò che non posto + su questo NG... ritorno con
un
nuovo dilemma... perchè il codice qui sotto non funziona??? io avrei bisogno
di
utilizzare l'API SetTimer senza creare una finestra...
la cosa è abbastanza urgente... aiutatemi!!!
#include "windows.h"
#include "stdio.h"
VOID CALLBACK Saluto(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
{
 puts("Ciao!!!");
}
int main()
{
 SetTimer(NULL, NULL, 1000, &Saluto);
 while(1) Sleep(5000);
 return 1;
}
P.S. Lo compilo con il bcc32 dipende forse da questo???

 ha scritto nel messaggio
news:9tuj87$o2d$1...@pegasus.tiscalinet.it...



Scusa ma SetTimer e' una API che invia un mesasggio WM_TIME alla
finestra di appartenenza .
Tu stai scrivendo una applicazione consolle . Come cavolo fa ad
arrivare il messaggio alla finestra di appartenenza se non vi e'
nessuna procedura della finestra attiva ?

nessuna procedura della finestra attiva ?
Per SetTimer non e' necessario specificare necessariamente
una finestra.  Puo' lavorare, semplicemente, con una
funzione di callback.
-- 
The Follet

 wrote in message
3c07235...@news.tin.it...


Mi puoi fare un esempio di come usarlo... a me non funziona
Basta definire una tua funzione di callback:
VOID CALLBACK myTimerProc(HWND hwnd,
                          UINT uMsg,
                          UINT idEvent,
                          DWORD dwTime)
{
     // ....
}
e poi richiamare SetTimer con:
   SetTimer(0, 0, 1000, myTimerProc);
-- 
The Follet

 utilizzare l'API SetTimer senza creare una finestra...
Il tuo codice non funziona perche' l'applicazione
chiama SetTimer e termina.
E' necessario che Windows sia libero di invocare 
la tua funzione di callback.  La tua funzione di 
callback e' parte del tuo programma e se il tuo 
programma muore, muore anche la funzione di callback.
Devi, quindi, creare un thread secondario che imposti 
il timer e attenda le condizioni d'uscita per 
distruggerlo.
-- 
Posted from  [80.105.34.80] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG