mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: [leggermente OT] casa editrice...

Ciao,
visto che mi sono perso Computer Magazine di Aprile, mi sapete dire per
piacere la casa editrice, cosě lo ordino?
Grazie, ciao :-)
Marco Zanon (
m.z...@usa.net
)
http://www.geocities.com/SiliconValley/Peaks/6455

piacere la casa editrice, così lo ordino?

 wrote in message
7gi4d4$143$1...@nslave1.tin.it...

...


Newsgroup: it.comp.programmare.win32
Titolo: Scritta static trasparente, come?

Help. Grazie.

Ciao.
Io non riesco a capire come fai ad avere lo sfondo del controllo STATIC
bianco..... Hai qualche impostazione speciale dei colori di windows? Hai
settato il flag WS_EX_TRANSPARENT (casella "Transparent" in "Extended
Styles" nel resource editor)?
Te lo chiedo perchč normalmente il controllo STATIC ha lo sfondo grigio
dello stesso colore della dialog. Sicuramente avrai impostato qualche flag o
qualche opzione e non te ne sei accorto. Se non č troppo grosso puoi
postarmi il file delle risorde (*.rc) cosě gli do un'occhiata.


da lameracci. ;-)
Grazie per il lameraccio ;-)


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

Quali funzioni potrebbe utilizzare un programma che controlla che un
determinato programma sia in primo piano ( cioč attivo ) e che il mouse si
sta muovendo sullo schermo o no ?

sta muovendo sullo schermo o no ?
E' italiano?
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

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

I'm developing a activeX component with Visual C++. I need to
develop a method that return a array oh bytes of variablr lenght.
I wouldn't use a BSTR ... anyone have a good idea?
Thanks a lot.
francesco di sivo

:

Devi utilizzare i SAFEARRAY (puoi dichiarare array a più dimensioni 
utilizzando uno qualsiasi dei tipi predefiniti OLE).
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

 francesco di sivo
Cerca in MSDN le chiavi di IDL  "size_is" e "lenght_is"
Inoltre sempre su MSDN troverai un articolo di "Don Box" 
che ti spiega come usarle. Cerca per il titolo "ActiveX/COM Q & A".
P.S.
	Se scrivi in italiano magari trovi una platea maggiore
	disposta a risponderti.      
Fausto
Newsgroup: it.comp.programmare.win32
Titolo: Lettura file di testo

Buongiorno a tutto il gruppo.
Io uso BCC Buldier 5 e sono abbastanza acerbo in fatto di programmazione, ed
ho un problemino.
Ho un file di testo.txt di qualche mega strutturato in questo modo:
uno,due,tre,quattro
uno,due,tre,quattro
uno,due,tre,quattro
ecc..
devo leggere riga per riga e portare ogni singolo dato separato da virgola
in una tabella già appositamente preparata.
Potete essermi di aiuto?
Un grosso grazie in anticipo

 Potete essermi di aiuto?
Così al volo ho buttato giù la routine seguente. Verifica bene 
perchè sicuramente mancano vari controlli perciò va sistemata... 
Comunque deve servire solo come spunto.
void MyRoutine(void)
{
    FILE *F;
    const int lRow = 1024;
    char Row[lRow];
    char *Field;
    F = fopen(NOMEFILE, "r");
    if (F)
    {
        while (!feof(F))
        {
            // aggiungere riga alla tabella
            // ...
            fgets(Row, lRow, F);
            Field = strtok(Row, ",\n");
            while (Field)
            {
                // salvare il campo nella tabella
                // ...
                Field = strtok(NULL, ",\n");
            }
        }
        fclose(F);
    }
}
HTH,
Steve. 

in C io farei così:
scanf("%d,%d,%d,%d\n", &uno, &due, &tre, &quattro);
tuttociò ammettendo che il file di testo sia composto da 4 interi per 
linea... forse in c++ c'è anche qualcosa di meglio, ma non sono un 
grande esperto!
Newsgroup: it.comp.programmare.win32
Titolo: Aiuto sulle API (BC++ B)

parametri. Avrei bisugno di un esempio d'utilizzo di tale funzione.
CopyFile("C:\\filesorgente.txt","c:\\temp\\filecopiato.txt",false) ;

Ho 2 problemi da risolvere:
1) Devo costruire un semplice programma d'installazione con Borland C++
Builder: questo programma deve eseguire solo la copia di alcuni file
contenuti in una lista (file testo); il mio problema è quello di utilizzare
l'istruzione di copia dei file di Win32. Il manuale in linea mi propone la
funzione CopyFile (dalle API Windows), ma non riesco ad impostare i
parametri. Avrei bisugno di un esempio d'utilizzo di tale funzione.
2) Esistono dei siti dove posso trovare delle spiegazioni esaurienti sulle
API Windows e su come utilizzarle?
Grazie
MayaPan
Newsgroup: it.comp.programmare.win32
Titolo: messagebox dopo una finestra

Ciao a tutti
Ho necessità di visualizzare un MessageBox subito dopo la comparsa di una
finestra di dialogo.
Ho visto su ClassWizard, ma tutte le funzioni che ho provato mi fanno
visualizzare il MessageBox immediatamente prima della comparsa della
finestra.
Quale funzione devo usare?
Grazie e ciao

...dimenticavo... utilizzo Visual C++ 6 e le MFC

 ha scritto

Ovviamente la funzione è ::AfxMessageBox(...), ma il punto è: quando usarla?
Sfortunatamente non esiste un evento specifico che avviene dopo la
visualizzazione della finestra. Sia OnCreate che OnInitDialog vengono
invocati durante la creazione della dialog e quindi prima che essa sia
visibile.
Le soluzioni che ho trovato per eseguire un'azione dopo la visualizzazione
sono tutte degli accrocchi, ma temo che non ci siano sistemi più eleganti.
Il mio consiglio è di creare una variabile membro:
BOOL m_bFirstTime;
E fare quanto segue:
BOOL CAboutDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
    // Il tuo codice di inizializzazione
    m_bFirstTime = TRUE;
    return TRUE;
}
void CAboutDlg::OnPaint()
{
    // Il tuo codice per il disegno della finestra
    if( TRUE == m_bFirstTime ) {
        ::AfxMessageBox("OnPaint");
        m_bFirstTime = FALSE;
    }
}
In pratica esegui ::AfxMessageBox() alla prima esecuzione di OnPaint. Ti
consiglio di non inizializzare m_bFirstTime nel costruttore, perché se
visualizzassi due volte la dialog usando la stessa istanza della classe la
variabile sarebbe inizializzata solo la prima volta. OnInitDialog invece
viene invocato ogni volta che la finestra viene visualizzata.
Lorenzo

