Entra

View Full Version : [C/C++] windows.h connessioni


dOnDa
02-10-2003, 23:16
Salve a tutti i programmatori.
In questa notte di mezza luna voglio proporvi questo mio problema e spero che sarete tanto gentili da darmi almeno qualche consiglio...

Il mio programma: semplice test procedurale per verificare implementazione e funzionamento di una connessione.

Cosa vorrei fare:
-Vorrei che il programma si connetta all'indirizzo www.qualcosa.qq/info.txt e prelevi le informazioni del file in questione; leggendolo, facendosi passare i dati... no so...
-Vorrei che il programma si connettesse all'indirizzo www.qualcosaltro.qq/info.php passando delle informazioni.

idee? :D

maxithron
03-10-2003, 00:14
Se non le hai tu che lo devi scrivere le idee....
a quest'ora proprio a noi vieni a rompere gli zebedei???


:rotfl: :rotfl: :rotfl:

dOnDa
03-10-2003, 00:16
Originariamente inviato da maxithron
Se non le hai tu che lo devi scrivere le idee....
a quest'ora proprio a noi vieni a rompere gli zebedei???


:rotfl: :rotfl: :rotfl:



:cry:

ok. grazie. vado a letto. a domani.

maxithron
03-10-2003, 00:17
cmq...scherzi a parte, non mi è ben chiaro cosa vorresti fare......

cioè:

l'indirizzo dal quale prelevare le informazioni è un sito?

l'indirizzo sul quale vuoi scrivere le informazioni prelevate è un sito?

e poi....sei nella legalità???:D :D

dOnDa
03-10-2003, 00:19
Si certo il sito sarebbe il mio.

tipo: faccio un programma che quando lo fai girare vede se c'è la versione aggiornata.

oppure: controlla quanta gente c'è online sul sito...

cionci
03-10-2003, 07:35
Devi usare i socket...poi devi conoscere il protocollo HTTP per fare la richiesta al server (per inviare informazioni se lo fai tramite GET basta aggiungere la stringa al link richiesto)...

Questo se vuoi fare il fighetto...
Se non vuoi imparare niente e fare tutto alla svelta usi:

InternetOpen
InternetOpenUrl
InternetReadFile
InternetCloseHandle

:D

dOnDa
03-10-2003, 09:48
Originariamente inviato da cionci
InternetOpen
InternetOpenUrl
InternetReadFile
InternetCloseHandle

:D

queste sono in windows.h?

dOnDa
03-10-2003, 10:39
Ho scoperto che bisogna utilizzare wininet.h, ma bisogna aggiungere wininet.lib. In alcuni siti sembra che wininet.lib sia wininet.dll... ma comunque generano una miriade di errori... :rolleyes:

Qualche info in più sui socket e Http?...

grazie

cionci
03-10-2003, 20:15
Devi includere windows.h, wininet.h e linkare wininet.lib...

dOnDa
03-10-2003, 22:53
Originariamente inviato da cionci
Devi includere windows.h, wininet.h e linkare wininet.lib...


wininet.lib però sul mio pc non c'è e se lo linko come oggetto non funziona una mazza comunque...

qualcuno mi fa un esemepio?

Ma soprattutto... con che compilatore lavorare decentemente?... :rolleyes:

cionci
04-10-2003, 07:43
Dev-C++ con il compilatore MinGW ha tutti gli header e le librerie per Windows...oppure MinGW Developer Studio, sempre con MinGW...oppure Visual C++...

http://tokyo.cool.ne.jp/masapico/api_InternetOpenUrl.html Fonte: Google ;)

dOnDa
28-10-2003, 22:44
Dopo prove e prove non sono riuscito a cavare da devc++ un eseguibile che faccia il suo lavoro... in effetti non si copila neanche... qualcuno ha mai fatto qualcosa di simile con dev...? e magari mi posta il codice?..

grazie.

