问题标签 [window-handles]
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.
c# - C# 使用打印窗口
我正在尝试在不禁用 aero 的情况下在 win7 中捕获一个窗口,我听到PrintWindow Works。
但我不知道如何使用它,我找到了一些文章,但我看不到任何图像或位图输出
有没有人有过这个功能的经验并且知道如何使用它?
delphi - 检测 Skype 是处于“紧凑视图”还是“默认视图”
我的应用程序的运行方式由 Skype 的视图模式决定,因为我的应用程序正在寻找 class 的窗口TConversationWindow
,如果在 Default View 中是 的子级tSkMainForm
,如果在 Compact View 中,它不是 .的子级tSkMainForm
。
这是我试图做的:
TConversationForm
上面的函数将通过检查其父级是否有文本来查找顶层(除非我弄错了 - 没有窗口父级的窗口) 。如果 Skype 处于默认视图中,则TConversationForm
' 是 的子级tSkMainForm
,其中始终包含一些文本。它按预期工作。
现在解决实际问题:每当用户在两个视图之间切换时,顶级的TConversationForm
's 都不会“刷新”。它们消失得很好,但是为了让它再次显示为子项(因此更改在Winspector SpytSkMainForm
中可见),您必须在 Skype 中选择它,我不能依赖用户来执行此操作。
如果您不知道,以下是 2 个视图之间的区别:
紧凑视图
默认视图
如果您需要更多信息,请告诉我,谢谢!
delphi - 获取前台 CHILD 窗口
每当 Skype 处于Default View中时,TConversationWindow
' 就成为tSkMainForm
Window 的子级。
我在找出哪个TConversationWindow
处于活动状态时遇到问题 - 但它不像 MDI 界面 - 只有一个 TConversationWindow
是可见的,就像它是Tab/Page一样。
当我这样做时GetForegroundWindow
,将返回 Skype 的 MainForm 句柄 ( tSkMainForm
)。有什么方法可以让我TConversationWindow
在 Skype 中获得前台?
我的这个问题有 Skype 默认视图的截图,如果你需要的话。:)
编辑:这是 Winspector Hierachy 的屏幕截图:
EDIT2:我试着像这样穿过窗户:
上面应该找到可见窗口,但是当我调试它时,它永远不会在 While 循环中进入 Begin End,并且 Label1 显示“TChromeMenu - ChromeToolbar”。当我删除 IsWindowVisible 检查时,它至少会找到一个 TConversationForm。我究竟做错了什么?
EDIT3:通过将 IsWindowVisible 和 getClassName 检查放在循环内,并在为真时中断,我设法做到了。:)
c++ - 从代码问题激活窗口
我的桌面上有一个名为“卡巴斯基反病毒配置向导”的窗口
以下是有关窗口的一些信息:
该窗口未出现在 Windows 任务管理器任务列表中(仅它的进程存在于进程列表中为“avp.exe”,据我所知,这让我很难实现我的目标。首先我会欣赏有人会解释如何在“Windows 任务管理器”的“应用程序”选项卡中不存在的 Kaspersky Programmed i 窗口。其次,如果您能帮我解决我的问题,我将非常感激,详细信息如下:
我想从代码(C++ \ Autoit)中激活窗口(在窗口上设置焦点)。
我尝试使用 WinAPI 的 FindWindow 函数,但无法获得该窗口的句柄。
我得到了 GetForegroundWindow 函数的句柄,我发现当我使用 EnumWindows 函数时,卡巴斯基配置窗口的句柄不在列表中。
这是我的代码:
cout << "Found Window" 语句从未执行。
如果您能帮助我解决这个问题并向我展示激活此窗口的能力,我将不胜感激。
windows - 窗口句柄 (HWND) 是唯一的,还是曾经被重复使用?
我在想是否有相同值的句柄?
为了澄清我的问题,假设我打开记事本,输入一些文本,保存然后关闭记事本。如果我重复这一千次(甚至更多),我是否有机会看到第一次使用的记事本主窗口使用相同的窗口句柄 (HWND) 值?如果是这样,为什么?
vb6 - CreateFile 返回负句柄
为什么 createfile() 函数会返回-1的任何想法。
这运行了几次。我在想也许文件没有正确关闭?
编辑
Err.LastllError 返回 32。
.net - 使用 Office 互操作获取特定窗口句柄
我正在通过执行以下操作使用 Office 互操作创建 Word 的新实例:
我可以得到这样的窗口句柄:
问题是代码的工作假设没有其他 Word 实例正在运行。如果有多个,它不能保证它返回的句柄是针对我已经启动的实例的。我GetForegroundWindow
在检测WindowActivate
到来自我的对象的事件后尝试使用,但这一切都在设置为最顶层窗口运行的 WPF 应用程序中运行,所以我只是获取 WPF 窗口的句柄。还有其他方法可以获取我的单词实例的句柄吗?
windows - 如何获取属于某个进程的已打开句柄的计数?
您可以使用程序Process Explorer查看正在运行的应用程序有多少句柄。Delphi代码有没有办法得到这个数字?我有兴趣跟踪应用程序本身的号码;不要像 Process Explorer 那样查找其他应用程序使用的句柄数。
我的目的是让应用程序跟踪/检测可能的资源泄漏。
c# - 为什么使用 IntPtr 作为句柄?
在使用 PInvoke 时,我注意到我们需要使用IntPtr
来引用 Windows 句柄。我想知道为什么不只int
用于手柄?我对句柄的理解是它只是一个整数值。
c# - 从文本中剥离 RTF 格式会导致 Richtextbox 出现句柄错误
我有两个单独的 C# ASP.NET 程序在同一台服务器上运行。他们每个人都在各自的业务层 dll 中使用 Richtextbox 控件来从存储在数据库中的文本中剥离 RTF 格式。
问题是,当两个程序都执行时,通常会发生此行失败(在两个程序上)并出现以下错误的情况。
这些程序不共享任何代码或 dll。唯一的共同点是用于剥离格式的技术以及它们位于同一服务器上的事实。
以这种方式使用 Richtextbox 是否存在已知问题?我没有编写代码,但在 dll 中使用 UI 元素似乎是不标准的,尽管这是搜索如何去除格式时的常见解决方案。
理想情况下,我会在不使用 Richtextbox 的情况下找到解决方案。我发现一个使用接近的正则表达式,但不保证 100% 的格式将被剥离。任何关于为什么会发生这种情况的解释或任何解决方法都将不胜感激。
谢谢!