Provi a creare il dialog come modeless anzichč come modal.
Dia un'occhiata al codice che segue:
// [...]
 CProvaDialogDlg dlg;
 dlg.Create(MAKEINTRESOURCE(IDD_PROVADIALOG_DIALOG));
 AfxMessageBox("Prova");
 dlg.RunModalLoop();
// [...]
In questa maniera viene creato il dialog e subito dopo visualizzato il
messagebox.
Saluti
--
Efran Cobisi, sercom S.r.l.
eco...@sercomsrl.in
 (ANTI-SPAM: replace .in with .it)

finestra di dialogo.
Non so se questo codice riesci ad implementarlo con MFC pero' ti
assicuro che funziona e fa proprio quello che chiedevi .
 BOOL CALLBACK DlgProc (HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM
lParam)
{
#pragma argsused
 static UINT htime ;
     switch (iMsg)
          {
          case WM_INITDIALOG :
          htime = SetTimer(hDlg,1,500,NULL) ;
          return TRUE ;
          case WM_TIMER :
          if ( IsWindowVisible(hDlg) ) {
                 KillTimer(hDlg,htime) ;
                 MessageBox(hDlg,"Ciao",NULL,MB_OK) ;
                 htime = 0 ;
                 }
          return true ;
          case WM_DESTROY :
          if ( htime ) KillTimer(hDlg,htime) ;
          return false ;
Newsgroup: it.comp.programmare.win32
Titolo: [OT] Bash per windows, dove trovarla??

Come da oggetto qualcuno sa dove trovare la bash per windows, ho provato al
sito del cygnus, ma da quando č diventata redhat non si capisce piů nulla
Grazie dell'aiuto
--
-----------------------------------
Marco Pinna
e-Mail: 
fand...@eudoramail.com
-------------------------------------

 sito del cygnus, ma da quando č diventata redhat non si capisce piů nulla
Tutti i link sono su 
http://sourceware.cygnus.com/cygwin/
Il mirror in Italia credo che sia
ftp://ftp.unina.it/pub/Unix/cygnus/cygwin/
Per bash specificamente, credo ti serva:
ftp://ftp.unina.it/pub/Unix/cygnus/cygwin/latest/bash/bash-2.04.1.tar.gz
Alex

Newsgroup: it.comp.programmare.win32
Titolo: Domanda da principiante

Salve a tutti,
una piccola domanda.
In molti file di intestazione trovo questo blocco:
#ifdef __cplusplus
extern "C" {
#endif
......
#ifdef __cplusplus
}
#endif
Qualcuno potrebbe spiegarmi cosa significa e perchè alcuni prototipi di
funzione vengono inseriti in questo blocco?
Vi ringrazio
Saluti
Sardone

 Sardone
Per evitare il mangling dei nomi delle funzioni da parte del
compilatore C++. Questo evita che un il linker dia messaggi di
errore di simbolo non trovato quando si linkano assieme file
oggetto prodotti con compilatore C e con compilatore C++.
C:\>iao Angelo
 
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.programmare.win32
Titolo: Come vedere gli entry-point di una DLL?

Salve a tutti!!
Sono un ex-programmatore in C++ e sono un po' arrugginito.
Ricordo che con Windows 95 era possibile, utilizzando un programma di
sistema che non ricordo più quale fosse, vedere l'elenco degli
entry-point
di una DLL.
Ricordo che aveva un nome tipo *Anteprima*.
Qualcuno di voi è in grado di darmi un utile suggerimento ?
Grazie
Cricca
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Qualcuno di voi è in grado di darmi un utile suggerimento ?
le DLL hanno *un solo* entry point: la DllMain; se quello che vuoi fare è
vedere gli exports, puoi utilizzare un programma che si chiama PEView, in
grado di analizzare qualsiasi immagine PE:
http://www.magma.ca/~wjr/peview.zip
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

> 
http://www.magma.ca/~wjr/peview.zip
Pardon, il link non funziona; cmq scaricalo qui:
http://www.magma.ca/~wjr/

Newsgroup: it.comp.programmare.win32
Titolo: La Microsoft colpisce ancora...

Salve.
Scrivo questo messaggio in merito a quello precedente già mandato da me,
in merito alla questione del ingresso Phone del mixer in registrazione.
Ebbene... la traduzione Microsoft colpisce ancora...
Provando e riprovando, ho inserito come fonte di registrazione cuffie (?)
e, magia, sono riuscito di nuovo a registrare dal modem.
Ora, cosa centri cuffie col modem, è un mistero. O meglio lo era,
perchè riflettendoci head-PHONE vuol dire cuffie..............
W i traduttori Microsoft!

 W i traduttori Microsoft!
traduco meglio io... ^^
e dico x davvero! ^^
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Newsgroup: it.comp.programmare.win32
Titolo: Installazione eseguibile con DLL

Salve a tutti,
ho dei piccoli problemini sulla consegna del mio eseguibile sviluppato in
VC6++ Inglese ( no SP ) , quest'ultimo viaggia con altre 2 DLL anch'esse
sviluppate con lo stesso tool, sul mio PC tutto funziona, mentre se faccio
un copia e incolla del .exe e delle 2 .dll su un altro computer succede il
48.
Premetto che anche sui PC di consegna è installato VC6++ ( Italiano ).
Gli errori fin ora trovati sono di solito di "Memory Assertion Failed"
1 - Sulla Send del socket.
2 - Quando Linka alle 2 .dll
e altre ancora inspiegabili.
Potrebbe essere un problema di versione tool ( in queto caso Lingua ) VC6++?
Grazie anticipatamente a tutti e buon lavoro
Saluti: Roberto

 e altre ancora inspiegabili.
Se il programma usa piů thread allora assicurati di usare le librerie
adatte. Assicurati di consegnare la versione Release e non Debug e al limite
prova a copiare le DLL nella directory System.
Il tuo codice esegue controlli sull'esito delle chiamate alle API? (connect,
send, ecc...)
Kiuhnm

 news:agc2pu$6ch$1...@e3k.asi.ansaldo.it...
[ cut ]


 ciao e grazie
Meglio così!
Kiuhnm

...
Hai il fastidiosissimo bug di Outlook Express che replica ad un
messaggio con il prefisso R: al posto dello standard (Re:). Ti prego
di scaricare la patch dalla microsoft, perché se no mandi in palla
l'archivio google delle news, oltre a qualche newsreader non
microsoft.
Grazie
--
zello

 wrote in message
news:c7729079.02071...@posting.google.com...

WOW, hai battuto MAMO sul tempo!
Kiuhnm

 wrote in message
c7729079.02071...@posting.google.com...


 Provo a chiedere, ma non è una cosa facile.
Prova ad andare su Strumenti --> Opzioni --> Invio --> Impostazioni
Internazionali e seleziona la checkbox che dice: "In risposta al
messaggio utilizza sempre intestazione inglese". Questo dovrebbe
risolvere.
Inoltre cerca di quotare (citare il messaggio e rispondere) in maniera
corretta: si risponde *sotto* alle parti quotate e non sopra, riportando
solo l'essenziale (omettendo quindi firma, intestazione, saluti, ecc.).
Happy Coding
Lokar
Newsgroup: it.comp.programmare.win32
Titolo: Player di mpeg

Salve a tutti,
volevo provare a visualizzare un MPEG (come primo passo, anche senza 
audio), usando C++. In realta', vorrei sviluppare in C++ + MFC proprio 
un controllo OCX/ActiveX riusabile anche da Visual Basic o altri 
ambienti RAD. Tale controllo dovrebbe consentire, appunto, di 
visualizzare l'MPEG in una finestra, oltre ad esporre metodi tipo Play
(), Pause(), e simili.
A quale libreria/API di Windows dovrei appoggiarmi per playare l'MPEG?
Sapete se ci sono librerie open-source per questi scopi?
Grazie,
Ciao
Dan

 A quale libreria/API di Windows dovrei appoggiarmi per playare l'MPEG?
Vuoi decodificare tu il flusso mpeg o usare qualcosa di già fatto? 
-- 
Luc

 Vuoi decodificare tu il flusso mpeg o usare qualcosa di gi=E0 fatto?=20
Non vorrei scendere nei dettagli dell'mpeg. Mi piacerebbe avere a 
disposizione una qualche API di livello abbastanza alto (che ad, 
esempio, mi permetta di estrarre i vari frame dal file mpeg).
Ho cercato un po'...mi pare ci sia DirectShow come componente di DirectX 
9...

 9...
Esatto. Ci sono un sacco di esempi nell sdk. 
-- 
Luc

 ha scritto nel messaggio
news:MPG.1a9c137cd...@powernews.libero.it...

Io per ora sono riuscito a visualizzare gli mpeg sotto windows in 3 modi:
1)Con le librerie winmm.lib msacm32.lib vfw32.lib (vedere il comando
MCIWndCreate)
2)Con le librerie directshow
3)Con le librerie SDL e le librerie LGPL smpeg
Non so bene però se le prime due sono free.
Anche se non sono un esperto, mi pare che per quello che vuoi fare forse le
DirectShow siano le più semplici(guarda qui:
http://www.flipcode.com/tutorials/tut_dshow02.shtml
 buona parte del lavoro è
già fatto!)
Newsgroup: it.comp.programmare.win32
Titolo: non comprendo questa istruzione

