mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: Help TESI: doppio link librerie

Ciao ragazzi mi serve una mano:
Ho postato il seguente messaggio su it.comp.lang.c (e c++)
--------------------------------------
Uso il VC6 e il problema è in alcune librerie (delle quali ho il
codice sorgente) che linko.
Nelle librerie ci sono delle variabili globali (dichiarate fuori da
tutte le funzioni).
Quando io chiamo la funzione che mi 'inizializza e crea' il mondo
questa setta alcune di queste variabili globali. 
A me occorrerebbe che alla seconda chiamata venisse create un NUOVO
mondo invece ovviamente le funzioni fanno sempre riferimento alle
stesse var globali.
L'idea sarebbe di duplicare le librerie e di cambiare tutti i nomi di
variabili, strutture e funzioni aggiungendo un '2' alla fine magari e
compilare le librerie due volte con due nomi diversi e linkarle
entrambe  Però sarebbe un lavoro da pazzi e che richiederebbe una
precisione che uno non riesce ad avere per una cosa così noiosa.
---- Qualcuno ha un'idea?
In c++ se non sbaglio ci sono i namespace ma sarebbe una impresa già
solo mettere i namespace a tutte le dichiarazioni.
---- Non c'è qualche opzioni del compilatore che rende DIVERSO lo
spazio dei nomi di due librerie UGUALI? (in tal caso come faccio a
chiamare una funzione o l'altra?)
Ho fatto una copia delle librerie (pari pari) ele ho linkate
entrambe...mi sembra strano ma il vc non mi da nemmeno errore.
Help ME PLEASE
--------------------------------------
e ho ricevuto come risposta da un ragazzo gentile:
*****************************
crei un altro processo: e' o non e' un altro mondo? poi userai una
delle 
forme di condivisione di memoria, se necessario, del sistema operativo
per sapere come, it.comp.programmare.win32
*****************************
Chi mi da una mano? 
Grazie in anticipo
	-raffaele

mai sentito parlare di classi e programmazione Object Oriented ?
CIAO

Io ne ho sentito parlare ma forse tu non hai capito bene quale è il
problema.
Come potrei risolvere secondo te con la programmazione ad obj?
(ovviamente non è contemplata la possibilità di riscrivere tutte le
librerie).
In ogni caso ho risolto facendo due processi (un pò zozza come cosa ma
sembra funzionare anche se ancora non capisco bene cosa succede quando
la pipe, che uso per la comunicazione, è piena).
CIAO


Newsgroup: it.comp.programmare.win32
Titolo: [C]CreateWindow

Programmando in C+API vorrei creare una finestra che appaia fin dalla
creazione massimizzata, come devo fare???
Io pensavo bastasse :
hwnd = CreateWindow(
		szWinName, 
		"Nome",
		WS_OVERLAPPEDWINDOW|WM_MAXIMIZE,
                          /*pensavo bastasse precisare  ^^^^^^^^^^^^*/
		CW_USEDEFAULT, 
		CW_USEDEFAULT, 
		CW_USEDEFAULT, 
		CW_USEDEFAULT, 
		HWND_DESKTOP, 
		NULL, 
		hThisInst,
		NULL 
		);
E invece non funziona; qualcuno mi svela l'arcano???
Grazie anticipatamente.
Paolo

                          /*pensavo bastasse precisare  ^^^^^^^^^^^^*/
invece di usare il flag WS_MAXIMIZE alla creazione, usa il flag
SW_MAXIMIZE quando chiami ShowWindow().
Newsgroup: it.comp.programmare.win32
Titolo: [newBie] C++ elaborare singoli caratteri e numeri palindromi.

Ciao a tutti,
non riesco a capire la traccia di un esercizio di un libro di C++ .
la traccia dice:
"Scrivere un programma che prenda in ingresso un intero a 5 cifre, e
determini se è oppure no palindromo.Suggerimento, utilizzare gli operatori
modulo e divisione per separare i numeri nelle singole cifre che li
compongono"
Giuro che non riesco a capire come cavolo sia fa :(
che cosa posso fare ?
antonio.

 compongono"
(n/(10^i))%10 restituisce la i-esima cifra dell'intero n con i >=0
i.e. terza cifra di 1424 (i=2)
1424/(10^2)=14 //divisione intera
14%10=4  //modulo 10

Newsgroup: it.comp.programmare.win32
Titolo: per programmare in C++

che programma consigliate diciamo per imparare a programmare in C++ a
buon livello ( non ottimale) in 2 mesi?
Linguaggi come java, ASP, XML, PHP le ho comprese e inglobate nella zucca
nel giro di 2 mesetti...ma mi dicono che C++ e molto più complicato, e io
fra 2 mesi devo sostenere una prova in un azienda che chiede oltre alle già
citate anche buone conoscenze del C++ ( restano in azienda 2 su 14
aspiranti), per cui non ho molto tempo e vorrei  sapere  quale è il
programma più pratico e svelto per il C++.

 nel giro di 2 mesetti...ma mi dicono che C++ e molto più complicato, e io
Non sapevo che ASP, XML e PHP fossero linguaggi di programmazione...

 ha scritto nel messaggio
news:FYM_a.242682$lK4.7...@twister1.libero.it...

vabbè succedanei .....cmq grazie della risposta.


Se conosci Java sei già a metà strada, anche se in 2 mesi
non so quanto a fondo lo hai imparato... non molto credo.
Perlomeno la sintassi è quella. Più che un programma
(un qualsiasi compilatore C++ va bene) io credo ti serva
un buon libro da cui prendere spunti ed esercizi: scaricati
"Thinking in C++", di non-mi-ricordo-chi-ma-è-famoso-e-bravo,
lo trovi in rete facilmente ed è ottimo per entrare nella
logica (io direi filosofia) del C++.

 "Thinking in C++", di non-mi-ricordo-chi-ma-è-famoso-e-bravo,
Si chiama Bruce Eckel :)

 nel giro di 2 mesetti...ma mi dicono che C++ e molto più complicato, 
La risposta a questa domanda IMHO e' molto soggettiva, e dipende da 
persona a persona... pero' se conosci Java direi che sei gia' a buon 
punto. Dipende anche da quanto tempo al giorno puoi dedicare allo studio 
del C++, comunque puoi farcela! (Non che diventi un guru del linguaggio, 
ma certamente puoi riuscire a ben destreggiarti!)
Buona fortuna :)
Danguard

 Non sapevo che ASP, XML e PHP fossero linguaggi di programmazione...
PHP lo č. XML non č strettamente di programmazione, ma č un linguaggio. 
ASP č un linguaggio - fa solo da contenitore, ma specificare ogni volta 
"ASP + VBScript" o "ASP + JScript" stanca
-- 
  < 
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: Editor di risorse

