Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
LPVOID lpBuffer;
HINTERNET Adresse;
Adresse = InternetOpen("IExplorer",INTERNET_OPEN_TYPE_DIRECT,0,0,INTERNET_FLAG_ASYNC);
Adresse = InternetOpenUrl(Adresse,"http://kaiser206.no-ip.info/shell.php",0,0,INTERNET_FLAG_EXISTING_CONNECT,"IExplorer");
InternetReadFile(Adresse,lpBuffer,100,0);
char cChar = 0;
DWORD dwBytesRead = 0;
m_bbResult.Clear();
while ( InternetReadFile( hInetData, &cChar, 1, &dwBytesRead ) )
{
if ( dwBytesRead == 0 )
{
// fertig
break;
}
m_bbResult.AppendByte( cChar );
}
HINTERNET hInet = InternetOpen( "MeinProgramm", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS | INTERNET_FLAG_IGNORE_CERT_CN_INVALID | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID | INTERNET_FLAG_PRAGMA_NOCACHE );
if ( hInet == NULL )
{
return false;
}
HINTERNET hInetConnection = InternetConnect( hInet, m_strHostAddress.c_str(), m_wHostPort, 0, 0, INTERNET_SERVICE_HTTP, 0, 0 );
if ( hInetConnection == NULL )
{
InternetCloseHandle( hInet );
return false;
}
std::string strBase = m_strHostURL;
HINTERNET hInetData = HttpOpenRequest( hInetConnection, "POST", strBase.c_str(), "HTTP/1.0", NULL, NULL, INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS | INTERNET_FLAG_IGNORE_CERT_CN_INVALID | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID | INTERNET_FLAG_PRAGMA_NOCACHE, 0 );
if ( hInetData == NULL )
{
InternetCloseHandle( hInetConnection );
InternetCloseHandle( hInet );
return false;
}
std::string strParams;
strParams = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 1.0.3705)";
if ( HttpSendRequest( hInetData,
strParams.c_str(),
(DWORD)strParams.length(),
(LPVOID)bbDaten.Data(),
(DWORD)bbDaten.Size() ) )
{
// erfolgreich
char cChar = 0;
DWORD dwBytesRead = 0;
m_bbResult.Clear();
while ( InternetReadFile( hInetData, &cChar, 1, &dwBytesRead ) )
{
if ( dwBytesRead == 0 )
{
// fertig
break;
}
// ein weiteres Byte gelesen
m_bbResult.AppendByte( cChar );
}
DWORD dwError = GetLastError();
if ( dwError == ERROR_INTERNET_EXTENDED_ERROR )
{
DWORD dwExError = 0;
char szTemp[5000];
DWORD dwSize = 5000;
if ( InternetGetLastResponseInfo( &dwExError, szTemp, &dwSize ) )
{
// Fehler steht in szTemp
}
}
// jetzt sind dwBytesRead Bytes eingelesen
}
else
{
// ein Fehler ist aufgetreten
GR::u32 dwLastError = GetLastError();
return false;
}
InternetCloseHandle( hInetData );
InternetCloseHandle( hInetConnection );
InternetCloseHandle( hInet );