sono un novello programmatore win32 che arriva dalla programmazione c su
unix.
qualcuno mi spiega il significato di questa istruzione?
QPapero::ePriority priorità = QPapero::normal
grazie
Sergio

 QPapero::ePriority priorità = QPapero::normal
E' il namespaces del C++.
In due parole in C++ puoi dichiarare due variabili con lo stesso nome
definite però in namespaces differenti.
Esempio:
namespace Alfa
{
    class MiaClasse { ... }
}
namespace Beta
{
    class MiaClasse { ... }
}
/* In questo modo ho definito due volte la classe MiaClasse in due
namespaces differenti */
main () {
    /* Dichiaro un oggetto di tipo MiaClasse definita nel namespace Alfa */
    Alfa::MiaClasse MiaClasseAlfa;
    /* Dichiaro un oggetto di tipo MiaClasse definita nel namespace Beta */
    Beta::MiaClasse MiaClasseBeta;
}
N.B.
Il posto esatto dove postare questa domanda era it.comp.lang.c++

 QPapero::ePriority priorità = QPapero::normal
QPapero e` una classe che contiene un tipo ePriority (probabilmente
un'enumerazione), e normal e` uno dei possibili valori. Qualcosa tipo:
class QPapero
{
    ...
    typedef enum {
        normal,
        high,
        realtime,
        ...
    } ePriority;
    ...
}
P.S. QPapero?! Cos'e`, una libreria di simulazione etologica? :-)))
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

