, , , , , :
" ", , -, (, 1.24). Windows ( ):
#include <wininet.h>
_Bool CheckForUpdate() {
DWORD flags = 0;
if (!InternetGetConnectedState(&flags, 0)) {
}
HINTERNET connection = InternetOpen("User Agent", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
if (http == NULL) {
...
}
HINTERNET updateFile = InternetOpenUrl(connection, "URL", NULL, FLAGS, 0);
if (updateFile == NULL) {
...
InternetcloseHandle(connection);
...
}
char latestVersion[10] = {0};
DWORD bytesRead = 0;
if (InternetReadFile(updateFile, latestVersion, sizeof(latestVersion), &bytesRead) == FALSE) {
...
InternetCloseHandle(updateFile);
InternetCloseHandle(connection);
...
}
InternetCloseHandle(updateFile);
InternetCloseHandle(connection);
if (strcmp(latestVersion, CURRENT_VERSION) > 0) {
return 1;
} else {
return 0;
}
}
Wininet, , , .
InternetOpen() , , . INTERNET_OPEN_TYPE_DIRECT, , .
InternetOpenUrl() URL- NULL terminated. FLAGS - , ( ). , :
INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_NO_AUTH | INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_UI
strcmp() , "1.24c" , "1.24" "1.24a".
(, -), . , , , .
, , , HTTP 200 (OK) HttpQueryInfo() HTTP_QUERY_STATUS_CODE.
, , , . .
- API Wininet:
, .