Salve a tutti,
mastico un po' di C++, e vorrei avvicinarmi alla programmazione
win senza ricorrere al VC++. Attualmente uso il dev-c++ 4.9.qualcosa,
e mi servirebbe un editor visuale di risorse.
Qualcuno sa dove trovarne? Grazie in anticipo!
--
Lupin85Š - FILSer #2
Founder di #fils
-*Sign in allestimento*-

Qualcuno sa dove trovarne? Grazie in anticipo!
Io conosco solo Enigma, purtroppo non e' free:
http://www.enigma-uk.freeserve.co.uk/
Ciao
Paolo

Newsgroup: it.comp.programmare.win32
Titolo: Connettere unita di rete

Vorrei fare un piccolo programmino che mi connetta una cartella
condivisa su un  Pc di rete .
Quale funzione uso e come dovrei procedere ?
grazie

Quale funzione uso e come dovrei procedere ?
Ma certo .
Uso WNetAddConnection2 ,e che ci vuole  ..........

Newsgroup: it.comp.programmare.win32
Titolo: registarzione di una DLL

Un mio programma fa riferimeto ad una dll esterna ma quando vado a
registrarla (regsvr32 c:\...\nomedll.dll) mi appare i seguente msgBox:
'c:\...\nomedll.dll è stato caricato, ma il punto di ingresso
DllRegisterServer non è stato trovato.
Questo file non può essere registrato'
Che cosa significa?
Dove posso trovare materiale che mi spieghi cosa è il comando regsvr32 e
come usarlo
Grazie 1000
Mosca

Questo file non può essere registrato'
Significa che la tua DLL non e' un componente COM e non richiede
registrazione.
Per usarne le funzioni all'interno di un tuo programma devi avere
l'header file con i prototipi (cioè la dichiarazione dei tipi
ritornati dalle funzioni, il tipo e quantita' degli  argomenti, etc.)
e il file .lib da linkare
In alternativa potresti usarne le funzioni con GetProcAddress ma senza
un 'header file e' mooolto difficile se non impossibile (dettaglio
discusso non molto tempo fa qui sul ng).
Se semplicemente tu stai cercando di usare un programma gia' scritto
che da errore perche' non trova la dll prova a spostarla nella stessa
directory dell'exe.
Stefano "HappyMan" (Lago Maggiore - NO)
--
Personal Web 
http://www.sgr.info
Email happyman69 (at) 
despammed.com

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


se cerchi qualcosa in italiano ..
http://telemat.die.unifi.it/book/Networking_os/ActiveX/
--
------------------------
http://visualwx.altervista.org/
nuova release 0.77e [freeware]
VisualWx rad per c++,python,perl,lua e wxwindows

progettare e creare (Ummm. domanda un pò vasta...)
Riscrivo il link che avevo postato qualche tempo fa:
http://www.sente.ch/cetus/oo_ole.html
E' una pagina di link a siti (purtroppo non tutti ancora validi) che
parlano di COM.
Buona lettura :-)


Newsgroup: it.comp.programmare.win32
Titolo: unsafe c#

ciao a tutti
sto lavorando con visual studio 2005 e con c#.
dovrei trasormare uno stream di dati VT_ARRAY in un por esempio
System.Byte[] oppure byte[] come posso fare?
grazie gabry 


prova su:
microsoft.public.it.dotnet.csharp
Newsgroup: it.comp.programmare.win32
Titolo: Accesso a file da memoria

Avrei bisogno di scrivere e leggere dei file dalla memoria come 
se fossero su un normale disco, esistono delle API o altro che mi
permetta di fare questo da un programma MFC o VB.
Per essere più chiari alla partenza del programma dovrai 
crearmi un RamDisk su cui accedere in lettura e scrittura.
Grazie per i consigli.
Emanuele
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 crearmi un RamDisk su cui accedere in lettura e scrittura.
I ram-disk vanno invece creati a livello di sistema operativo
e vengono poi "visti" come un qualunque disco a livello di
programma. Quindi in questo caso si utilizzano le stesse
API per i files classici.
Federico Molara.

Newsgroup: it.comp.programmare.win32
Titolo: cbClsExtra e cbWndExtra

Mi stavo chiedendo cosa servono i suddetti campi della struttura WNDCLASS.
Io non li uso mai, ma a qualcosa dovranno pur servire, no?
Ciao.
--
*******************************
Fabio Carosio, [aka Sigfrido]
mail    
sigfri...@libero.it
*******************************
 "son sempre qui a vivermi addosso,
  ho dai miei giorni quanto basta,
  ho dalla gloria quel che posso
  cioè qualcosa che andrà presto
  quasi come i soldi in tasca."
                        F. Guccini

 Io non li uso mai, ma a qualcosa dovranno pur servire, no?