QPapero e` una classe
Hmmm... non credo, temo che sia un namespace come suggerisce
Guglielmo.
--
Andrea Laforgia (UIN 87230455)
----------------------------------------------------------
Non scrivetemi per e-mail, se non richiesto espressamente.
No replies in private e-mail, unless explicitly requested.
----------------------------------------------------------

Guglielmo.
In generale, ripensandoci, non si puo' affermare cosa sia esattamente
QPapero, in quanto :: e' un semplice specificatore di visibilita'. E'
sicuramente un contenitore di oggetti, alla stregua di una classe o di
un namespace.


Newsgroup: it.comp.programmare.win32
Titolo: Fissare una colonna in una dbgrid

Salve, utilizzo c++ builder 5 e io vorrei se è possibile in una 
dbgrid, fissare ad esempio la 2 colonna a sinistra e far scorrere 
tutte le altre.
Grazie a Tutti
Giancarlo

 ha scritto nel messaggio 
news:49916c02$0$1121$4faf...@reader2.news.tin.it...

Si, è possibile.
C. 

Carmelitano ha scritto:

Grazie, ma, potreste darmi una dritta....
Giancarlo
Newsgroup: it.comp.programmare.win32
Titolo: Bug nel PSDK...

Ciao, ho installato l'ultima versione del Platform SDK, ho modificato le
opzioni del Visual C++ 6.0 di modo che ora gli include file ed i lib file
vengano cercati nelle cartelle del PSDK...
Mi sono accorto di un problema: il seguente frammento di codice,
LRESULT CWrlViewView::OnOpenFile(WPARAM WParam, LPARAM LParam)
{
CFileDialog cOpenFile(TRUE, _T(""), _T(""), OFN_HIDEREADONLY |
OFN_OVERWRITEPROMPT);
int nResult = cOpenFile.DoModal();
if ((nResult != 0) && !cOpenFile.GetPathName().IsEmpty())
  m_Explorer.Navigate(cOpenFile.GetPathName(), NULL, NULL, NULL, NULL);
return 0;
}
non funziona, o meglio, una volta chiusa la CFileDialog, sia premendo OK che
CANCEL, il sistema solleva una ACCESS VIOLATION nel file Kernel32.dll
Mi sono accorto che se uso un puntatore a dialog, del tipo:
CFileDialog *cOpenFile = new CFileDialog(...)
il tutto funziona...
Quello che vorrei capire e' se si tratta di un BUG o cosa, tenendo presente
che:
Nelle opzioni del Visual C++ 6 ho aggiunto le directory
D:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE
D:\PROGRAM FILES\MICROSOFT PLATFORM SDK\LIB
NON le versioni prerelease...
Ho notato che aggiungendo queste directory ed usando i nuovi header, posso
accedere a nuove macro quali ad esempio la comodissima
ListView_SetCheckState.
Qualche idea?
Ciao, buon lavoro, Davide.
---------------------
Davide Piras
NRC - CNRC - CANADA
davide...@nrc.ca
---------------------
-- 
Posted from 
origin.vit.iit.nrc.ca
 [132.246.41.10] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Ho risolto, il problema si verifica solo quando inserisco le righe
#define WINVER    0x0500
#define _WIN32_WINNT    0x0500
nel file stdafx.h
Ma a questo punto non ho capito una cosa: dove devo definire queste
costanti??
Se voglio accedere a funzioni e/o strutture specifiche per Win2000 da
qualche parte dovro' pur metterle...
P.S. mi era stato suggerito di metterle prima dell'inclusione di windows.h,
ma in un progetto MFC windows.h non viene incluso, per lo meno non nei miei
sorgenti (il framework pensa a tutto...).
Grazie, ciao, Davide.


 ha scritto nel messaggio news:BHEKJEKAPCNFBMCMACAF...@nrc.ca...


prima di includere gli headers (afx*.h)
No! E' proprio quello che ho cercato di fare ma le conseguenze sono state
disastrose, vedi il mio primo post del thread...


Newsgroup: it.comp.programmare.win32
Titolo: NFS Client for XP

Salve a tutti,
non credo di essere OT, se lo sono chiedo scusa...
devo sviluppare un programma che permette il download e upload di file da
una macchina unix.
Per ora conosco solo la tecnologia SAMBA, ma non posso installarla per
restrizioni di Progetto, e mi hanno consigliato NFS Client/Server.
Ora immaginando che su UNIX ci sia il Server, sul mio PC WinXP ci dovrà
stare un Client, ma esiste già in WinXP, oppure bisogna mettere un prodotto
esterno?
Grazie
JoGiò

 ha scritto nel messaggio 
news:_poTd.586148$b5.26...@news3.tin.it...

Ciao,
beh, se sulla macchina unix è installato un ftp server...
Newsgroup: it.comp.programmare.win32
Titolo: GetProcAddress e Overload

Ho una dll (la dll non è mia non ho il file .lib), con varie funzioni, di
cui una ha un overload: può accettare un parametro di tipo int o char*;
Uso LoadLibrary e GetProcAddress per risalire a un puntatore alla funzione
(che poi casto).
Tutto funziona bene, tranne quando tento di chiamare la funzione
overloadata(quella con char*, per l'altra funge bene):
GetProcAddress ritorna l'indirizzo della prima funzione(quella con l'int), e
quando tento di chiamarla il programma crasha.
Qualche idea?

 cui una ha un overload: può accettare un parametro di tipo int o char*;
Se usi l'overload allora usi il C++.
...allora i nomi delle funzioni sono "decorati" (proprio per 
"disambiguare" gli overload), quindi se usi GetProcAddress() devi fare 
attenzioni ai nomi "veri", quelli "decorated" dal compilatore (e non a 
quelli "semplici" che scrivi tu quando programmi in C++).
Dan

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

Salve a tutti !
Vorrei sapere se e' possibile utilizzare e/o creare controlli ActiveX in SDK
!
Grazie a tutti !

 Vorrei sapere se e' possibile utilizzare e/o creare controlli ActiveX in
SDK
Si`, e` possibile, ma scrivere un ActiveX container COMPLETO da
zero e` un lavoro ***ENORME***.  Dubito che convenga.
Gia` c'e` tanto da fare per arricchire il containment fornito dall'ATL
verso la completezza (MSJ, copia corrente).
Per un esempio di minima (il controllo Microsoft ScriptControl, che
non pone quasi nessuna esigenza al suo container!-), do un esempio
sul mio tutorial a 
http://aleax.supereva.it/
; e` quasi l'unico esempio
che io conosca di uso del COM da linguaggio C al di fuori dei tutorial
Microsoft in merito.
Alex

Newsgroup: it.comp.programmare.win32
Titolo: Finestre dipendenti in un prog. MDI

Salve a tutti.
Come faccio in un programma MDI a fare in modo che da una finestra
dipendente (cliccando su un pulsante) si apra un'altra finestra
dipendente?
E invece a salvare dei dati utili e visibili per tutte le finestre
dipendenti? Uso delle variabili globali?
Ciao e Grazie.
Giacomo

 ha scritto nel messaggio
news:38d7f535...@news.tiscalinet.it...


>Ma che linguaggio usi?
Che scemo, non l'ho specificato, scusa.
Uso il C/C++

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

Su Programmare Windows di Petzold si fanno esempi di multithread con la
funzione _beginthread che richiede il file <process.h>. Nonostante io
includa questo file, il compilatore (Visual C++) mi da l'errore:  error
C2065: '_beginthread' : undeclared identifier
Devo includere qualche libreria? Qual è il prolema? Altre soluzioni?
Aiutooo!!!
Garzie 1000

 Aiutooo!!!
Non so, puoi andare su Project > Settings > C/C++ > Code Generation
e verificare che "Use run-time library" sia impostato su Multithreaded
Newsgroup: it.comp.programmare.win32
Titolo: LPTSTR e array di char

Vorrei sapere qual'è la differenza. Finora ho sempre utilizzato l'array di
char.
E poi perchè la seguente istruzione non funziona:
LPTSTR lpbuffer;
GetWindowsDirectory(lpbuffer,MAX_PATH);
Ossia lpbuffer mi restituisce un errore.
La documentazione dice che ci vuole un puntatore al buffer.
LPTSTR sempre in base alla documentazione è definito come un puntatore a una
stringa.
Non dovrebbero essere la stessa cosa ? Sempre di puntatori a una locazione
di memoria si tratta o no?
Ciao
Grazie ancora

:

LPTSTR è definito come TCHAR* (char* se in ASCII, wchar* se in UNICODE).
Tu probabilemente utilizzavi:
    	TCHAR buffer[MAX_PATH+1];
    	GetWindowsDirectory(buffer,MAX_PATH);
In questo caso allochi sullo stack MAX_CHAR+1 caratteri (per ragioni di 
portabilità tra ASCII e UNICODE sarebbe sempre meglio usare TCHAR) e li 
passi alla funzione.
Nel caso che hai indicato tu:
    	>LPTSTR lpbuffer;
    	>GetWindowsDirectory(lpbuffer,MAX_PATH);
equivalente a:
    	TCHAR* lpbuffer;
    	GetWindowsDirectory(lpbuffer,MAX_PATH);
Non hai allocato la memoria in cui memorizzare la stringa ritornata dalla 
funzione (ricordati che le API non allocano mai memoria, si aspettano 
sempre che tu gli fornisca un buffer, salvo casi particolarissimi e 
generalmente ben documentati) e quindi lpbuffer punta a una locazione 
indefinita.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

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

qualcuno mi puň illuminare su IRC e su come utilizzarlo per creare una
chat?
so che uno dei programmi di chat piů famosi per IRC č mIRC.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 so che uno dei programmi di chat piů famosi per IRC č mIRC.
il protocollo IRC lo puoi trovare su:
http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1459.html
in questo documento trovi tutte le informazioni utili per interfacciarti ad
un server IRC
e poter di conseguenza dialogare..
un server sul quale puoi fare delle prove č : 
irc.tin.it
 porta 6665

chat?
http://www.irchelp.org/irchelp/rfc/rfc.html
-- 
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".

 --
oltre a leggere l'rfc puoi aiutarti con il debug del mirc.
In mirc esiste un comando /debug on (mi pare) che ti crea un file di log di
tutti i messaggi sia ricevuti che trasmessi,in questo modo potrai imparare
molto piů facilmente.
ciao
------------------------
http://visualwx.altervista.org/
nuova release 0.6
VisualWx rad per wxwindows,c++ e python

perfetto, grazie a tutti


Newsgroup: it.comp.programmare.win32
Titolo: Grafico per monitorare un processo

Ho un dato acquisito da una porta seriale
e devo mostrarlo a video su un grafico in due dimensioni,
in funzione del tempo.
Come posso fare?
Ho a disposizione VC++ 6 e Borland C++ Builder 3
Grazie

 ha scritto nel messaggio
news:2h1c6oF...@uni-berlin.de...

Newsgroup: it.comp.programmare.win32
Titolo: Tool di log

Ciao,
  sono Elena, sto lavorando per la mia tesi ed ho un urgente
bisogno del vostro aiuto.
  Mi servono delle informazioni su tool tipo spy++ per windows95,
che mi forniscano il maggior numero possibile di informazioni
sull'interazione dell'utente con una generica applicazione windows.
______________________________________________________
Get Your Private, Free Email at 
http://www.hotmail.com
--
Posted from [193.204.187.164] by way of 
law2-f47.hotmail.com
 [216.32.181.47]
via Mailgate.ORG Server - 
http://www.mailgate.org

Dai un'occhiata alle API Toolhelp.

sull'interazione dell'utente con una generica applicazione windows.
Non ho capito cosa chiedi esattamente: informazioni sui tools o i tools
veri e propri? Nel primo caso, Spy++ funziona installando degli "uncini"
(hook) di sistema. Windows quando deve mandare un messaggio ad una
finestra controlla prima se qualche applicazione si e' installata come
hook; in tal caso manda prima il messaggio all'applicazione hook, la quale
ne decidera' la sorte: puo' processare il messaggio come vuole, dopodiche'
puo' passarlo o meno alla finestra che ne era inizialmente destinataria.
Almeno credo funzioni cosi'.
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!

Newsgroup: it.comp.programmare.win32
Titolo: Finestra con memoria

Per quale motivo impostando alcuni parametri per default di alcuni
elementi di una finestra (es. ItemIndex di un group box) quando la
chiudo e poi la riapro mi ritrovo gli ultimi settaggi impostati? Dove
vengono memorizzati i valori? Come e' possibile avere la finestra nelle
stesse condizioni di quando l'ho aperta la prima volta?
Ciao
Max

 ha scritto nel messaggio
news:97205917...@spyke.goldnet.it...


 ha scritto nel messaggio
news:wiQr1sr...@newsmst.mcis.galactica.it...


 Max
Se per chiudere e aprire la finestra intendi chiuderla e aprirla in fase di
progetto i valori vengono salvati nel file di form (es. Form1.tds).
Ciao
Ermando
Newsgroup: it.comp.programmare.win32
Titolo: Andare a capo in un editbox

Salve a tutti,
quando con la funzione sprintf si scriveva:
sprintf(S, "pippo \n pluto");
il \n indicava di andare su una nuova riga.
Se provo a inserire quella stringa in un editbox non funziona...!
So che bisognerebbe inserire i codici ASCII 13 e 10, ma non riesco a trovare
gli identificatori giusti.
Cosa devo scrivere?
Grazie a tutti
Giovanni
PS
Mi era sembrato che qualcuno avesse già postato questo problema, ma non
trovo il post!

 trovo il post!
Più che altro è un problemino da manuale del C :-)

 ha scritto nel messaggio
news:2s1q5aF...@uni-berlin.de...

Cavolo, ricordavo "\n\r" e non funzionava!!!
La rete neurale ha fallito al 50%!!! mmm... ;-)
Grazie cmq...
Ciao
Giovanni.

 > Più che altro è un problemino da manuale del C :-)
Tanto per fare il manuale del C..
Quando la rete neurale falla, e il manuale è nella stanza accanto..
Ci sono sempre le sequenze di escape per aggiungere ad una stringa un codice
ASCII arbitrario..
char *crlf = "\x0d\x0a";
Anche per i wchar:
wchar_t *crlf = L"\x0d\x0a";

Newsgroup: it.comp.programmare.win32
Titolo: [HELP] ADO e VisualC++

Qualcuno potrebbe indicarmi quale libro o quale risorsa in rete mi può
essere utile ad interfacciare l'Access da VisualC++?
Grazie,
  Gio

essere utile ad interfacciare l'Access da VisualC++?
Se preferisci usare DAO (Data Access Object) puoi vedere
http://www.soft-land.org/articoli/daomfc.html
Davide

..penso proprio che mi servirą!
infinite grazie.
Giova
Newsgroup: it.comp.programmare.win32
Titolo: [Newbie] Microsoft eMbedded Visual C++ 4.0

Salve a tutti,
vorrei sapere cos'è esattamente il Microsoft eMbedded Visual C++ 4.0.
Grazie in anticipo! ^_^
--
Lupin85©
"...surrender your ego, be free, be free..."

L'ambiente di sviluppo per sviluppare applicazioni per Windows CE.Net (il
nuovo sistema operativo deo paòmari, pocket PC, etc..)
Ciao,
    Luigi
--
Luigi Bianchi
http://www.luigibianchi.com
n...@luigibianchi.com
Programming, C++, OWL, VCL, SDK, Dfm2API
"Lupin85©" <rasmus^2...@ct.edu.26> ha scritto nel messaggio
news:7cMH8.6622$ie.1...@twister2.libero.it...


Newsgroup: it.comp.programmare.win32
Titolo: c e access97

Salve a tutti,
    e' possibile in c eseguire delle query in un db access? Con quali
librerie? Si trova qualche esempio in rete? vorrei evitare il c++ in quanto
ne sono totalmente digiuno :-)
grazie 1000
Dade

 wrote in
news:41f8...@x-privat.org
: 

Puoi usare DAO (non più supportato, credo), ODBC o ADO (che, tra 
l'altro, ti dovrebbe consentire una maggiore portabilità futura verso 
altri tipi di DB).
Le API ODBC sono fatte per il C ma sono, IMHO, un po' ostiche.
DAO è compatibile solo con access.
ADO (come DAO), si basa su COM e il metodo più semplice per utilizzarlo 
è quello di utilizzare C++ e delle librerie di supporto (ti consiglio 
ATL).
Utilizzare COM da C è possibile, ma, IMHO, spenderai più tempo a 
scrivere dichiarazioni di strutture e giri vari di quello che ti 
servirà a imparare il minimo di C++ necessario per usare ADO.
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)
Newsgroup: it.comp.programmare.win32
Titolo: Stramega neofita: chiarimenti...

Ciao!
 Premetto che ho sempre programmato con soddisfazione (mia, nel senso
che riuscivo bene!) sotto Unix o Linux dir si voglia come mi avevano
insegnato a sQuola...
Ora vorrei passare a Windows, ho visto che alcune cose mi risultano
familiari, pero' adesso mi sto chiedendo:
1) la programmazione socket si puo' fare con le usuali chiamate
socket(), connect(), accept(), bind() o equivalenti API oppure e'
tutta diversa?
2) la gestione dei processi si fa sempre con fork(), pid etc... o
anche qui devo rimettere in discussione tutto cio' che ho imparato?
Grazie!

 anche qui devo rimettere in discussione tutto cio' che ho imparato?
Niente fork, quindi in effetti "rimetti in discussione"!
Richter, Programmazione avanzata Win32, Mondadori Informatica
(del titolo italiano non sono certo, ma di testi di Richter per
Mondadori ce n'e` uno solo, quindi non sbagli): tutto sui processi,
i thread, la gestione della memoria, ecc.
Non sulle socket, ma quello e` il meno.
La cosa piu` sostanziale: un nuovo processo su Win32 e` una cosa
PESANTE E IMPEGNATIVA, molto piu` che su Unix o Linux, e non si
gestisce "banalmente" con fork/exec.  Molto di quello che in Unix
faresti con processi in Win32 e` meglio invece farlo con thread, o
con un approccio completamente diverso basato su "event-loop".
Alex

 2) la gestione dei processi si fa sempre con fork()
In generale, no. Comunque per amor di precisione c'e` da dire che il
sottoambiente POSIX di NT supporta la fork().
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

