public static PerintahPengunci cekPengunci() { bool logonUI = false, KunciVJ = false, FileIndukVJ = false, KunciVJState = false, DB = false, serviceH = false; PerintahPengunci Kembalian = PerintahPengunci.PengaturanPengunciTidakTerpasang; string induk = bacaRegistry(wLogon, RegViolaJones); string state = bacaRegistry(wLogon, RegViolaJonesState); //=====================cek LogonUI try { if (cekUkuranFile(system + "\\LogonUI.exe") == Properties.Resources.LogonUI.Length) { logonUI = true; } } catch { } //===================== cek alamat pengunci if (induk != null) { KunciVJ = true; //====================== verifikasi alamat FileIndukVJ = induk == Application.StartupPath + "\\ViolaJones.exe"; } //====================== KunciVJState = state != "2"; //====================== DB = databaseTidakKosong(); try { Process p = new Process(); p.StartInfo.Arguments = "query ViolaJonesHandler"; p.StartInfo.FileName = "SC.exe"; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.UseShellExecute = false; p.StartInfo.CreateNoWindow = true; p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; p.Start(); String pp = p.StandardOutput.ReadToEnd(); serviceH = pp.Contains("4 RUNNING"); } catch { } if (logonUI && KunciVJ && FileIndukVJ && KunciVJState && DB && serviceH) { Kembalian = PerintahPengunci.PengunciAktif; } else if (logonUI && KunciVJ && FileIndukVJ && !KunciVJState && DB) { Kembalian = PerintahPengunci.PengunciMati; } else { Kembalian = PerintahPengunci.PengaturanPengunciTidakTerpasang; } return(Kembalian); }
public static void setPengunci(PerintahPengunci p) { try { bool FileLogonUIAsli = File.Exists(system + "\\LogonUIWindow.exe"); bool FileLogonUI = File.Exists(system + "\\LogonUI.exe"); bool cekLogonUIVJ = cekUkuranFile(system + "\\LogonUI.exe") == Properties.Resources.LogonUI.Length; switch (p) { case PerintahPengunci.PengaturanPengunciTidakTerpasang: // { if (FileLogonUIAsli && FileLogonUI && cekLogonUIVJ) { try { File.Delete(system + "\\LogonUI.exe"); File.Move(system + "\\LogonUIWindow.exe", system + "\\LogonUI.exe"); } catch { } } try { Process ppp = Process.Start(Application.StartupPath + "\\ViolaJonesHandler.exe", "/u"); ppp.WaitForExit(); File.Delete(Application.StartupPath + "\\ViolaJonesHandler.InstallLog"); } catch { } setRegistry(wLogon, RegViolaJones, "", RegistryValueKind.String, modeSetRegistry.HapusValue); setRegistry(wLogon, RegViolaJonesState, "", RegistryValueKind.DWord, modeSetRegistry.HapusValue); break; } case PerintahPengunci.PengunciAktif: { if (FileLogonUIAsli && FileLogonUI && cekLogonUIVJ) { setRegistry(wLogon, RegViolaJonesState, "1", RegistryValueKind.DWord, modeSetRegistry.UbahDataValue); setRegistry(wLogon, RegViolaJones, Application.StartupPath + "\\ViolaJones.exe", RegistryValueKind.String, modeSetRegistry.UbahDataValue); } else { try { File.Move(system + "\\LogonUI.exe", system + "\\LogonUIWindow.exe"); File.WriteAllBytes(system + "\\LogonUI.exe", Properties.Resources.LogonUI); File.WriteAllBytes(Application.StartupPath + "\\ViolaJonesHandler.exe", Properties.Resources.ViolaJonesHandler); Process ppp = Process.Start(Application.StartupPath + "\\ViolaJonesHandler.exe", "/i"); ppp.WaitForExit(); Process pppp = Process.Start("Sc.exe", "start ViolaJonesHandler"); pppp.WaitForExit(); } catch { } setRegistry(wLogon, RegViolaJonesState, "1", RegistryValueKind.DWord, modeSetRegistry.UbahDataValue); setRegistry(wLogon, RegViolaJones, Application.StartupPath + "\\ViolaJones.exe", RegistryValueKind.String, modeSetRegistry.UbahDataValue); } break; } case PerintahPengunci.PengunciMati: { if (FileLogonUIAsli && FileLogonUI && cekLogonUIVJ) { setRegistry(wLogon, RegViolaJonesState, "2", RegistryValueKind.DWord, modeSetRegistry.UbahDataValue); setRegistry(wLogon, RegViolaJones, Application.StartupPath + "\\ViolaJones.exe", RegistryValueKind.String, modeSetRegistry.UbahDataValue); } break; } default: break; } } catch { } }