cionci
29-10-2003, 00:46
Che problemi ti dava ? Bastava linkare i .lib giusti...ma la stessa cosa anche in Visual C++...

dOnDa
29-10-2003, 08:51
Originariamente inviato da cionci
Che problemi ti dava ? Bastava linkare i .lib giusti...ma la stessa cosa anche in Visual C++...


io uso devcpp4 e non riesco a linkare wininet.dll perchè dice che non la trova.. Mah... eppure il link è corretto!...

cionci
29-10-2003, 08:59
Perchè devi linkare libwininet.a !!! Bastava guardare nella directory lib di Dev-C++...

dOnDa
29-10-2003, 09:08
Originariamente inviato da cionci
Perchè devi linkare libwininet.a !!! Bastava guardare nella directory lib di Dev-C++...


di questo non avevo assolutamente trovato informazioni... da nessuna parte. Ora provo a rifare tutto linkando quest'altra libreria... visto che ci sei, sai per caso una funzione che mette in pausa il programma per tot secondi?

cionci
29-10-2003, 09:49
C'è la sleep inclusa in windows.h... Gli devi passare il numero di millisecondi...

dOnDa
29-10-2003, 09:50
Originariamente inviato da cionci
C'è la sleep inclusa in windows.h... Gli devi passare il numero di millisecondi...


bene... tutto sembra procedere bene... grazie.

dOnDa
29-10-2003, 10:09
Originariamente inviato da dOnDa
bene... tutto sembra procedere bene... grazie.

per caso sai anche cosa bisogna fare per mettere un programma nel tray?...

cionci
29-10-2003, 11:14
E' molto meno semplice di quanto tu possa pensare...

Ti dico solo l'API Shell_NotifyIcon...se non ti riesce fammi sapere...

dOnDa
29-10-2003, 11:16
Originariamente inviato da cionci
E' molto meno semplice di quanto tu possa pensare...

Ti dico solo l'API Shell_NotifyIcon...se non ti riesce fammi sapere...


Bè, me lo aspeto è tutto mooolto incasinato... comunque procede abbastanza bene... ora è questione di ottimizzare alcune cose.

dOnDa
03-11-2003, 10:13
ho dato un occhiata qui: http://www.codeproject.com/shell/StealthDialog.asp?target=Shell%5FNotifyIcon

ma non sono riuscito a compilare nulla--- per ora.. che mi dici?

cionci
03-11-2003, 10:25
Cioè ? Che problemi hai ?

dOnDa
03-11-2003, 10:27
mah, mi da errore di sintassi ogni volta che chiamo niData.qualcosa...

cionci
03-11-2003, 10:29
niData.uCallbackMessage = MY_TRAY_ICON_MESSAGE;

Qui ?

dOnDa
03-11-2003, 10:32
Originariamente inviato da cionci
niData.uCallbackMessage = MY_TRAY_ICON_MESSAGE;

Qui ?

si, in qualunche linea ci sia niData.qualcosa...

cionci
03-11-2003, 10:37
Hai dichiarato niData ?

NOTIFYICONDATA niData;
ZeroMemory(&niData,sizeof(NOTIFYICONDATA));

dOnDa
03-11-2003, 10:54
Originariamente inviato da cionci
Hai dichiarato niData ?

NOTIFYICONDATA niData;
ZeroMemory(&niData,sizeof(NOTIFYICONDATA));

si, ma purtroppo chiamando la Zero mi dà questo errore: ansi c++ forbids declaratioin of memset with no type

dOnDa
11-11-2003, 09:54
Cionci non è che mi posteresti un esempio di codice funzionante... un codice che vada in tray... e faccia solo quello con la possibilità magari di chiuderel il programma in qualche modo dall'icona sul tray...

cionci
11-11-2003, 11:49
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=2855&lngWId=3
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=7020&lngWId=3
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=2296&lngWId=3
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=2855&lngWId=3
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=4034&lngWId=3

;)

dOnDa
11-11-2003, 15:17
grazie