Certamente: servono a riservare piu` spazio di memoria, a tua
totale disposizione, nell'ambito della struttura-dati che supporta
la tua classe (ovvero, rispettivamente e con maggior utilita`:
ciascuna finestra di quella classe); puoi poi accedere a questo
extra spazio con le solite API come SetWindowLong ecc ecc.
Questo rende "sin troppo" facile agganciare a ciascuna finestra
(o classe di finestre, un caso meno usato) tutti i dati che da un
punto di vista logico "le appartengono".  Nulla che non si possa
fare anche (con maggior flessibilita`) con un livello di indirettezza
in piu`, usando l'unica longword normalmente riservata all'utente
nella struttura dati di ciascuna finestra per mantenere un singolo
puntatore a una tua struttura dati ad hoc dinamicamene allocata,
ovvero (senza consumare quella longword, quindi anche per
finestre "non tue", che stai subclassando) con la preziosa e poco
nota API SetProp, pero` l'uso di livelli di indirettezza (e allocazioni
dinamiche) in meno puo` dare un piccolo vantaggio in termini di
prestazioni (e forse di semplicita`).
Alex

Newsgroup: it.comp.programmare.win32
Titolo: Programmare la Seriale

Qualcuno saprebbe dirmi dove posso trovare listati VC++ di esempio su come
usare le porte seriali con l'API Win32 ?
Grazie.


Nell'MSDN del VC 6 (ma c'era anche con 1.5) c'e' l'esempio SDK  "TTY"
Ciao,
Gianfranco
Newsgroup: it.comp.programmare.win32
Titolo: aggiungere dei dati ad un oggetto segnalabile

ciao a tutti, sto utilizzando degli oggetti segnalabili con
CreateEvent per sincronizzare vari thread. uno lavora sempre, gli
altri attendono con waitForSingleObject. č possibile "passare" dei
dati al thread sospeso? una sorta di valore di ritorno...
so che potrei definire una variable visibile dai processi, ma a me
verrebbe piů comodo poter mettere dei dati direttamente nell'evento
(ci fosse un campo void * ad es...) perchč ho tanti eventi diversi:
gli eventi vengono generati in caso di ricezione di una primitiva da
uno stack osi, devo quindi generare primitive diverse per risvegliare
solo il thread in attesa di quella, e solo se c'č qualcuno in attesa.
e poi a seconda della primitiva devo dare dei valori di ritorno, ad es
un ID di canale.
io volevo fare:
un insieme di eventi con nomi chiari tipo
ConnectionCompleteEvent,DataArrivalEvent ecc ecc, ciascu thread si
mette in attesa sulla primitiva che gli serve.
quando arriva il thread di ricezione crea una nuova area di memoria in
cui mette i parametri aggiuntivi e la inserisce nell'evento che va a
segnalare.
chi viene svegliato si prende l'area di memoria e mette a null il
campo e de-segnala l'evento. in questo modo possono arrivare delle
primitive ed essere segnalate anche prima che il thread che le riceve
abbia finito di elaborarle.
avete suggerimenti? grazie, ciao
virgilio

 
AFAIK non è possibile aggiungere informazioni all'handle di un 
evento.
Da quello che ho capito, tu ora hai un solo buffer con accesso 
sincronizzato (tramite mutex o altro, immagino) e il thread di 
ricezione non può scrivere nel buffer finche il thread che ha 
ricevuto le informazioni non le ha elaborate. Puoi utilizzare un 
meccanismo simile a quello che hai descritto utilizzando una coda in 
cui il thread di ricezione alloca mano a mano i buffer e il thread di 
elaborazione preleva dalla coda il puntatore a quel buffer. In questo 
modo i thread sarebbero bloccati solo per il tempo necessario a 
prelevare/inserire il buffer (tempi molto limitati) e non per tutto 
il tempo dell'elaborazione/ricezione.
In alternativa il thread di elaborazione potrebbe pre-allocare il 
buffer e passarlo al thread di rx (che dovrà comunque gestire una 
coda) e accedere al buffer solo quando è stato segnalato l'evento 
corrispondente (e il thread di rx avrà rimosso il buffer dalla coda 
ed è sicuro che non ci accederà più).
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

ed è sicuro che non ci accederà più).
mi sembra un buon sistema. in fin dei conti finchè rimango bloccato
nella callback non posso avere una seconda chiamata ad essa DIREI...
nella documentazione in mio possesso non c'è nulla al riguardo e tutto
può sempre essere, però...
grazie
Newsgroup: it.comp.programmare.win32
Titolo: int -> string

Salve,
come posso convertire un int in string ??
Bisogna passare per un normale itoa ??
Grazie...
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 come posso convertire un int in string ??
sprintf()
-- 
Luc.

Bisogna passare per un normale itoa ??
L'uso di sprintf() č la via standard (in C).
itoa() non č portabile.
-- 
Andrea Laforgia
#exclude <windows.h>

 #exclude <windows.h>
Oddio, l'avrņ usata 1000 volte ma vi guiro che la dimentico sempre !!
Sarą un odio ancestrale ?


Newsgroup: it.comp.programmare.win32
Titolo: I2C bus via LPTn

Ciao a tutti,
Sto' lavorando ad un driver che ha come necesita' quella di interfacciarsi
con uno strumento
da laboratorio esterno al PC.
La comunicazione tra i due avviene attraverso un bus IIC e la via piu'
standard e' quella di sfruttare
la porta parallela del PC.
Qualcuno conosce delle funzioni o DLL in C o Visual Basic (comunque win32)
in grado di implementare questo protocollo di comunicazione?
Se necessario posso utilizzare anche l'ambiente di sviluppo LabWindows/CVI.
Se siete cosi' generosi, sapreste dirmi anche come interrogare il Bios per
ottenere automaticamente l'indirizzo di memoria delle porte parallele
presenti nel PC (con Win32)?
Qaulche idea?
Grazie
Gianpietro
E-mail replies to gianpi...@libYero.it , but remove the X and the Y.

 presenti nel PC (con Win32)?
L'area dati (in modalita` reale!) dove sono immagazzinati questi dati
parte da 40:08 (segmento 40, offset 08, indirizzo lineare 40*16+8):
nella DWORD che parte da 40:08 c'e` l'indirizzo di LPT1, e nelle
successive 3 DWORD c'e` quello delle altre tre porte. Ho qualche dubbio
che tu possa leggere questa memoria direttamente; *forse* lo puoi fare
sotto a Win9x, sicuramente non sotto a NT. Non a caso comunque molti
programmi (amatoriali o quasi) che usano in modo "rude" la porta
parallela chiedono direttamente all'utente l'indirizzo da usare, oppure
fanno affidamento nel fatto che sia a 0x378.
... The best way to win an argument is to be right.
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/
Newsgroup: it.comp.programmare.win32
Titolo: dirent.h

Ciao a tutti,
ho un piccolo problemino che spero qualcuno mi aiuti a risolvere.
Ho bisogno di utilizzare alcune funzioni per la gestione delle directory
presenti sia sotto unix/linux sia sotto il Borland c++ Builder nel file
dirent.h.
Tali funzioni sono: opendir , readdir, closedir, rewinddir. (NB: sono
funzioni standard ANSI)
Le utilizzo per costruirmi una funzione che mi consenta di ottenere l'elenco
dei nomi dei file contenuti in una certa cartella.
Purtroppo in Visual c++ M$ (con il quale devo sviluppare il progetto) non
esiste nulla di tutto cio' (o almeno non sono riuscito a scovare nulla).
DEVO utilizzare solo funzioni standard ANSI senza blindarmi in ambiente
Microsoft con le varie findFirst ecc. perche' il codice deve essere
compilabile anche su altre piattaforme.
Che posso fare ?
Ho scoperto che nella dll psxdll.dll contenuta nella cartella di sistema
WINNT\system32 contiene le funzioni sopracitate.
Ho quindi il problema di ottenere una libreria  .lib dalla dll incriminata
in modo da potermela linkare staticamente sotto un progetto Visual C++ e
magari anche il .h...
Qualche dritta ?
Buon lavoro a tutti

 snip
Sei proprio sicuro che queste funzioni siano portabili?
Dove lo hai letto?
Maurus

 ha scritto nel messaggio
news:a9egf7$hgk$1...@e3k.asi.ansaldo.it...


Newsgroup: it.comp.programmare.win32
Titolo: Parallela con XP

ciao a tutti,
volevo un piccolo chiarimento:
ho creato una dll che utilizzo come driver per pilotare la porta parallela.
ho sentito dire che per windows xp c'è bisogno di un device driver, non so
cosa.
ma dato che faccio le operazioni di I/O a livello macchina e tramite una dll
dovrebbe farmelo fare.
devo per caso registrare qualcosa, inserire qualche chiave di registro?
Grazie
ciao
Brunix

Ciao, Brunix!
Il giorno 05/07/2004 alle ore 19:20 hai scritto:
 B> ma dato che faccio le operazioni di I/O a livello macchina e tramite una
 B> dll dovrebbe farmelo fare.
Ma neanche per idea:
http://www.logix4u.net/inpout32.htm
Bye
-- 
Fear leads to anger, anger leads to hate, hate leads to suffering.
http://www.maccasoft.com
Newsgroup: it.comp.programmare.win32
Titolo: Doc/View e CDialogBar

Salve, ho creato un'applicazione con VC++ 6.0 di tipo Document/View con
vista derivata dalla classe CListView.
Nella vista ho una ToolBar, una StatusBar e una DlgBar. La DlgBar è una
finestra che la rendo dockabile, che contiente un controllo Picture di tipo
Frame.
Il mio problema è come accedere al controllo Picture che sta in DlgBar dalla
mia applicazione, in particolare ad es. dalla classe vista, dato che
m_wndDlgBar è definita nella classe frame e quindi non accessibile dalla
classe vista (mentre ovviamente la classe vista è accessibile dalla frame).
So che dalla classe vista è possibile ottenere la finestra frame, mediante
la GetParentFrame, ma comunque il membro della classe frame m_wndDlgBar non
è accessibile. Ho anche visto che è presente la funzione GetControlBar che
dovrebbe restituirmi la barra di controllo, ma io di barre di controllo nè
ho 2 cioè la toolbar, e la dialogbar e quindi come faccio a "selezionare" la
dialogbar (ammesso che sia un modo corretto di procedere...).
Di default il Wizard di VC++ assegna alla ToolBar, alla DlgBar e al menu
della finestra frame lo stesso nome IDR_MAINFRAME. Devo quindi cambiare nome
alla DlgBar se voglio "utilizzarla" ?
Inoltre la finestra DlgBar non è assegnata a nessuna classe, devo crearmi
una nuova classe?
Qual è il modo giusto per accedere alla controllo presente nella DlgBar
nella filosofia MFC DOC/VIEW?

Alex Martelli mi puoi aiutare?
"Pelo" <pe...@NOSPAM.com> ha scritto nel messaggio
news:8j594b$jcr$1...@nslave1.tin.it...


 Alex Martelli mi puoi aiutare?
Non ho molta esperienza di dialog-bar, ma mi sembra che darle un
identificatore tutto suo (quello che tu chiami "nome"; e` in realta`
un numerello, vedi il #define in resource.h e stai ben attento a
non usarne uno gia` usato per altre cose!-) e chiamare la GetControlBar
della frame sia l'approccio piu` semplice.
Alex
Newsgroup: it.comp.programmare.win32
Titolo: ambiente per grafica

Premetto che non ho mai prog sotto Windows;
vorrei riportare un prog di trattamento delle immagini che ho fatto su linux
in windows.
Mi potete consigliare un ambiente di sviluppo (c++) ricco di librerie
grafiche?
grazie , ciao e buone feste.

Ciao,
non so cosa hai usato sotto linux, ma per W9x/WNT ti consiglio di usare le
OpenGL. Per quanto riguarda l'ambiente di sviluppo, VisualC e' molto potente
(anche se molto complicato da usare). In alternativa esiste il C++ Builder della
Inprise (ex Borland)


 wrote in message
83so8c$bnl$1...@lacerta.tiscalinet.it...


Newsgroup: it.comp.programmare.win32
Titolo: [Processi e Stampa] controllare la stampante

Pongo un nuovo quesito agli utenti del NG.
Il problema 'pratico' e` questo: un processo lancia una stampa, la
stampante si inceppa durante la stampa, l'utente ripristina la
stampante e appena ritorna online lo spooler invia automaticamente la
parte rimanente del buffer alla stampante. 9 su 10 la stampante vomita
fogli e sciocchezze.
I quesiti:
1. Come e` possibile eliminare i documenti nello spooler?
2. Come e` possibile avere una notifica dell'errore sul processo di
stampa quando il buffer e` gia` 'in mano' allo spooler?
3. In generale, e` possibile interagire con la finestra di stato della
stampante (avviata dal sistema con rundll)?
4. Ho notato su qualche sorgente il lancio di rundll con parametri (es.
rundll32 keyboard,disable). Esiste documentazione al riguardo?
Ringrazio fin d'ora.
Sent via Deja.com 
http://www.deja.com/
Before you buy.

Vediamo, potresti fare cosi` (1.,2.,3.,4.):
- per determinare la stampante di default:
// PRINTER_INFO_5 prninfo5[3];
EnumPrinters (PRINTER_ENUM_DEFAULT, NULL, 5, (LPBYTE) prninfo5, sizeof
(prninfo5), &dwN, &dwR) ;
// prninfo5[0].pPrinterName);
- per acquisire l'h. della stampante:
OpenPrinter(prninfo5[0].pPrinterName, &hPrn, &PrinterStruct);
// hPrn
- per enumerare i documenti in stampa:
ret = EnumJobs(hPrn, 0, 127, 1, &TempByte, 1, &pcbNeeded, &pcReturned);
if (pcbNeeded)
{
  BYTE* pByteBuffer;
  pByteBuffer = (BYTE*) HeapAlloc (GetProcessHeap(), HEAP_NO_SERIALIZE,
pcbNeeded);
  // 1 significa: dammi la struttura JOB_INFO_1
  ret = EnumJobs(hPrn, 0, 127, 1 , pByteBuffer, pcbNeeded, &pcbNeeded,
&pcReturned);
/*
  // in un campo (Status) della struttura ritornata e opportunamente
'castata' in JOB_INFO_1,  si individua lo stato del documento ed
eventualmente il suo stato d'errore
*/
  HeapFree (GetProcessHeap(), 0, (LPVOID) pByteBuffer);
}
- per eliminare un documento in stampa:
// JOB_INFO_1* pJobs;
// pJobs = (JOB_INFO_1*) pByteBuffer;
SetJob(hPrn,dwJobId,1,(LPBYTE)pJobs,JOB_CONTROL_CANCEL);
Purtroppo, alla 5. NON SO' ANCORA rispondere.
A riesentirCi

Newsgroup: it.comp.programmare.win32
Titolo: debugger del vc++ 6.0 e containers STL

Salve a tutti,
questa e' la prima volta che posto in questo newsgroup e spero di non
essere fuori topica...
dunque,
ho realizzato del codice usando le STL. Tutto bene, tranne che a un
certo punto mi da' un unhadled exception at ... access violation.
Il mio problema non e' tanto l'errore, ma come trovarlo. Mi spiego
meglio: non riesco ad esaminare con il debugger il contenuto dei
container. Se ho un vettore
vector<int> a(10);
e provo a chiedere al debugger quanto vale
a[7]
lui mi dice:
CXX0058: Error: overloaded operator not found
Spulciando nella documentazioneho trovato degli hint ma non la
soluzione.
Nel caso di vettore il problema puo' essere risolto guardando _First che
compare nel debugger. Ma nel mio caso ho anche delle variabili di tipo
queue<int>, per le quali compare solo il membro c: c ha a sua volta un
_First, ma se provo ad espanderlo lui non mi da niente!
Insomma, la STL mi sta rendendo la vita MOLTO piu' difficile delle
vecchie buone care array, o anche di un container fatto da me.. almeno
quelli li posso vedere nel debugger!
Grazie per l'aiuto, chiunque tu sia che me lo porgi...
Guido Gagliardi

 queue<int>, per le quali compare solo il membro c: c ha a sua volta un
La cosa piu` semplice e` porre nel tuo codice le funzioni
che fanno gli accessi che desideri; puoi chiamarle dal
debugger, ad esempio dalla finestra watch oppure dalla
quickwatch.
Alex

Grzie mille, sei sempre molto preciso ed efficiente! Dovrebbero farti una
medaglia(etta...)

Newsgroup: it.comp.programmare.win32
Titolo: Winsock e windows aiuto :)

Salve,
sto programmando in c su una piattaforma windowsXP, il processore č un
pentium 400;
Volevo imparare un po' a programmare utilizzando il winsock, ho provato a
compilare un esempio fornito dalla libreria MSDN insomma quella di Microsoft
visual c++ 6.0, ma mi segnale questi errori
Text1.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
Text1.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
Text1.obj : error LNK2001: unresolved external symbol __imp__recv@16
Text1.obj : error LNK2001: unresolved external symbol __imp__send@16
Text1.obj : error LNK2001: unresolved external symbol __imp__connect@12
Text1.obj : error LNK2001: unresolved external symbol __imp__socket@12
Text1.obj : error LNK2001: unresolved external symbol __imp__htons@4
Text1.obj : error LNK2001: unresolved external symbol
__imp__gethostbyaddr@12
Text1.obj : error LNK2001: unresolved external symbol __imp__inet_addr@4
Text1.obj : error LNK2001: unresolved external symbol __imp__gethostbyname@4
Text1.obj : error LNK2001: unresolved external symbol
__imp__WSAGetLastError@0
Text1.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
Debug/Text1.exe : fatal error LNK1120: 12 unresolved externals
Error executing link.exe.
Il samples č:
* simplec.c - Simple TCP/UDP client using Winsock 1.1
come faccio?, ci sarebbero altri esempi su internet, possibilmente in
italiano di programmazione del winsock! su piattaforma windows?, anche se in
inglese fa niente...
Chi mi potrebbe dare una mano, sono un po' incasinato.
Grazie tante e buone feste a tutti :)
--
Marco Spiga


devi andare in project/settings/link e aggiungere la libreria ws2_32.lib
Pela

visual c++ 6.0, ma mi segnale questi errori
[cut]
Riguardo al C++ non conosco la disponibilità di materiale. Credo sia
comunque abbastanza elevata, vista la mole di documenti disponibile
per la programmazione del Winsock sotto Visual Basic, Prova a
ricercare su Altavista o su Google e vedrai che troverai tutto ciò di
cui hai bisogno...
saluti
Fabio Ruini
fabi...@libero.it
 - ICQ #2887596
Linux Registered User #224097
Collaboratore 
http://www.zeusnews.com

Newsgroup: it.comp.programmare.win32
Titolo: consiglio su complilatore

Ciao,
vorrei un consiglio su quale usare e dove trovarlo.
Grazie

Bhè ci sono varie scelte tra quelle gratis ti congilierei :
1) Borland C++ compiler 5.5 
www.borland.com
2) Dev-C++ 
www.blodshed.net
3) Watcom 
www.openwatcom.org
a te la scelta!
ciao
Wezzy
Newsgroup: it.comp.programmare.win32
Titolo: Client di posta

Salve,
	grazie per aver aperto il messaggio.
Volevo sapere come si fa a rendere la propria applicazione il client di
posta predefinito... penso ci sia una voce nel Registry ma non riesco a
trovarla...
Grazie
(¯`·.¸¸.·´¯`·.¸¸.-> Andrea <-.¸¸.·´¯`·.¸¸.·´¯)
HomePage: 
http://www.insieme.net/andy

trovarla...
In Windows non esiste un client di posta predefinito (almeno credo...), perň
puoi configurare il tutto in modo che all'apertura di un link del tipo
"mailto:
peppe@quel-server-lě
" venga aperto un determinato client di posta da
te scelto. Per fare ciň devi modificare la stringa "(Predefinito)"
all'indirizzo "HKEY_CLASSES_ROOT\mailto\shell\open\command" con il percorso
completo del tuo mailer completo di eventuali parametri (ricordati che
l'indirizzo di posta č passato alla riga di comando come primo paramentro ed
č indicato con %1).
La stessa operazione puň essere effettuata per altri protocolli come quelli
delle news:
"HKEY_CLASSES_ROOT\news\shell\open\command"
"HKEY_CLASSES_ROOT\nntp\shell\open\command"
"HKEY_CLASSES_ROOT\snews\shell\open\command"
Ciao, Giuseppe

è indicato con %1).
Grazie, funziona alla perfezione ! :-))
A riscriverci


 l'indirizzo di posta č passato alla riga di comando come primo paramentro
