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.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TProcessInformation ProzessInfo;
char pfadDesSystemordners[MAX_PATH];
GetSystemDirectory( pfadDesSystemordners, sizeof( pfadDesSystemordners ) );
String zielPfad=pfadDesSystemordners;
zielPfad+="\\Notepad.exe";
TStartupInfo StartInfos;
setmem(&StartInfos,sizeof(TStartupInfo),0);
StartInfos.cb = sizeof(TStartupInfo);
if(!CreateProcess(NULL,zielPfad.c_str(),
NULL,NULL,false,
CREATE_DEFAULT_ERROR_MODE | REALTIME_PRIORITY_CLASS,
NULL,NULL,
&StartInfos,&ProzessInfo))
{
MessageBoxA(NULL,"Notepad nicht gestartet","Fehler",MB_OK);
return;
}
WaitForInputIdle(ProzessInfo.hProcess, INFINITE);
HWND hNotepad=NULL;
int i=0;
do
{
i++;
hNotepad=FindWindow(0,"Unbenannt - Editor");
}while(i<10 && !hNotepad);
if(!hNotepad)
{
MessageBoxA(NULL,"Handle zu Notepad nicht gefunden","Fehler",MB_OK);
return;
}
HWND hTextfeld=NULL;
i=0;
do
{
hTextfeld=FindWindowEx(hNotepad,0,"Edit",0);
}while(i<10 && !hTextfeld);
if(!hTextfeld)
{
MessageBoxA(NULL,"Handle zum Textfeld nicht gefunden","Fehler",MB_OK);
return;
}
char* halter=Edit1->Text.c_str();
int iBuchstabenzaehler=0;
while(halter[iBuchstabenzaehler])
{
if(PostMessage(hTextfeld,WM_CHAR,halter[iBuchstabenzaehler],0)==0)
{
MessageBoxA(NULL,"Meldung zum eintragen des Textes wurde nicht in Notepad eingereiht","Fehler",MB_OK);
return;
}
iBuchstabenzaehler++;
}
if(PostMessage(hNotepad,WM_CLOSE,0,0)==0)
{
MessageBoxA(NULL,"Meldung zum beenden von Notepad wurde nicht eingereiht","Fehler",MB_OK);
return;
}
HWND hSpeichernMeldung=NULL;
i=0;
do
{
hSpeichernMeldung=FindWindow(0,"Editor");
i++;
}while(i<10 && !hSpeichernMeldung);
if(!hSpeichernMeldung)
{
MessageBoxA(NULL,"Handle zur Speichern-Meldung nicht gefunden","Fehler",MB_OK);
return;
}
HWND hJaButton=NULL;
i=0;
do
{
hJaButton=FindWindowEx(hSpeichernMeldung,0,0,"&Ja");
}while(i<10 && !hJaButton);
if(!hJaButton)
{
MessageBoxA(NULL,"Handle zum Ja-Button nicht gefunden","Fehler",MB_OK);
return;
}
if(PostMessage(hJaButton,BM_CLICK,0,0)==0)
{
MessageBoxA(NULL,"Meldung zum Klicken des Ja-Buttons wurde nicht eingereiht","Fehler",MB_OK);
return;
}
HWND hSpeichernDialog=NULL;
Sleep(3000);
i=0;
do
{
i++;
hSpeichernDialog=FindWindow(0,"Speichern unter");
}while(i<10 && !hSpeichernDialog);
if(!hSpeichernDialog)
{
MessageBoxA(NULL,"Handle zum Speichern-Dialog nicht gefunden","Fehler",MB_OK);
return;
}
HWND hDateinameBox=NULL;
i=0;
do
{
i++;
hDateinameBox=FindWindowEx(hSpeichernDialog,0,"ComboBoxEx32",0);
}while(i<10 && !hDateinameBox);
if(!hDateinameBox)
{
MessageBoxA(NULL,"Handle zur Combobox mit dem Dateinamen nicht gefunden","Fehler",MB_OK);
return;
}
HWND hCombobox=NULL;
i=0;
do
{
i++;
hCombobox=FindWindowEx(hDateinameBox,0,"ComboBox",0);
}
while(i<10 && !hCombobox);
if(!hCombobox)
{
MessageBoxA(NULL,"Handle zur ComboBox mit dem Dateinamen nicht gefunden","Fehler",MB_OK);
return;
}
HWND hEditbox=NULL;
i=0;
do
{
i++;
hEditbox=FindWindowEx(hCombobox,0,"Edit",0);
}
while(i<10 && !hEditbox);
if(!hEditbox)
{
MessageBoxA(NULL,"Handle zur EditBox mit dem Dateinamen nicht gefunden","Fehler",MB_OK);
return;
}
char* halter2=Edit2->Text.c_str();
iBuchstabenzaehler=0;
while(halter2[iBuchstabenzaehler])
{
if(PostMessage(hEditbox,WM_CHAR,halter2[iBuchstabenzaehler],0)==0)
{
MessageBoxA(NULL,"Meldung zum eintragen des Dateinamens wurde nicht in Notepad eingereiht","Fehler",MB_OK);
return;
}
iBuchstabenzaehler++;
}
HWND hSpeichernButton=NULL;
i=0;
do
{
i++;
hSpeichernButton=FindWindowEx(hSpeichernDialog,0,0,"&Speichern");
}while(i<10 && !hSpeichernButton);
if(!hSpeichernButton)
{
MessageBoxA(NULL,"Handle zum Speichernbutton nicht gefunden","Fehler",MB_OK);
return;
}
if(PostMessage(hSpeichernButton,BM_CLICK,0,0)==0)
{
MessageBoxA(NULL,"Meldung zum Klicken des Speichern-Buttons wurde nicht eingereiht","Fehler",MB_OK);
return;
}
}