Newsgroup: it.comp.programmare.win32
Titolo: [Visual Basic] leggere la durata di un mp3

Mi serve un ocx o perlomeno il codice del controllo Windows Media Player
(webvw.dll)
per leggere la durata di un mp3 nel formato MM:SS.
ho provato il mediaplayer1.duration, ma mi da un risultato stranissimo, tipo
222,45763857346
grazie
--
Katred
SUPREME FIDDer #10, The Creator

 --
Puň darsi che il brano duri 3:45 (3 minuti e 45 sec + spiccioli??)
Se č cosě quel risultato č in secondi...
altrimenti...
    BOOOOOOOO
:-))
Ciao
    Mao

 wrote in message
wEUU5.148$tE....@twister2.tin.it...


Newsgroup: it.comp.programmare.win32
Titolo: NOVITA'!

Tutti i progetti confluiscono in Visual Basic Italia, l'unico portale
italiano per la programmazione in Visual Basic:
http://digilander.iol.it/VBItalia/INDICE.html

 ha scritto nel messaggio
news:IMnL5.59343$3K3.1...@news.infostrada.it...

Newsgroup: it.comp.programmare.win32
Titolo: Cedit.Create

Ciao A tutti.
Ho scritto questo per creare una finestra in modo dinamico di tipo CEDIT
CEditEx MyEdit;
	CRect FRect;
	this->GetWindowRect(FRect);
	MyEdit.Create(ES_MULTILINE
			| WS_VISIBLE | WS_TABSTOP |WS_CHILD
			| WS_BORDER | ES_WANTRETURN,FRect,this,1);
