问题标签 [reparenting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
494 浏览

windows - 如何将应用程序窗口作为属于另一个进程的窗口的子窗口托管?

我想将来自进程“A”的应用程序窗口托管到进程“B”的主窗口中,就像“A”的窗口是 MDI 子窗口一样。这在 Windows 中可能吗?还是有一些技巧可以让我伪造这个?

顺便说一句,当“A”的窗口嵌入到“B”的窗口中时,我想删除它的标题栏(或者更好的是,所有非客户端的东西)。我想这必须通过调整窗口样式或窗口类来实现,但我绝不是这些 Win32 错综复杂的专家。

0 投票
1 回答
1070 浏览

java - Java/SWT:如何从嵌入式窗口接收鼠标事件

我正在使用“reparenting”将 Windows 应用程序嵌入到我的 SWT 应用程序中。那部分工作正常。我现在想将我的 SWT 应用程序挂接到消息队列中,以便嵌入式应用程序接收鼠标移动事件。

我看到 SWT 中的 OS 类有许多有趣的方法来添加钩子,但我还没有弄清楚如何使用它们。

任何人都可以帮忙吗?

谢谢

0 投票
1 回答
1693 浏览

c# - 处理来自其他进程的窗口消息

我正在开发一个 C# WPF 应用程序,它使用对 Win32 SetParent() 的调用来重新定义另一个应用程序的主窗口。此进程外子窗口的句柄由派生自 HwndHost 的名为 FormHost 的类包装。除了一件事之外,一切都运行良好:reparented 窗口的消息未传递到 FormHost。MSDN 文档明确指出 HwndHost 窗口过程 WndProc() 不能与进程外窗口一起使用。替代方案 MessageHook 也不起作用。我还尝试调用 AttachThreadInput() 来组合两个窗口的输入处理。没运气。有什么建议么?

0 投票
3 回答
2179 浏览

c# - 在第三方应用程序中将窗口创建为子窗口

我试图让我的 C# 表单在第三方应用程序中正确地作为父级,我拥有我希望我的表单作为父级的控件的句柄,但似乎无法让它工作。

替代文字 http://img693.imageshack.us/img693/8871/examplec.jpg

我想创建我的表单,使其成为 MDIClient 的一部分,句柄 005E0ED6。就像窗口 01D7157D。

这可能吗?如果是这样,它可以在 C# 中完成吗?

0 投票
1 回答
419 浏览

sharepoint - Sharepoint 重新育儿

是否可以将 Sharepoint 中的子网站从 1 个网站集重新设置为另一个?

0 投票
3 回答
1442 浏览

mercurial - Mercurial 中的重生:如何将两个独立的 svn 克隆重新组合在一起?

情况如下:开发人员 Foo 从我们的 svn 存储库创建了一个 hg 存储库。Foo 的 hg repo 只是 svn 中树干的浅层克隆(没有 svn 分支、标签等,历史不完整 [大约 100 个变更集])。Developer Bar 做了同样的事情,但是克隆了整个 svn 存储库,包括整个历史、分支、标签等。Foo 和 Bar 都在他们的存储库上进行了分支开发。

两个存储库都有一个共同的 SVN 祖先,但每个 hg 存储库都有不同的版本号。我想将 Foo 从共同祖先的更改重新添加到 Bar 的存储库中。这是我正在寻找的图表:

Foo 的回购:

酒吧的回购:

C,C' 和 D,D' 内容相同,但版本号和注释不同。

目标:

我已经没有关于如何实现这一点的想法了。我试过 convert --splicemap splice.map [splice.map file contains ED] (没有做任何事情)。Clone -f 设法将所有内容都放入一个存储库中,但它们似乎是独立的树。在 clone -f 之后,我尝试了 rebase --source E --dest D --detach,但它只是崩溃了:(

想法?

我知道更改历史将使任何人的存储库克隆无效,在这种情况下这不是问题。所有用户都将从这项工作的结果中重新克隆。

0 投票
2 回答
2517 浏览

visual-studio-2010 - 在 TFS 中添加项目引用会重定向到项目的先前分支版本♦

我有一个看起来像这样的 TFS 结构:

$

-主软件分支

-开发

-主要的

-企业

-项目1

-测试

-团队项目A

-主要的

-企业

-项目1

-团队项目B

-主要的

-企业

-项目1

这样做的最终目标是 MainSoftwareBranch (MSB) 包含我们公司开发的所有软件。当您需要某个软件时,您可以将其分支到您的项目分支中,并在必要时添加项目引用。

过去某个时候,对我们的分支策略不太熟悉的人将 Project1 直接从 TeamProjectB 分支到 TeamProjectA,而不是从 MSB。我已尝试解决此问题,并从 TeamProjectA 中引用它的位置删除了对 $/TeamProjectB/Main/Enterprise/Project1 的项目引用。我从 $/MSB/Main/Enterprise/Project1 分支 Project1 并尝试使用“添加现有项目...”将项目添加到解决方案并浏览到 csproj 文件所在的本地路径。加载的项目是来自 $/TeamProjectB 的项目。我已经在 TFS 中以及在 csproj 和 sln 文件中手动删除了源代码控制绑定,但没有任何变化。它总是将我打开正确 csproj 文件的请求“重定向”到无效的旧文件。

是否有人对可能导致这种奇怪行为的原因有任何见解?

0 投票
1 回答
694 浏览

x11 - 如何防止重新父窗口阻塞 X 会话?

我将一个外部窗口重新设置为 Qt 应用程序 ( XReparentWindow, XMapRaised, XMoveResizeWindow)。它可以工作,但是当我单击该重新父窗口时系统锁定(没有鼠标或键盘事件),期望可能是重新父窗口内的一些输入,或者可能是我的应用程序。

例如,尝试嵌入 gedit 并单击它会导致仅在 gedit 中发生键盘事件(甚至禁用全局 Awesome 的热键),并且在任何地方都没有鼠标点击(除非我使用 Ctrl+Q 关闭嵌入式 gedit)。

如果使用 QX11EmbedContainer 也一样。即使这样做setEnabled(false)

为什么会被锁?如何防止这种锁定或如何禁用某些 X 窗口的输入处理?

0 投票
1 回答
12049 浏览

c# - 如何使用 C# 中的 STARTUPINFOEX 调用 CreateProcess() 并重新设置孩子的父级

我需要创建一个新进程,但它是另一个进程的“子”,而不是当前进程,例如重新创建新进程。

以下让我几乎到了.NET:如何使用 C#和.NET中的 STARTUPINFOEX 调用 CreateProcessAsUser() :如何 PInvoke UpdateProcThreadAttributehttp://winprogger.com/launching-a-non-child-process/

ProcessCreator.CreateProcess(0) 将记事本作为当前进程的子进程启动,这是默认行为。到目前为止,一切都很好。

如果传入的值不是 0,则代码尝试将记事本作为进程 ID 与输入值匹配的进程的子进程启动(我假设该进程现在存在)。

不幸的是,该部分不起作用并引发以下异常:

检测到 FatalExecutionEngineError 消息:运行时遇到致命错误。错误地址位于线程 0x1de0 上的 0x69a2c7ad。错误代码为 0xc0000005。此错误可能是 CLR 中的错​​误或用户代码的不安全或不可验证部分中的错误。此错误的常见来源包括 COM 互操作或 PInvoke 的用户封送错误,这可能会损坏堆栈。

任何指针都非常感谢。

0 投票
1 回答
945 浏览

java - 在 JFrame 或 JPanel 上重新设置 X11 窗口?

为了将 C/C++ X11 应用程序嵌入到另一个 Java 应用程序中,是否可以在以下位置重新设置 X11 顶级小部件:

  • 一个 JFrame 或一个 JWindow(使用包 sun.awt.x11 捕获其 X11 对等方的 X11 窗口 ID)?
  • 还是JPanel?

我更喜欢用 JPanel 重新父母,但我不确定这是否可能。