问题标签 [setparent]

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 回答
303 浏览

vb.net - 将子窗口释放回桌面?

我正在使用这些库来查找窗口并将其句柄设置为新句柄,就像我程序中的选项卡一样。但是,我很难将程序发布回桌面。关闭主应用程序后,捕获的窗口也会关闭。有人可以帮帮我吗?谢谢你!

图书馆 :

这是我如何将正在运行的应用程序(例如记事本)捕获到程序中的活动选项卡中的方法:

这在将窗口捕获到我的标签页时效果很好,但是我如何将该窗口从我的标签页中删除回到桌面上?

0 投票
0 回答
243 浏览

unity3d - "Transform.SetParent(parent, false)" 到另一个画布,游戏对象的锚点更改不正确

我有一个带有画布组件的预制件,画布渲染模式设置为“屏幕空间 - 相机”。现在,我将预制件和 SetParent 实例化为当前场景中的画布。(ep: obj.transform.SetParent(canvasGo.transform, false); ) 在 unity5.3 中,“SetParent”操作是正确的,但对 unity2017 的更新不是。gamebject 的锚点与预制不同。在预制件中,锚点设置为 Min(0,0) 和 Max(1,1)。在unity2017中,“SetParent”操作后anchors是Min(0,0)和Max(0,0),所以游戏对象位置不正确。但在 unity5.3 中保持与预制相同。unity2017 发生了什么?是unity2017的错误吗?

Prefab中的设置 unity5.3 操作后的Inspector unity2017 操作后的Inspector

0 投票
0 回答
105 浏览

vb.net - 在 SetParent 之后获取滚动条的问题

我尝试将窗口程序集成到 vb.net 中的面板容器中。

一切正常,但滚动条被禁用,你知道为什么吗?

我的代码是:

putty.exe 程序是名为“panel1”的面板容器中的正确积分器,但垂直滚动条被禁用。你知道为什么吗 ?

该脚本使用以下声明:

在此处输入图像描述

0 投票
2 回答
370 浏览

c# - setparent new cmd windows 10中的问题

一段时间以来,我通过集成多选项卡创建了一个控制台应用程序(cmd 和 powershell)。我正在使用的setparent功能user32。除非我移动父窗口,否则一切正常。无法访问子窗口。它是可见的,但无法单击它。为了解决这个问题,必须将父窗口替换到原来的位置。我注意到这个“错误”只出现在新的 Windows 10 控制台中。

我不知道该怎么做。

(对不起我的英语不好我是法国人)

0 投票
0 回答
129 浏览

c# - 当 SetParent() 不起作用时如何在面板中运行外部应用程序 C#

我试图在 C# 程序中触发和应用程序(在本例中为 SAP2000),以便应用程序显示在面板中。我在不同的帖子中搜索过,似乎“SetParent()”策略最适合这个目的。然而,确实有一些用户报告说它存在一些问题,并且已经定义了“SetParent()”策略的不同方法。你可以在下面找到我的:

尽管在“proc.WaitForInputIdle(1000)”和“Thread.Sleep(10000)”中定义了高“延迟”值,但应用程序 (SAP2000)并不总是显示在面板中当它显示时,可以按下应用程序按钮,但它们不要反应(见图)。

我的问题是:“SetParent()”是在 C# 程序面板中运行这种“繁重”应用程序的合适方法吗?或者对于这种情况是否有必要采取另一种策略?如果是这样,我真的很感激任何处理这个问题的建议。

提前致谢。问候

在此处输入图像描述

0 投票
0 回答
182 浏览

c# - 以 C# 形式嵌入外部应用程序

我正在尝试使用 C# 在我的 exe 中嵌入一个外部程序。这似乎在少数情况下有效,但在其他情况下无效。2个EXE有区别吗?

这是我的代码。

我也尝试添加和删除 WaitForInputIdle 和 Thread.Sleep。但这似乎并没有改变行为。

行为:

  1. Notepad.exe:应用程序在面板内打开。我可以在面板内拖动它,但它不会超出面板

  2. Calc.exe:在进程外打开。它不绑定到面板。

我有 3 个需要嵌入的客户提供的 exe。我使用“calc.exe”和“notepad.exe”只是为了提供可重现的代码。

操作系统:Windows 10 Visual Studio 社区版:16.9.4

如果 C# 不是要走的路,关于什么最适合这个要求的任何建议。

谢谢你。

编辑 1:基于更多搜索,我将样式从 WS_POPUP 更改为 WS_CHILD。但仍然没有成功。

删除窗口或窗体的父级

代码:

我发现的一件奇怪的事情是 GetParent 总是返回 0(表示根应用程序),但 SetParent 却返回了不同的结果。我认为 SetParent 应该返回当前的父级,这与 GetParent 相同。

任何线索将不胜感激。

0 投票
1 回答
70 浏览

c# - 是否可以在进程启动期间隐藏沙漏?

背景

我正在开发一个广泛使用 SetParent 功能的应用程序,以便在一个应用程序中播放多个视频播放器,同时控制主应用程序的内存。每次用户请求观看视频时,都会执行一个新的 player.exe 并将其附加到主窗口。这适用于大多数用例场景。

但有一个我正在努力。在这种情况下,用户正在快速播放大量视频,这意味着主应用程序会不断地杀死并创建新的播放器。

每次执行 player.exe 时,鼠标图标上都会出现一个小沙漏图标,并且在这种情况下,这些玩家的创建速度非常快,因此沙漏图标会不断播放。

动机

我想这是可能的,例如 google chrome 对每个选项卡都使用了它,您可以添加多个水龙头,而不会在每个选项卡创建时出现繁忙的沙漏图标。

细节

我可以控制主应用程序和播放器应用程序,只是要注意我可以对两者进行任何更改。

我制作了一个小窗口窗体应用程序作为这种行为的示例,带有 2 个按钮和 1 个面板。

我留下了整个代码,因为有人可能会感兴趣。显然我无法控制 notepad.exe。这段代码是我能得到的最接近我在原始应用程序中使用的代码。由于未知的原因,开始隐藏在记事本上不能正常工作,所以我不得不在之后隐藏它,这样它看起来很好,不会在面板中闪烁。

已经试过了

  1. 我注意到如果记事本已经启动,则检索记事本没有问题。
  2. 在任务或其他线程中调用 Process.Start 无效。
  3. 我注意到即使您直接在 Windows 上执行沙漏也会出现,因此沙漏效果可能会被子可执行文件禁用。(这意味着提供的临时测试永远不会像使用 notepad.exe 那样工作)。

问题

最后的问题是:是否可以调用子应用程序的 Process Start 来避免沙漏出现在鼠标上?

最坏的情况是在 Windows 注册表中禁用沙漏图标(我想这是可能的,尽管我目前不知道)但这将是我的最后选择。

编辑1:

我尝试过的另一件事:在调用 Process start 之前强制使用鼠标图标。我认为它会起作用,因为它适用于手形图标或与指针不同的图标,但如果图标是指针,它就不起作用。

0 投票
1 回答
19 浏览

c# - 如何为 SetParent 取消停靠游戏窗口

大家好。

上面的代码工作。我想取消停靠记事本窗口。

我尝试了此取消停靠代码,但取消停靠不起作用。记事本留在面板上。如何取消停靠窗口?一年前尝试使用 IntPtr.Zero 取消停靠。我不记得代码是什么了。

抱歉英语不好 谢谢