Purtroppo però non appare niente quando la metto in qualsiasi funzione, anche in OnInitDialog.
Dove sbaglio?
Grazie
Ciao
F

 this->GetWindowRect(FRect);
Converti le coordinate da screen a client richiamando ScreenToClient
Riassumendo:
CMyDialog::CMyDialog()
{
	m_edit = new CEditEx();
}
CMyDialog::~CMyDialog()
{
	delete m_edit;
	m_edit = NULL;
}
BOOL CMyDialog::OnInitDialog()
{
	CDialog::OnInitDialog();
	CRect rect;
	GetWindowRect(rect);
	ScreenToClient(rect);
	m_edit->Create(...);
	return TRUE;
}
Cyo

Ho Capito! Grazie mille!
F

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

Salve a tutti volevo chiedervi una cosa: se un processo setta un evento ed
il processo muore l'evento rimane attivo oppure viene disattivato?
Grazie in anticipo per un'eventuale risposta.

 
Se almeno un altro processo ha un handle valido per lo stesso evento, 
l'evento rimane settato, altrimenti viene distrutto. In questo caso se 
il programma che legge lo stato utilizza OpenEvent riceverà un errore, 
altrimenti l'evento assumerà lo stato definito dal terzo parametro di 
CreateEvent.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

GRAZIE
"Valter Minute" <vmi...@REMOVEMEinwind.it> wrote in message
news:Xns9191A9C7DA8...@212.110.0.170...


 
Prego.
La prossima voltà però, evita di ripetere tutto il messaggio a cui 
rispondi e (anche se apprezzo la tua cortesia) puoi evitare in toto i 
messaggi di ringraziamento:
http://www.uwasa.fi/~ts/http/quote.html

Newsgroup: it.comp.programmare.win32
Titolo: Come riconoscere se l'utente lancia un programma una seconda volta?

