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.
// Das Fensterhandle
HINSTANCE hInst;
// Windows main-Funktion WINAPI
int APIENTRY WinMain(HINSTANCE hInstance, // Handle der Programminstanz
HINSTANCE hPrevInstance, // Handle der letzten Instanz
LPSTR lpCmdLine, // Kommandozeile
int nCmdShow) // Art wie das Fenster angezeigt werden soll
{
// Fenster erzeugen und Handle speichern
HWND hWnd = CreateMainWindow(hInstance);
// Wenn der Rückgabewert 0 ist, ist ein Fehler aufgetreten
if(0 == hWnd)
{
MessageBox(0,"Fenster konnte nicht erzeugt werden","Fehler",MB_OK);
return -1;
}
//Container initialisieren
if(FAILED(Container.Init(hWnd,hInstance)))
{
return -1;
}
// Struktur, in der Informationen zur Nachricht gespeichert werden
MSG msg = { 0 };
// Diese Schleife läuft bis WM_QUIT gesendet wird
// Wenn eine Nachricht vorliegt, wird sie behandelt
while(msg.message != WM_QUIT)
{
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
// Rendern
Container.Control(bWindow, bAktive);
Container.Render(bAktive);
}
// Rückgabewert an Windows
//return 0;
return msg.wParam;
}
// Fenster erzeugen
HWND CreateMainWindow(HINSTANCE hInstance)
{
WNDCLASSEX wndClass =
{
sizeof(WNDCLASSEX), // Größe angeben
CS_DBLCLKS | CS_OWNDC |CS_HREDRAW | CS_VREDRAW, // Standardstile
MessageHandler, // Callback-Funktion
0, // Zusätzliche Angaben
0, // nicht benötigt
hInstance, // Anwendungsinstanz
LoadIcon(hInstance, (LPCSTR)IDI_ICON1), // Logo
LoadCursor(NULL, IDC_ARROW), // Normaler Cursor
(HBRUSH)GetStockObject(WHITE_BRUSH), // Weißer Pinsel
(LPCSTR)IDR_MENU1, // Menü
"WindowClass", // Der Name der Klasse
LoadIcon(hInstance, (LPCSTR)IDI_ICON1) // Logo
};
// Klasse registrieren
RegisterClassEx(&wndClass);
return CreateWindowEx(NULL, // Keine erweiterten Stile nutzen
"WindowClass", // Klassenname
"ObjectContainer", // Fenstertitel
WS_OVERLAPPEDWINDOW | // Fenster
WS_VISIBLE , // Eigenschaften
0, 0, // Anfangsposition
800, 600, // und Größe des Fensters
NULL, // Handle des Elternfensters
NULL, // Handle des Menüs
hInstance, // Anwendungsinstanz
NULL); // wird nicht benötigt
}
if (bMinimized) {
Sleep(500);
}