Nie wiem czemu ale nowy temat o menu start jaki wprowadziłem wczoraj nie istnieje juz na tym Forum... dziwne?
Więc raz jeszcze....
Musze mieć na ekranie tylko jedną aplikację i nic ponad to....
czyli:
blokuje Alt+Ctrl+Del
blokuje Alt+TAB
blokuje Alt+F4
blokuje CD-ROM i zapis na nośnikach USB
ukrywam ikony na pulpicie i menu kontekstowe
teraz pozostało tylko pozbycie się explorer.exe czyli "Menu start" ale nie wiem jak
oczywiście testowałem ShowWindow(FindWindow('Shell_TrayWnd',nil),SW_HIDE); ale to nie działa
owszem ukrywa menu start ale moi użytkownicy zaraz sobie z tym poradzili jak ?
na dwa sposoby wystarczy klawisz windows i z niewidocznego menu start
rozwija sie menu mało tego wielokrotne klikanie na miejscu gdzie powinien być przycisk start
czasami tez potrafi wywolac otwarcie tego menu. Tak więc SW_HIDE nic nie daje.......
Jako ciekawostkę podam ze absolutnie skutecznie robi to program "Process Explorer" Marka Russinovich'a
bo w nim po wybraniu opcji kill process "Explorer.exe" juz nie wstaje automatycznie.................
Standardowy TaskMenager tez skutecznie ubija explorer.exe
Jednak moja procedura nie działa ,może istnieje jakas metoda na zablokowanie i ukrycie menu "Start" windows
zamiast ubijania procesu "Explorer.exe"
Pytanie brzmi jak pozbyć się skutecznie belki menu "start" windows?
Pozdrawiam.
Testowana funkcja:
uses TLHelp32;
////////////////////////////////////////////////////////////////////////////////////////////////////////
// Uwaga wymagane: uses TLHelp32;
//Ta funkcja zabija kazdy process o podanej nazwie nazwa musi zawierac rozszezenie np: 'INTERNAT.EXE'
//Jezeli podana nazwa procesu zostanie odnaleziona i proces usunienty to na wyjsciu otrzymujemy =TRUE
//Uwaga: ta funkcja zamienia wszystkie nazwy procesow na nazwy z duzymi literami!!!
function ZabijProcess(Nazwa: string): Boolean;
var
Uchwyt,UchwytProcesu: tHandle;
Proces:tProcessEntry32;
begin
result:=false;
Uchwyt:=CreateToolHelp32SnapShot(TH32CS_SNAPALL,0);
Proces.dwSize:=SizeOf(Proces);
if Integer(Process32First(Uchwyt,Proces))<>0 then
repeat
if UpperCase(ExtractFileName(Proces.szExeFile)) = UpperCase(Nazwa) then
begin
UchwytProcesu:=OpenProcess(PROCESS_TERMINATE,bool(0),Proces.th32ProcessID);
if TerminateProcess(UchwytProcesu,0) then result:=true;
CloseHandle(UchwytProcesu);
end;
until Integer(Process32Next(Uchwyt,Proces))=0;
closehandle(Uchwyt);
end;
////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure TForm1.Button1Click(Sender: TObject);
begin
ZabijProcess('Explorer.exe');
end;