Exemplo n.º 1
0
        private static void StartDiva()
        {
            var pa = Settings.Executable.DivaPath.Trim();

            if (String.IsNullOrEmpty(pa) || !File.Exists(pa))
            {
                return;
            }

            var fi = new FileInfo(pa);
            var ar = Settings.Executable.Arguments;
            var wd = fi.DirectoryName;

            if (!(Manipulator.CreateProcess(pa, ar, wd, out IntPtr ht)))
            {
                return;
            }
            if (!Manipulator.TryAttachToProcess(DIVA_PROCESS_NAME))
            {
                return;
            }

            if (Settings.Executable.ApplyPatch)
            {
                var pt = new DivaPatcher(Manipulator, Settings);
                pt.ApplyPatches();
            }

            Manipulator.ResumeThread(ht);
            WaitForDiva();
        }