问题标签 [handle]

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

c# - 在运行时将一个窗口的控件替换为另一个

我有一个窗口及其richEdit 控件的句柄。我可以用我自己的一个替换上述控件吗?我希望它的行为与原来的一样,即成为窗口等的一部分。

我将进一步详细说明该场景 - 我目前正在反汇编一个应用程序,其功能之一是文本编辑器。我当前的(受限制的)环境中有各种程序挂钩,其中一个产生了编辑器窗口的句柄。另一个允许我获取 RichEdit20A 控件窗口主机的句柄。

我想做的是 - 用我自己的(大概是它的 .NET 等效项)覆盖控件并修补应用程序的 GetWindowText 调用以使用新的。为了实现它,我计划用 C#/托管 C++ 编写类库并将其导入我的应用程序(它是用非托管 C++ 编写的)。

此外,可以有任意数量的文本编辑器实例。

0 投票
1 回答
1530 浏览

windows - “\Device\NamedPipe\\Win32Pipes”句柄会导致“打开文件过多”错误吗?

继续这个问题

当我尝试在 Windows 上执行 fopen 时,我收到“打开的文件太多”错误。我试图分析,我有多少打开的文件,似乎并没有太多。

但是当我执行 Process Explorer 时,我注意到我有许多具有相似名称的打开句柄:“\Device\NamedPipe\Win32Pipes.00000590.000000e2”、“\Device\NamedPipe\Win32Pipes.00000590.000000e3”等。我看到了数字这些句柄的数量正好等于我的程序在返回“打开的文件太多”并停止之前执行的迭代次数。

我正在寻找答案,这些句柄是什么,它们实际上会导致“打开的文件过多”错误吗?

在我的程序中,我正在从远程驱动器加载文件,并且正在创建 TCP/IP 连接。这些操作之一可以创建这些句柄吗?

0 投票
3 回答
25540 浏览

c++-cli - 将 IntPtr 窗口句柄转换为 IWin32Window^

如何将从窗体/控件的 Handle 属性获取的句柄转换为 IWin32Window^ ?

0 投票
7 回答
5454 浏览

.net - DotNET 应用程序中的 GDI 句柄

我的纯 DotNET 库在非托管桌面应用程序中作为插件运行。我一直在收到稳定(虽然很低)的崩溃报告流,这些报告似乎表明 GDI 句柄存在问题(错误消息中的字体等。恢复为系统字体,各种控件的显示出现故障,不久后出现大规模崩溃)。

我的表单很少有控件,但我在用户控件中做了很多 GDI+ 绘图。有什么好方法可以告诉我正在使用多少个手柄,甚至泄漏?

谢谢,大卫

0 投票
4 回答
22056 浏览

c - lseek/write 突然返回 -1 且 errno = 9(错误的文件描述符)

我的应用程序用于lseek()寻找所需的位置来写入数据。该文件已使用成功打开,并且open()我的应用程序能够多次使用。lseek()write()

在给定的时间,对于一些不容易重现的用户,lseek()返回 -1,errno值为 9。在此之前文件未关闭,文件句柄 (int) 未重置。

之后,创建另一个文件;open()又好了,lseek()write()可以工作了。

更糟糕的是,该用户再次尝试了完整的序列,一切都很好。

所以我的问题是,操作系统可以出于某种原因为我关闭文件句柄吗?什么可能导致这种情况?某种文件索引器或文件扫描仪?

解决这个问题的最佳方法是什么?这个伪代码是最好的解决方案吗?(不要介意代码布局,将为它创建函数)

有人有类似的经历吗?

摘要:对于给定的 fd,文件查找和写入工作正常,并且突然无缘无故地返回 errno=9。

0 投票
2 回答
1911 浏览

windows - Windows 可以处理跨越 32 位/64 位边界的继承吗?

如果一个进程是 32 位而另一个是 64 位,子进程是否可以从其父进程继承句柄?

HANDLE 在 Win64 上是 64 位类型,在 Win32 上是 32 位类型,这表明即使它应该在所有情况下都可能,但在某些情况下它会失败:64 位父进程,32-位子进程,以及不能用 32 位表示的句柄。

还是命名对象是 32 位进程和 64 位进程获取同一对象句柄的唯一方法?

0 投票
1 回答
1335 浏览

winapi - 如何将文本附加到 WinAPI 中的文本文件?

我遇到了一个烦人的问题,我无法将任何文本附加到文本文件中。每次打开它进行写入时,我都会覆盖数据。我试图将文件指针移动到文件末尾,但没有结果(根本没有写入文件)。这是代码:

有任何想法吗?先感谢您!

0 投票
1 回答
177 浏览

exchange-server - 如何在外部输入上访问/移动 dijit.slider 或 Dojox.RangeSlider 的句柄

简介:我有一个 dojox Horizo​​ntalRangeSlider UI 组件。在此控件的每一侧,我都有一个显示各个滑块值的 texbox。

问题:当我在我的文本框中输入一个新值时,我可以更新 RangeSlider 的内部值,但句柄不响应更改。我怎样才能做到这一点?

0 投票
2 回答
565 浏览

winforms - ThreadPool.QueueUserWorkItem 新表单 CreateHandle 死锁

我有一个线程需要创建一个弹出窗口。我使用 ThreadPool.QueueUserWorkItem(new WaitCallback(CreatePopupinThread)) 启动线程,线程创建了一个新表单。应用程序在 CreateHandle 处的新 Form 构造函数中停止工作。工作线程被锁定......我该如何解决这个问题?

这就是我创建表单的方式

在构造函数中线程进入死锁

0 投票
2 回答
25705 浏览

android - 如何处理 webview 确认对话框?

我在 WebView 中显示网页,在网页上,有一个按钮。当您单击按钮时,应该会弹出一个确认对话框,但它不会显示在我的 WebView 中。如果我在 android 浏览器中访问相同的网页,它会弹出。任何人都知道如何处理来自 WebView 内网页的弹出对话框?