public Win32_Handle_Hijack setTarget(IntPtr handle)
 {
     TargetHandle.set_Text(handle.str());
     return(this);
     //ClassName.set_Text(handle.className());
     //PictureBox.show(handle.window_ScreenShot());
 }
        public void createToolStrip()
        {
            ToolStrip = TopPanel.insert_Above_ToolStrip();

            WindowFinder = ToolStrip.insert_Left(30).add_WindowFinder();

            WindowFinder.Window_Changed = (intPtr) => setTarget(intPtr);

            ToolStrip.add_Button("Hijack", "btExecuteOnExternalEngine_Image".formImage(), () => hijack())
            .add_Button("Restore", "edit_undo".formImage(), () => restore())
            .add_Button("Screenshot", "camera_photo".formImage(), () => screenShot())
            .toolStrip()
            .add_CheckBox("Size", ref AutoResize);

            TargetHandle = ToolStrip.add_Label("Handle").add_TextBox("");
            ParentHandle = ToolStrip.add_Label("Parent").add_TextBox("").width(40);
            TargetHandle.width(40);             // didn't work if set above

            TargetHandle.TextChanged += (sender, e) => updateParentValue();
            ParentHandle.DoubleClick += (sender, e) => setTargetValueToItsParent();

            addExamples();


            ToolStrip.add_DropDown("REPL")
            .add_Button("Hijacked Handle", "ViewCode".formImage(), () => HijackedHandle.script_Me("handle").set_Code("return handle;\n\n//" + "O2File:Api_WinApi.cs"))
            .add_Button("Hijack UI", "ViewCode".formImage(), () => this.script_Me("hijackUI"))
            .add_Button("Parent Form", "ViewCode".formImage(), () => TopPanel.parentForm().script_Me("form"));

            AutoResize.check();
            TopPanel.Resize += (sender, e) => adjustHandleSizeToTargetWindow();
        }
Exemplo n.º 3
0
 public CombatCenter(EmbattleRole role, CombatGeneral general, EmbattleRole targerRole, TargetHandle targetHandle)
 {
     _role = role;
     _attrGeneral = general;
     _targerRole = targerRole;
     _targerHandle = targetHandle;
     _processLog = new CombatProcess();
 }
        public Win32_Handle_Hijack updateParentValue()
        {
            var target       = TargetHandle.get_Text().toInt().intPtr();
            var targetParent = target.parent().str();

            ParentHandle.set_Text(targetParent);
            return(this);
        }
Exemplo n.º 5
0
 public CombatCenter(EmbattleRole role, CombatGeneral general, EmbattleRole targerRole, TargetHandle targetHandle)
 {
     _role         = role;
     _attrGeneral  = general;
     _targerRole   = targerRole;
     _targerHandle = targetHandle;
     _processLog   = new CombatProcess();
 }
 public Win32_Handle_Hijack setTargetValueToItsParent()
 {
     if (ParentHandle.get_Text().isInt())
     {
         if (ParentHandle.get_Text().toInt() > 0)
         {
             TargetHandle.set_Text(ParentHandle.get_Text());
         }
     }
     return(this);
 }
 public Win32_Handle_Hijack screenShot()
 {
     restore();
     try
     {
         var handle = TargetHandle.get_Text().toInt().intPtr();
         var bitmap = handle.window_ScreenShot();
         HijackedWindow.clear().add_PictureBox().layout_Zoom().show(bitmap);
     }
     catch (Exception ex)
     {
         ex.log();
     }
     return(this);
 }
        public Win32_Handle_Hijack hijack()
        {
            restore();
            var handle    = TargetHandle.get_Text().toInt().intPtr();
            var newParent = HijackedWindow.clear().handle();

            "Hijacking {0} into window {1}".info(handle, newParent);
            HijackedHandle = handle;

            WinAPI.GetWindowRect(handle, ref HijackedHandleRECT);
            HijackedParent = ParentHandle.get_Text().toInt().intPtr();
            handle.setParent(newParent);

            adjustHandleSizeToTargetWindow();
            return(this);
        }
