コード例 #1
0
        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);
        }
コード例 #2
0
        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 { }
        }