E*PVP HWID Problem

11/27/2011 10:34 BrendonHomo#1
Code:
	char szHWID[35];
	char szURL[512];
	HINTERNET hINet;
	HINTERNET hFile;
	DWORD dwBytesReceived = 0;
	char szServerResponse[2048];

	memset(szServerResponse, 0, 2048);
	GetHWID(szHWID, 34) ;

	hINet = InternetOpenA("HWID Tool", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);

	if (!hINet)
		return 1;

	sprintf_s(szURL, (char)"http://www.elitepvpers.com/api/hwid.php?hash=%s", szHWID);


	hFile = InternetOpenUrlA(hINet, szURL, 0, 0, 0, 0);

	if (!hFile)
		return 2;

	if (!InternetReadFile(hFile, &szServerResponse, 2048, &dwBytesReceived))
		return 3;
Ich hab ein Problem undzwar das hFile failt und ich immer 2 returnt bekomme, woran liegts?
11/27/2011 18:15 MrSm!th#2
Woher sollen wir das bitte wissen?
Poste doch mal den Output von GetLastError() und InternetGetLastResponseInfo()
11/27/2011 19:02 BrendonHomo#3
GetlastError gibt 12006 zurück sprich:

Quote:
ERROR_INTERNET_UNRECOGNIZED_SCHEME
12006
The URL scheme could not be recognized, or is not supported.
wobei dort am Link nichts geändert wurde.
11/27/2011 19:18 Whoknowsit#4
Klingt für mich nach Zeitüberschreitung :)
11/27/2011 19:43 xNopex#5
Quote:
Klingt für mich nach Zeitüberschreitung
Dann wasch dir mal die Ohren :-/

Hau "http://" vor die Adresse, sollte so funzen.
11/27/2011 20:16 Whoknowsit#6
Quote:
Originally Posted by xNopex View Post
Dann wasch dir mal die Ohren :-/

Hau "http://" vor die Adresse, sollte so funzen.
Und du dir die Augen?

Code:
sprintf_s(szURL, (char)"http://www.elitepvpers.com/api/hwid.php?hash=%s", szHWID);
11/27/2011 20:40 MrSm!th#7
Dumme Frage, aber wird bei szHWID das Null Byte gesetzt?
11/27/2011 20:42 .Infinite#8
Das ist doch eigentlich 1:1 der Code aus dem Sample im News Thread...
11/27/2011 21:39 XxharCs#9
why returnst immer false falls die bedingung erfüllt wird ?

mach doch return 0 (=false)

obwohl ich denke das es egal ist was man mit return macht aber ein schöner stil ist return 0

& du hast vergessen den internet handle zu schließen, also
Code:
InternetCloseHandle(hFile);
InternetCloseHandle(hINet);
Edit: und why nimmst du nicht
INTERNET_OPEN_TYPE_PRECONFIG anstatt INTERNET_OPEN_TYPE_DIRECT ?
11/28/2011 23:52 MrSm!th#10
Quote:
mach doch return 0 (=true)
BITTE??? Du solltest die fundamentalen Prinzipien von C++ nochmal wiederholen.

0 ist gleich false, alles ungleich 0 ist true.

Da er hier aber unterschiedliche Werte (1,2,...) zurückgibt, vermute ich mal, sein Rückgabewert ist int und beschreibt einen Fehlercode :rolleyes:
11/29/2011 14:58 Dr. Coxxy#11
da fällt mir was ein:
Quote:
<a> 0 war true oder?
<b> das ist 0
vermutlich meint er den unix style wo 0 = Success.
11/29/2011 18:22 MrSm!th#12
Wie gesagt, das wäre ein Error Code, aber ganz sicher kein booleescher Wert!