Exemplo n.º 9
0
        /// <summary>
        /// 获取攻击目标阵营
        /// </summary>
        /// <param name="targerHandle"></param>
        /// <param name="role"></param>
        /// <returns></returns>
        public CombatGeneral[] GetTargetRoleUnit(TargetHandle targerHandle, EmbattleRole role)
        {
            AttackTaget attackTaget;
            AttackUnit  attackUnit = GetAttackUnit();

            if (General.IsHunluanStatus)
            {
                attackTaget = AttackTaget.Friendly;
            }
            else
            {
                attackTaget = GetAttackTaget();
            }

            ProcessLog.AttackUnit  = attackUnit;
            ProcessLog.AttackTaget = attackTaget;

            EmbattleQueue attackEmbattle;

            switch (attackTaget)
            {
            case AttackTaget.Self:
            case AttackTaget.Friendly:
                attackEmbattle = targerHandle(role);
                break;

            case AttackTaget.Enemy:
                attackEmbattle = targerHandle(role == EmbattleRole.RoleA ? EmbattleRole.RoleD : EmbattleRole.RoleA);
                break;

            default:
                throw new Exception("未能找到攻击目标");
                //break;
            }

            TagetRole = attackEmbattle.Role;

            if (General.IsHunluanStatus)
            {
                var rgeneral = (CombatGeneral)attackEmbattle.RandomGeneral();
                return(new[] { rgeneral });
            }
            return(GetTargetUnit(General.Position, attackUnit, attackTaget, attackEmbattle));
        }
Exemplo n.º 10
0
        /// <summary>
        /// 获取攻击目标阵营
        /// </summary>
        /// <param name="targerHandle"></param>
        /// <param name="role"></param>
        /// <returns></returns>
        public CombatGeneral[] GetTargetRoleUnit(TargetHandle targerHandle, EmbattleRole role)
        {

            AttackTaget attackTaget;
            AttackUnit attackUnit = GetAttackUnit();
            if (General.IsHunluanStatus)
            {
                attackTaget = AttackTaget.Friendly;
            }
            else
            {
                attackTaget = GetAttackTaget();
            }

            ProcessLog.AttackUnit = attackUnit;
            ProcessLog.AttackTaget = attackTaget;

            EmbattleQueue attackEmbattle;
            switch (attackTaget)
            {
                case AttackTaget.Self:
                case AttackTaget.Friendly:
                    attackEmbattle = targerHandle(role);
                    break;
                case AttackTaget.Enemy:
                    attackEmbattle = targerHandle(role == EmbattleRole.RoleA ? EmbattleRole.RoleD : EmbattleRole.RoleA);
                    break;
                default:
                    throw new Exception("未能找到攻击目标");
                //break;
            }

            TagetRole = attackEmbattle.Role;

            if (General.IsHunluanStatus)
            {
                var rgeneral = (CombatGeneral)attackEmbattle.RandomGeneral();
                return new[] { rgeneral };
            }
            return GetTargetUnit(General.Position, attackUnit, attackTaget, attackEmbattle);
        }
Exemplo n.º 11
0
 public PlotCombat(object combatType)
 {
     _combatType  = (CombatType)combatType;
     targerHandle = new TargetHandle(TargetEmbattle);
 }
Exemplo n.º 12
0
 public PlotCombat(object combatType)
 {
     _combatType = (CombatType)combatType;
     targerHandle = new TargetHandle(TargetEmbattle);
 }
Exemplo n.º 13
0
 public static extern void feFrame_SetTarget(TargetHandle handle);
Exemplo n.º 14
0
 public static extern IntPtr feTarget_GetImGuiTexID(TargetHandle handle);
Exemplo n.º 15
0
 public static extern void feTarget_Reset(TargetHandle handle, int width, int height);
Exemplo n.º 16
0
 public static extern void feTarget_Destory(TargetHandle handle);