Come fa un programma a capire se viene lanciato due volte di seguito ? Mi va
bene anche una risposta con le MFC.
Grazie
        Max

 wrote in message
news:7rlnni$cl3$1...@news.flashnet.it...



Devi creare un mutex associandogli un nome.
La seconda istanza del programma non riuscirà ad acquisire il controllo del 
mutex fino a che la prima non è terminata (rilasciando il mutex).
Dai un'occhiata alla documentazione della funzione CreateMutex per 
ulteriori dettagli.
-- 
Valter Minute - 
min...@fortech.it
 (the reply address of this message is 
invalid)
--
Are you looking for a good freeware ScreenSaver? Try FOYD!
http://hotfiles.zdnet.com/cgi-
bin/texis/swlib/hotfiles/getit.bin?fcode=000PZ0
if you want, I can send you the (free) C++ source code.


Questo metodo è un "uovo di colombo" solo all'apparenza, se le due 
applicazioni vengono lanciate quasi contemporaneamente (magari perchè il 
sistema è rallentato da qualche altra applicazione e l'utente prova a 
cliccare ripetutamente sull'icona...) è possibile che tutte è due eseguano 
la FindWindow _prima_ che l'altra istanza abbia creato la finestra (o 
cambiato il titolo). In questo caso le due applicazioni rischiano di 
"ignorarsi" a vicenda.


  
Giusto, e il rimedio e` far si` che l'applicazione ottenga alla partenza
un mutex (API CreateMutex, e WaitForSingleObject etc), un oggetto 
di kernel di "mutua esclusione".
Se anche due istanze partono "simultaneamente", comunque una sola 
delle due otterra` per prima il mutex (ci pensa il kernel a garantire
questo), 
mentre l'altra rimarra` in attesa.  Questo garantisce che la zona di
codice che esegue la ricerca con FindWindow, e "parte davvero" se
non trova altre istanze attive, &c viene eseguita in modo sequenziale
fra
eventuali molteplici istanze "simultanee", evitando completamente la
"situazione di corsa" che Valter evidenzia.
Alex
Newsgroup: it.comp.programmare.win32
Titolo: cookie

salve a tutti,
come si fa a decriptare un cookie?
mi potete dare qualche informazione?
Grazie
-- 
Posted from  [213.213.71.66] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 mi potete dare qualche informazione?
Ogniuno nel cookie ci scrive quello che vuole, come vuole. L'unico modo sicuro 
per 'decriptarlo' è chiedere ha chi te l'ha creato. 8)
-- 
Luc.

Luc ha scritto...

Troppe h... 8))) 
-- 
Luc.

 mi potete dare qualche informazione?
http://home.netscape.com/newsref/std/cookie_spec.html

 mi potete dare qualche informazione?
Altra fonte per avere informazione:
ftp.isi.edu/in-notes/rfc2109.txt

Newsgroup: it.comp.programmare.win32
Titolo: accesso porta parallela

Salve,
  ho usato in passato un programma che si garantiva l'accesso alla porta 
parallela con il DriverLINX I/O driver su Win2000. Quanto ho avuto 
necessitą di usarlo di nuovo ha smesso di funzionare con l'errore 
canonico di Istruzione privilegiata.
Ho installato questa, e altre utility simili, e sembrano fallire tutte.
Mi chiedo.. hanno cambiato qualcosa ? Privilegi nuovi, Aggiornamenti 
automatici con patch di sicurezza che hanno inficiato il funzionamento 
di questi device driver ?
Sento niente ?
Ciao

Ok.
Scusate, come non detto.
La cosa si è risolta da sola.  Disinstallando e reinstallando tutto 
quello che era collegabile in qualche maniera al tema.
Non si può capire sempre tutto.. :-\
Grazie lo stesso.

Newsgroup: it.comp.programmare.win32
Titolo: Simple API for XML (SAX)

            Salve a tutti in qualche altro post chiedevo come gestire in
scrittura e in lettura dei file xml, dopo qualche ricerca e aiuto ho trovato
queste routine, sto visionando e dando un'occhiata per vedere cosa si può
fare con queste, finora ho letto soltanto di routine come reader. Qualcuno
di voi che l'abbia già usato sa darmi qualche delucidazione?
                Grazie.  Andrea


Sono interessato all'argomento, e alle tue ricerche, anche se non sono 
in grado di aiutarti. Fammi sapere.
Pssssssss... Ma gia usato cosa ?

 Pssssssss... Ma gia usato cosa ?
"Il SAX", anche se effettivamente il singolare maschile non è molto
indicato, meglio "le SAX"?
Ciao. Andrea.
PS. Se trovi qualche sorgente di prova in giro.... fammelo avere.

 
Post per i pigri:
http://www.saxproject.org/
Ok. Questo è il SAX !!!
Era un po' nascosto nel titolo e ignoravo l'argomento.
Ciao
Newsgroup: it.comp.programmare.win32
Titolo: AIUTO!! Visual C++ e date

Sono una new entry del newsgroup e del Visual C+ e Vi chiedo un piccolo
ma urgente aiuto:
Devo confrontare la data di creazione di un file con una data scritta
sottoforma di carattere
CTime dData_File // la data del file (tipo CTime)
CString cData // la data da confrontare (tipo CString "07/11/2002"
COleDateTime dData // la data convertita da quella stringa
// Qui dovrei provare a unificare i tipi per confrontarli
// provo a convertire la stringa in COleDateTime
cData = cData + " 00:00:00";
lRet = dData.ParseDateTime((char*)&cData);
// lRet ritorna # 0 quindi la conversione dovrebbe essere andata bene
// devo esguire il confronto
if (dData_Zip > dData)
//oppure
if (dData_Zip > (CTime)dData)
Ma il confronto non avviene come devo fare, PER FAVORE!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 if (dData_Zip > (CTime)dData)
Qui (forse) ho trovato due errori :-)
1) chi sarebbe dData_Zip?
2) Il cast (alla C per giunta...) di un oggetto COleDateTime in un oggetto
CTime è MOLTO pericoloso, in quanto sono due oggetti che non hanno alcuna
relazione tra loro.
--
  Jerle Shannara
Per rispondere in email togli JERLEANTISPAM
homepage 
http://utenti.tripod.it/jerleshannara

