Final PC

Controllo remoto in c

« Older   Newer »
  Share  
blace96
view post Posted on 10/1/2011, 17:14




Ciao a tutti qualcuno mi sà dire perchè questo controllo remoto per windows non funziona????
SPOILER (click to view)
#include<stdio.h>

SOCKET s1,s2;
WSADATA WSAdata;
struct sockaddr_in in1,in2;
HKEY hKey;
void connettiti(void)
{
int lenght;
WSAStartup(0×0202,&WSAdata);
s1=socket(PF_INET,SOCK_STREAM,0);
in1.sin_family=PF_INET;
in1.sin_port=htons(2003); // porta da usare
in1.sin_addr.s_addr=INADDR_ANY;
bind(s1,(struct sockaddr*)&in1,sizeof(struct sockaddr_in));
lenght=sizeof(struct sockaddr);
listen(s1,1);
printf(“\nIN ATTESA…”); // info locali di debug
s2=accept(s1,(struct sockaddr*)&in2,(LPINT)&lenght);
printf(“OK…\n”); // info locali di debug
}
char* ricevi(char* buff,int lenght) // riceve un comando
{
int i;
for(i=0;i {
recv(s2,buff+i,1,0); // riceve il carattere
send(s2,buff+i,1,0); // echo
}
return buff;
}
char* prendi_ProductID(char* buff)
{
unsigned long d=0xFF;
RegCreateKeyEx(HKEY_LOCAL_MACHINE,
“Software\\Microsoft\\Windows\\CurrentVersion”
,0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,NULL);
RegQueryValueEx(hKey,”ProductId”,NULL,NULL,(LPBYTE)buff,&d);
RegCloseKey(hKey);
return buff;
}
int main(void)
{
char buffer[100]; // buffer dati
while(1)
{
connettiti(); // inizializza il server
strcpy(buffer,”\rtoc toc neo… \r\ninserisci password:”);
send(s2,buffer,strlen(buffer),0);
if (strncmp(ricevi(buffer,8),”01234567”,8)==0)
{
strcpy(buffer,”\r\nlogin OK\r\nProductID:”);
send(s2,buffer,strlen(buffer),0);
send(s2,prendi_ProductID(buffer),strlen(buffer),0); // invia il ProductID
}
shutdown(s1,2);
closesocket(s1);
shutdown(s2,2);
closesocket(s2);
WSACleanup();
}
return(0);
}


GRZIE MILLE CIAO :D

Edited by blace96 - 10/1/2011, 18:00
 
Top
Mefrio
view post Posted on 10/1/2011, 17:49




l'errore è alla prima riga...hai scritto
#include
e devi includere qualcosa, altrimenti è inutile scriverlo!
 
Top
blace96
view post Posted on 10/1/2011, 18:00




si scs l avevo già corretto ma comunque nn funziona lo stesso XD
 
Top
Mefrio
view post Posted on 10/1/2011, 18:05




se usi i socket devi includere i moduli dei socket! Non so in C quali siano, è da tanto che non mi esercito più in questo linguaggio, comunque credo che basterebbe includere sys.h e socket.h oppure sys/sockt.h
 
Top
blace96
view post Posted on 10/1/2011, 18:10




ok grazie ora provo e ti faccio sapere :D

niente non funziona :D
 
Top
nano_sardo
view post Posted on 10/1/2011, 20:31




Sinceramente non posso aiutarti, però penso che dovresti includere le giuste librerie.
Cerca su internet ;)
 
Top
blace96
view post Posted on 10/1/2011, 20:44




Ok grazie mille!! :D
 
Top
6 replies since 10/1/2011, 17:14   77 views
  Share