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(); }
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); }
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); }
/// <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)); }
/// <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); }
public PlotCombat(object combatType) { _combatType = (CombatType)combatType; targerHandle = new TargetHandle(TargetEmbattle); }
public static extern void feFrame_SetTarget(TargetHandle handle);
public static extern IntPtr feTarget_GetImGuiTexID(TargetHandle handle);
public static extern void feTarget_Reset(TargetHandle handle, int width, int height);
public static extern void feTarget_Destory(TargetHandle handle);