Scusa ma probabilmente non sono stato chiaro nel primo messaggio (oltre
l'errore di aver digitato dData_Zip anzichč dData_File).
Il problema č questo:
devo leggere la data di creazione di un file e lo faccio con :
dData_file = status.m_mtime; // e questo mi restituisce un CTime
poi devo leggere una stringa memorizzata nel Registro di Sistema con una
funzione che mi restituisce appunto una stringa
cData = Leggi_Registro("DataAggiorna"); // restituisce una CString
poi devo sapere se la dData_File č piů recente di cData...
come devo fare?
La tua indicazione mi sembra corretta ma non riesco a metterla in
pratica
Con queste istruzioni converto la CString in dOleDataTime ?
COleDateTime dData;
cData = LPCTSTR(cData + " 00:00:00");
lRet = dData.ParseDateTime(cData);
Poi applico il tuo suggerimento:
dData_Zip = status.m_mtime;
SYSTEMTIME timeDest;
dData_Zip.GetAsSystemTime(timeDest);
COleDateTime dOleData_File(timeDest);
A questo punto dovrei avere 2 COleDateTime dData e dOleData_File
Come li confronto ? Se faccio
if (dOleData_File > dData)
Mi dice per qualunque valore che č falso segno che non funziona..
Ti prego scrivimi due righe di codice anche in privato se vuoi
Ciao roberto


 Mi dice per qualunque valore che è falso segno che non funziona..
E' impossibile che sia falso per qualunque valore, segno che c'è qualcosa
che non va nel tuo codice. Mi suona strano, ad esempio, che concateni alla
data l'ora 00:00:00, potrebbe essere questo il problema. Controlla con il
debugger i valori degli oggetti COleDateTime prima e dopo le varie righe di
codice. Al limite, prova a vedere se il confronto elemento per elemento
degli oggetti COleDateTime funziona cioè qualcosa del tipo:
if (dOleData_File.GetYear() > dData.GetYear() &&
    dOleData_File.GetMonth() > dData.GetMonth() && // etc etc)

Newsgroup: it.comp.programmare.win32
Titolo: Invio di sequenze di tasti

Ciao a tutti,
devo inviare da una applicazione in Visual C++ una sequenza di tasti
(tipicamente gli ALT+qualcosa) ad un'altra applicazione.
Ho usato il messaggio WM_SYSCHAR ma non mi sembra il metodo migliore, non
c'e' quacle altra soluzione (spulciando nell SDK non ho trovato nulla).
grazie a tutti.

 wrote in message
7un7o7$o95$1...@fe2.cs.interbusiness.it...

Puoi usare l'API keyb_event oppure, se sei sotto Win98 o WinNT 4 SP3 l'API
SendEvent (se devi scegliere tra le due la migliore è quest'utima). Comunque
anche inviare messaggi WM_SYSCHAR non è una cattiva idea se viene utilizzata
opportunamente (per esempio riunire l'invio dei tasti, soprattutto se
numerosi, in un thread).
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

 c'e' quacle altra soluzione (spulciando nell SDK non ho trovato nulla).
Prova la keybd_event... (win32 API)
Ciao :-)
--
(¯`·.¸¸.·´¯`·.¸¸.-> Andrea <-.¸¸.·´¯`·.¸¸.·´¯)
AntiSpam: rimuovere il trattino basso dall'indirizzo per rispondere
AntiSpam: remove the underscore from the e-mail address to reply

 SendEvent (se devi scegliere tra le due la migliore è quest'utima).
solo per dire che le due API corrette sono
keybd_event
e
SendInput
ciao,
Lorenzo

 keybd_event e SendInput
Hai ragione. Oh, ne avessi azzeccata una!!! :-)


Innanzitutto grazie per le risposte,
ma ho ancora un problema (che mi si presentava anche con la WM_SYSCHAR),
come posso reperire
gli scan core corrispondenti ad un carattere senza dovermi digitare a mano
tutta la tabella?
Grazie

 wrote in message
7v1pma$sim$1...@fe1.cs.interbusiness.it...

Da quello che dice l'MSDN gli scan code sono dipendenti dall'hardware
quindi, a meno che non corrispondano agli scan code sotto DOS (in tal caso
qualcosa l'avrei), non saprei dirti.

Newsgroup: it.comp.programmare.win32
Titolo: Debuggare una dll!

Salve a tutti,
sto cercando di inettarmi in un processo con una dll....  il mio piu' grande
problema e' riuscire a seguire l'esecuzione del codice....
come si fa a debuggare quando si utilizza un dll iniettata.
Io ho cercato di usare i vecchi cari fprintf ma mi succedono cose strane e
non riesco a capire piu' se e' il programma che non funziona o io che
sbaglio!
Il problema e' che la dll viene iniettata in tanti processi (e' un hook di
sistema quindi lo installo in tutti i thread), quindi quando uso la mia
variabile globale m_logFile succedono cose strane.... o mi crasha
l'applicazione, o non scrive niente, oppure a volte scrive qualcosa.....
come faccio a gestire questa cosa? oppure quali soluzioni migliori ci sono?
bye
Johnny

 qualcosa.....
Penso che per scrivere contemporaneamente su un file da piu` processi sia
consigliabile aprirlo in maniera asincrona. Oppure al limite puoi usare un
mutex per coordinare le scritture, ma non credo che sia necessario.
--
Bye! Lorenzo Lutti
http://antani.virtualave.net/

 oppure quali soluzioni migliori ci sono?
usa la funzione DebugPrint, con un programma esterno che metta un hook 
esterno per intercettare la chiamata a DebugPrint senza dover debuggare 
ogni singolo processo (ne trovi uno qui: 
http://www.sysinternals.com/
 , 
mi pare si chiami DebugView)
Ah, mi raccomando, *mai* usare variabili globali. Se proprio ne hai 
bisogno, usa le sezioni di memoria condivisa

 sbaglio!
Io invece dei fprintf mi son messo a usare le MessageBox...
Stoppo la Dll e gli faccio aprire una finestrina a video col
messaggino e il bottoncino OK... :-)

 bisogno, usa le sezioni di memoria condivisa
perchč?
ogni istanza della dll dovrebbe avere una sua copia locale delle variabili
dichiarate globali!
bye
Johnny

: 

Appunto. E allora che variabili globali sarebbero? Se quello che ti 
serve sono delle variabili globali nel contesto dei singoli processi, 
ok, se vuoi delle variabili realmente globali la memoria condivisa va 
piů che bene

 più che bene
forse c'è stato un fraintendimento nei termini....
per me variabili globali sono in questo caso variabili che possono essere
utilizzate da ogni funzione contenuta nella dll.....
se poi una dll viene caricata in diversi processi ogni volta utilizzerà
all'interno di quel processo una sua variabile globale che non interferisce
con quelle nelle altre istanze!
questo è quello che mi sembra di aver capito.... giusto?
se è così non capisco il senso del tuo intervento!
bye
Johnny