public void adjustHandleSizeToTargetWindow() { if (AutoResize.@checked()) { HijackedHandle.window_Move(0, 0, HijackedWindow.width(), HijackedWindow.height()); } }
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 Win32_Handle_Hijack restore() { if (HijackedHandle != IntPtr.Zero) { "restoring {0} to parent {1}".info(HijackedHandle, HijackedParent); HijackedHandle.setParent(HijackedParent); if (HijackedHandleRECT.Width > 0 && HijackedHandleRECT.Width > 0) { HijackedHandle.window_Move(HijackedHandleRECT.Left, HijackedHandleRECT.Top, HijackedHandleRECT.Width, HijackedHandleRECT.Height); HijackedHandleRECT = default(WinAPI.RECT); } HijackedParent.window_Redraw(); HijackedHandle.window_Redraw(); HijackedHandle = IntPtr.Zero; } return(this); }