Wykonuje "zabicie" procesu exprorera za pomoca kodu:
PROCESSENTRY32 Proces;
LPDWORD kodWyjscia;
this->UchwytProcesu=NULL;
this->UchwytProcesu=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,GetCurrentProcessId());
Proces.dwSize=sizeof(PROCESSENTRY32);
if(Process32First(this->UchwytProcesu,&Proces)==true)
{
do
{
AnsiString sc(Proces.szExeFile);
if(sc.AnsiCompareIC("explorer.exe")==0)
{
HANDLE ps = OpenProcess(PROCESS_ALL_ACCESS,false,Proces.th32ProcessID);
TerminateProcess(ps,-9);
break;
}
}
while(Process32Next(this->UchwytProcesu,&Proces)==true);
}
CloseHandle(this->UchwytProcesu);
Przez kilka sekund efekt jest zamierzony (wszystko znika z pulpitu).Następnie wszytko wraca do stanu wczesniejszego i wyrzucany jest błąd:
System error code 1400
Nieprawidłowe dojscie okna.
Co powoduje wyrzucenie tego błedu?