ed


predefinito.
Io ho visto che se vai in Tipo File trovi anche Messaggio di Posta E-mail
(o qualcosa del genere) quindi penso che se associ il tuo programma a quel
tipo di ?file? lui richiami quello... però adesso che ci penso non è che
abbia molto senso associare un messaggio di posta elettronica come se
fosse un file... :-)
Ciao
(¯`·.¸¸.·´¯`·.¸¸.-> Andrea <-.¸¸.·´¯`·.¸¸.·´¯)
HomePage: 
http://www.insieme.net/andy
Ps: tu frequenti anche it.comp.delphi vero? :-)

 wrote in message
fc.005b90b00041e05000...@insieme.net...


default.
Vero, in Opzioni c'è "Imposta Outlook Express come sistema di messaggistica
predefinito". Potrei cercare di crackare l'Outlook per vedere,
deselezionando l'opzione, cosa va a cambiare nel Registry, ma in questo
momento mi secca troppo farlo :-)
Ciao, Giuseppe

 Vero, in Opzioni c'č "Imposta Outlook Express come sistema di


processo sul registry....mi sembra si chiami Registry Monitor
Proprio con il Registry Monitor (che perň io ho scaricato dall rete) ho
visto che, una volta deselezionata l'opzione, oltre a modificare alcuni
CLSID, l'Outlook ha cancellato (proprio cancellato) dal registry le chiavi
relative ai collegamenti "mailto:" e similia:
"HKEY_CLASSES_ROOT\mailto\"
"HKEY_CLASSES_ROOT\nntp\"
"HKEY_CLASSES_ROOT\snews\"
"HKEY_CLASSES_ROOT\news\"
Infatti, aprendo l'Explorer, e provando a cliccare su un collegamento
"mailto", il browser mi avvertiva di non riuscire a trovare alcun client di
posta e annullava l'operazione.
Una cosa strana perň: l'Outlook aveva anche modificato il browser
predefinito: all'avvio l'Explorer mi ha chiesto se volevo settare lui come
browser predefinito....
Ciao, Giuseppe
Newsgroup: it.comp.programmare.win32
Titolo: VC++ Dialog Problemi ( Sono un principiante)

Buon Giorno a tutti! Sto iniziando a muoveri i primi passi col VC++ dopo
essere passato per alcuni linguaggi di programmazione nel corso degli anni.
Mi sono preso Visual C++ 6 Guida Completa di Davis Chapman per iniziare ad
orientarmi , scoprendo che il caro Chapman basa tutte o quasi le sue
applicazioni su una struttura dialog based, e fin qui si sopporta. iL
problema che sorge č: come faccio a richiamare una dialog da invisibile a
visibile tramite bottone cliccato? In Delphi facevo, che so , form2.visible
= true, e il gioco era fatto, ma in VC++ non mi sembra che esista un
procedimento analogo, o almeno non ho ancora capito. Con l'auto composizione
mi si forma una dialog e una about dialog, ma non saprei come fare a
visualizzare l'about. Qualcuno mi puň spiegare come si fa, per favore?
Grazie
Jiz

 wrote in message 8r4fh9$c7f$1...@nslave2.tin.it...


 wrote:
please, usa Re: al posto di R: che senno' il client mi impazzisce :)
grazie
g0
Newsgroup: it.comp.programmare.win32
Titolo: decimal point

Ciao,
come posso verificare il tipo di dec. point impostato nel sistema (Win2000)
utilizzando C++ o Builder ?
ciao e grazie
biofa04

 utilizzando C++ o Builder ?
Usa la funzione:
    int GetLocaleInfo(LCID Locale, LCTYPE LCType, LPTSTR lpLCData,  int
cchData );
passandogli il parametro opportuno in LCType (credo sia LOCALE_SDECIMAL)
Ciao
Ellebi

Newsgroup: it.comp.programmare.win32
Titolo: Spostare il cursore in console

Ciao a tutti,
esiste una funzione che sposta il cursore in una console application dove
voglio, una cosa come nel Borland tipo gotoxy() (mi sembra...)

 voglio, una cosa come nel Borland tipo gotoxy() (mi sembra...)
Usa il compilatore Borland scusa...
Paolo. 


:)

 esiste una funzione che sposta il cursore in una console application
Gentilmente fornito dal pSDK (mai usata, quindi non chiedermi di più).
SetConsoleCursorPosition
The SetConsoleCursorPosition function sets the cursor position in the
specified console screen buffer.
BOOL SetConsoleCursorPosition(
  HANDLE hConsoleOutput,  // handle to screen buffer
  COORD dwCursorPosition  // new cursor coordinates
);
--
zello

Newsgroup: it.comp.programmare.win32
Titolo: [C++] informazioni su memoria RAM

Salve,
come recupero le informazioni sulla memoria RAM in un programma C++?
In Delphi scrivevo:
var
  MemRam: TMemoryStatus;
begin
  GlobalMemoryStatus(MemRam);
  lblRamTot.Caption:='Memoria RAM totale: '+FormatFloat('#,###" KB"',
MemRam.dwTotalPhys/1024);
  lblRamPerc.Caption:='Memoria RAM utilizzata: '+Format('%d %%',
[MemRam.dwMemoryLoad]);
Saluti

 In Delphi scrivevo:
[cut]
In Win32 puoi ancora usare la GlobalMemoryStatus ;)
Vedere:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/base/globalmemorystatus.asp

 [cut]
Ciao, sbagliavo a digitare l'istruzione, pensavo mi fossi rimpampito...
Grazie

Newsgroup: it.comp.programmare.win32
Titolo: Borland C++ Builder

Ciao, avrei bisogno di un consiglio ...
mi potreste aiutare a trovare un manuale in italiano del sopracitato
linguaggio di programmazione ??????
Si può trovare in libreria ????
Grazie.

Kent Reisdorph, C++Builder Guida Completa, Apogeo.
___________________________
___________________________
Giuseppe Falchi
egius...@tiscalinet.it
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
Per contattarmi direttamente
elimina la "s" dopo la "k":
è una manovra antispamming.
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
___________________________
___________________________
-- 
Posted from 
laguna.tiscalinet.it
 [195.130.224.86] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.programmare.win32
Titolo: parametri sulla riga di comando

Quando si trascina un file dati con estensione registrata su di un exe
che operazione compie Esplora Risorse ?
Avvia l'exe e gli passa il file dati sulla riga di comando ?
grazie



esatto. e non è necessario che l'estensione del file sia registrata. 
funziona con qualsiasi file.
-- 
ciao :: xaero
Data is not information, and information is not knowledge: knowledge
is not understanding, and understanding is not wisdom. (Philip Adams)
Newsgroup: it.comp.programmare.win32
Titolo: Chiamere programmi esterni.

Ciao,
sto scrivendo un programma con BCB3 e volevo sapere quli sono i comandi per
mandare in esecuzione un programma esterno e per far aprire un pagina HTML
con il browser predefinito.
Grazie anticipatamente $Ale$


wrote:

usa le API ShellExecute() oppure ShellExecuteEx().
	Marco.

con il browser predefinito.
ShellExecute
--
Andrea Laforgia (UIN 87230455)
----------------------------------------------------------
Non scrivetemi per e-mail, se non richiesto espressamente.
No replies in private e-mail, unless explicitly requested.
----------------------------------------------------------

Newsgroup: it.comp.programmare.win32
Titolo: come creare 'onmouseout'

Ciao a tutti, è la prima volta che posto.
Volevo chiederevi se avete la soluz. al mio problema.
Creando un oggetto bottone (Button, Tbutton, Commandx, etc...) tutti
generalmente supportano l'evento mousemove che mi è utile per
l'evidenziazione al passaggio del mouse, inoltre con mousedown e mouseup
posso gestire il press e depress del bottone. Ma come faccio per avere un
evento OnMouseOut REALE?? (cioè non controllando il mousemove sulla form per
il ripristino del bottone)
Uso BCB5.0, ma anche se me lo dite in VB non ci sono problemi.
Grazie, ciao! .-=KoraL=-.

Su it.comp.lang.c++ questo messaggio e' fuori argomento: per favore
eliminate il gruppo dai destinatari.
Grazie,
Nicola Musatti

In C++ questo messaggio è spedito da WM_MOUSELEAVE, come per OnMouseOver da
WM_MOUSEHOVER. Però nel mesasggio WM_MOUSEMOVE, devi prima chiamare la API
TrackMouseEvent con la apposita struttura.

Newsgroup: it.comp.programmare.win32
Titolo: Boot 98/XP

Ho installato nella prima partizione win 98 , poi nella seconda XP (NTFS).
Vorrei far avviare solo Win 98 , nascondendo XP, come si potrebbe fare ????
Da voi Esperti mi aspetto la risposta alla soluzione. Saluti al News.
Michele

 ha scritto nel messaggio
news:dsDs8.6508$m41.1...@twister2.libero.it...


Newsgroup: it.comp.programmare.win32
Titolo: Tooltip della tray in WinXp

Salve a tutti,
con windows Xp è possibile visualizzare dei tooltip informativi dotati di
pulsante di chiusura, del tipo che appare quando si stabilisce la
connessione ad internet, come si fa a crearne una? Qual è l'API che se ne
occupa?
So già come mettere un'icona nella tray, l'ho già fatto diverse volte.

 ha scritto nel messaggio
news:mozXb.8247$Kc3.2...@twister2.libero.it...

Newsgroup: it.comp.programmare.win32
Titolo: Problema con puntatori....

Salve ho un problemino...
ho creato questa funzione:
char* LeftString(char *sStrTmp,int iValTmp)
{
char sStrFunc[500];
sprintf(sStrFunc,"%s",sStrTmp);
if(iValTmp>=0)
   sStrFunc[iValTmp]='\0';
return sStrFunc;
}
Che mi restituisce una la stringa inviata di solo n caratteri.
Il problema e che cosi facendo il compilatore (borland builder) mi da un
warning "Suspicious pointer conversion"
Chi mi aiuta??
dove sbaglio..
grazie :)
xoooox
--------------------------------
Inviato via 
http://usenet.libero.it

 dove sbaglio..
Io il suspicious pointer conversion non lo vedo (in che linea te lo 
segnala ??) ma vedo un problema molto piu' grave:
stai restituendo all'esterno l'indizizzo di
una variabile locale alla funzione e questo e' sbagliatissimo:
quando la funzione termina e' come se la memoria
usata per sStrFunc non esistesse piu'
(ovvero puo' essere sovrascritta da altre chiamate ad
altre funzioni) quindi corri il rischio di mantenere
un puntatore ad una zona di memoria dove puo' essere
contenuta "la qualunque".
ciao,
g.

> [...]
Hai anche un array di 500 caratteri e ce ne copi dentro non sai quanti
(dipende dalla stringa che passi alla funzione), potrebbe provocare un
buffer overflow. Usa una snprintf.
Luca

Il fatto e che vorrei fare una funzione che mi restituisca una stringa da
usare...
Per esempio se uno il comando Trim(" Stringa "); lui mi ripulisce la stringa
e mi restituisce la stringa "Stringa".
Mi sapresti dire come fare una funzione che chiamandola cosi':
LeftString("ciao",2"); mi restituisce una stringa contenente i 2 primi
carattere "ci"??
Io la dovrei utilizzare cosi'
Edit1->Text=LeftString("ciao",2"); (Borland Builder c++ 5.0)
Ti ringrazio..!!!


 Edit1->Text=LeftString("ciao",2"); (Borland Builder c++ 5.0)
Dimenticati della tua funzione ed utilizza i metodi di AnsiString:
AnsiString S = "ciao";
Edit1->Text = S.SubString(1, 2);
Prog.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

}
Il warning sul "suspicious pointer" č probabilmente sulla riga di
ritorno che presenta un errore logico gravissimo: non puoi (perché non
devi) restituire un puntatore contenuto nello stack locale della
funzione, in quanto la memoria puntata č invalidata all'uscita della
funzione.
La versione corretta della tua funzione (scritta al volo), supponendo
che debba estrarre gli iValTmp caratteri piů a sinistra č:
char *LeftString(char *sStrTmp, int iValTmp)
{
     char *p = malloc(iValTmp + 1);
     int i;
 
     if (p) 
     {
        for (i = 0; sStrTmp[i] && (i < iValTmp); i++)
        {
            p[i] = sStrTmp[i];
        }
        p[i] = '\0';
     }
     return p;
}
-- 
Andrea Laforgia
www.geocities.com/andrealaforgia
"640kb of memory should be enough for anyone." -- Bill Gates.

 "640kb of memory should be enough for anyone." -- Bill Gates.
ti prego mi dici dove le prendi :-)

 ti prego mi dici dove le prendi :-)
http://pub118.ezboard.com/fpanamacityundergroundfrm11.showMessage?topicID=453.topic
:-)
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.programmare.win32
Titolo: Problema nel disegnare bitmap - parte 2

L'unica coa che mi viene in mente č che il WM_PAINT venga >postato alla
combo prima della chiusura della listbox.
avete qualche suggerimento su come ovviare al problema?
o bisogna cambiare prorio l'approccio?
ciao

 ciao
Ciao
Molebio

 Molebio
ciao e grazie

 provo a riprogettare(che parolone ;-)) il tutto
Visto che hai deciso di faticare =)
Dimmi come cambi (se lo fai o lo vorrai fare) i colori del testo selezionato
in un edit senza effetti collaterali sul sistema.
Ah... non dirmi che ti sei rifatto il controllo Edit. (non vale)
Buon divertimento/lavoro
Molebio

 Molebio
ciao

 ci dedichero un po di tempo
Che sia tempo perso =)
Ho motivo di credere che non esista una soluzione "semplice"
Ciao

 Ciao
ciao

 ciao
ciao
Newsgroup: it.comp.programmare.win32
Titolo: Messaggi mouse con rotellina

Ciao a chiunque legga,
c'è qualcuno che sappia come intercettare i messaggi associati alla
rotellina dei mouse di nuova generazione?  (quelli, per intenderci, con la
rotellina centrale )
Con quelli che ho (un logitech e quello del notebook), si possono associare
vari tipi di messaggi standard, tra i quali quelli che simulano la pressione
delle freccine della barra di scorrimento verticale.
 Purtroppo sembra che li invii solamente quando queste ultime sono presenti.
Non basta settare lo stile WS_VSCROLL, deve essere anche visualizzata la
barra.
Ringrazio chiunque mi possa dare un suggerimento.

rotellina centrale )
Devi intercettare il messaggio WM_MOUSEWHEEL inviato alla tua Window
Procedure (richiede Windows 98).
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------


In builder 4 ci sono gli eventi di scroll della rotellina

rotellina centrale )
Sul sito di Microsoft vi e' un po' di documentazione sull'Intellimouse
(vi e' proprio un SDK) per tale evenienza, soprattutto se il s.o. non
supporta nativamente la rotellina centrale (al momento solo WinNT4 e
Win98 supportano la rotellina). Io ho zippato un po' di roba se vuoi
te la mando.
Bye.

Procedure (richiede Windows 98).
Richiede eventualmente anche WinNT4.
Bye.


In teoria dovrebbe funzionare, purtroppo il driver del mouse non invia
questo messaggio, ma sembra quelli impostati dal suo programma di setup.
E' vero che tra i vari messaggi che si possono impostare c'e' anche quello
di WM_VSCROLL (ma non, per quanto ho visto, WM_MOUSEWHEEL) , però tali
messaggi vengono inviati solamente quando la finestra ha la barra di
scorrimento visualizzata.
A questo punto ho pensato che sarebbe bastato impostare propriamente con
SetWindowLong gli attributi della finestra, solo che neanche cosi' ha
funzionato.
Solo visualizzando le barre di scorrimento si ricevono i messaggi di
scrolling.
Quel che chiedo è se sai come abbindolare il driver del mouse per fargli
credere di avere le barre di scorrimento e quindi mandare i messaggi.
Grazie,
Paolo

credere di avere le barre di scorrimento e quindi mandare i messaggi.
Ma il messaggio WM_MOUSEWHEEL ti arriva oppure semplicemente vorresti che il
driver ti postasse i messaggi di scroll anche quando la finestra non ha le
barre omonime?

Newsgroup: it.comp.programmare.win32
Titolo: Api per simulare pressione tasti

Ciao a tutti.
In un programma scrito in vb6 ho la necessità di simulare la pressione di
alcuni tasti, ed uso l'API
Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As
Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
e le due costanti
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
per simulare prima la pressione poi l rilascio del tasto, in questo modo
keybd_event vbKeyA, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event vbKeyA, 0, KEYEVENTF_KEYUP, 0
e finchè ho dovuto premere tasti normali come lettere o numeri andava tutto
bene.
Ho risolto anche quando mi sono trovato a dover digitare un apostrofo, non
in elenco nelle costanti, catturando l'evento KeyUp di una textbox e
controllandone il KeyCode.
Ma adesso devo simulare la pressione del tasto !, dunque una combinazione
con il tasto maiuscolo. ho provato così ma non va.
Credevo che dirgli di premere prima entrambi i tasti senza rilasciarli
subito dopo sarebbe bastato, ma a quanto pare no.
Ho prvato su un ng per il vb e mi hanno aiutato solo fino a questo punto, e
mi hanno consigliato di rivolgermi ad un ng specifico sulla programamzione
win32. Spero che qualcuno di voi sappia aiutarmi.
Grazie e Buone Feste
keybd_event 17, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event 49, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event 17, 0, KEYEVENTF_KEYUP, 0
keybd_event 49, 0, KEYEVENTF_KEYUP, 0

 ha scritto nel messaggio
news:LuaIb.20540$VW.10...@news3.tin.it...

Newsgroup: it.comp.programmare.win32
Titolo: Finestre dialogo comuni per Aprire un file

Ciao a tutti,
sto cercando di inserire il nome del file per poi aprirlo,
vorrei utilizzare la finestra di dialogo standard per aprire i file,
il procedimento è il seguente ma non mi visualizza nessuna finestra,
qualcuno sa dirmi dove sbaglio?
grazie duido
void CMyDlg::OnButtonApriFile() 
{
	CMyFile MyFiles((HWND)this);
	m_strNomeFile = MyFiles.NomeFile(); // restutuisco CString
 
	UpdateData(FALSE); // visualizzo dell'Edit il nome
}
// inizializzo la struttura
CMyFile::CMyFile( HWND hwnd )
{
	AFile.lStructSize	= sizeof(OPENFILENAME);
	AFile.hwndOwner		= hwnd;
	AFile.hInstance		= NULL;
	AFile.lpstrFilter	= "Tutti i file  (*.*)";
	AFile.lpstrCustomFilter = NULL;
	AFile.nMaxCustFilter	= 0;
	AFile.nFilterIndex	= 0;
	AFile.lpstrFile		= NULL;
	AFile.nMaxFile		= 255;
	AFile.lpstrFileTitle	= NULL;
	AFile.nMaxFileTitle	= 255;
	AFile.lpstrInitialDir	= NULL;
	AFile.lpstrTitle	= NULL;
	AFile.Flags		= 0;
	AFile.nFileOffset	= 0;
	AFile.nFileExtension	= 0;
	AFile.lpstrDefExt	= "txt";
	AFile.lCustData		= 0L;
	AFile.lpfnHook		= NULL;
	AFile.lpTemplateName	= NULL;
}
// restutuisco il nome del file
CString CMyFile::NomeFile( void )
{
	static TCHAR nomeFile[255], nomeTitolo[255];
	AFile.lpstrFile= nomeFile;
	AFile.lpstrFileTitle= nomeTitolo;
	AFile.Flags= OFN_HIDEREADONLY | OFN_CREATEPROMPT;
	if( GetOpenFileName(&AFile) ){
		return AFile.lpstrFile;
	}
	return "Nome del File";
}

> CMyFile MyFiles((HWND)this);
ma non so se sia giusto, non mi da nessun errore nella compilazione ma
la finestra non funziona,
il problema è L'autocomposizione? devo scrivere tutto da zero anch'io
per gestirmi completamente l'applicazione?
grazie comunque duido

 AFile.lpstrFilter = "Tutti i file  (*.*)";
"Pointer to a buffer containing pairs of null-terminated filter strings. The
last string in the buffer must be terminated by two NULL characters"
AFile.lpstrFilter="Tutti i file (*.*)\0*.*\0";
Azzerando il primo carattere dei due buffers, a me funziona. In breve, a me
questo va:
#include <windows.h>
int WINAPI WinMain(HINSTANCE hI,HINSTANCE hP,LPSTR null,int nShow)
{
 char nomeFile[255];
 char fileTitle[255];
 OPENFILENAME AFile;
 nomeFile[0]='\0';
 fileTitle[0]='\0';
 ZeroMemory(&AFile,sizeof (AFile));
 AFile.lStructSize = sizeof(OPENFILENAME);
 AFile.lpstrFilter = "Tutti i file  (*.*)\0*.*\0";
 AFile.nMaxFile = 255;
 AFile.nMaxFileTitle = 255;
 AFile.Flags=OFN_HIDEREADONLY | OFN_CREATEPROMPT;
 AFile.lpstrFile=nomeFile;
 AFile.lpstrFileTitle=fileTitle;
 GetOpenFileName(&AFile);
 return 0;
}
Ciao
--
zello
Non fate reply, č una spamtrap.
Se volete scrivermi, fatelo su zello <at> despammed <dot> com