Ich traue es mich ja kaum zu sagen, aber ich habs jetzt geschafft und der Fehler war...nicht nötig...
Naja, falls jemand das Gleiche vor hat, schreibe ich hier mal, wie es funktioniert.
Das PHP-File gibt einfach etwas aus, z.B. die Version:
|
Quellcode
|
1
2
3
|
<?php
echo("1.5");
?>
|
Ziemlich einfach.
Dann brauch man das nur noch im C++-Programm auszulesen (lol, "nur noch", dieser Teil war für mich am schwersten).
Ich geb hier einfach mal ein Beispiel, das ist ja kein ganzes Tutorial (diesen C++-Teil könnte man durchaus noch in ein Tutorial reinschreiben, da man meistens nur den PHP-Teil findet):
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
HINTERNET hInternet = InternetOpen("Microsoft Internet Explorer",
INTERNET_OPEN_TYPE_PRECONFIG,
0, 0, 0);
HINTERNET hURL = InternetOpenUrlA(hInternet, pcURL, 0, 0, INTERNET_FLAG_RELOAD, 0);
DWORD dwNumBytesRead;
BYTE* pCursor;
const int size = 50;
pCursor = new BYTE[size];
BOOL b;
b = InternetReadFile(hURL, pCursor, size, &dwNumBytesRead);
// b = TRUE wenn erfolgreich, sonst FALSE
|
So, alles was man wissen muss ist jetzt in
dwNumBytesRead und
pCursor zu finden.
Die ersten Stellen von pCursor stellen die "Versionsnummer" dar, in dwNumBytesRead steht, wieviele das genau sind (aber 1 mehr).
Bsp: Version = 1.456, also 5 Zeichen, also steht in dwNumBytesRead 6.
Nun muss man nur noch die ersten dwNumBytesRead-1 (hier = 5) rausfiltern.
Ehrlich gesagt: Ich weiß nicht wirklich, warum ich dafür so lange gebraucht hab.
Danke für die Hilfe!