Articles of 窗口句柄

获取C#中的子窗口句柄

我正在C#中启动一个进程,然后通过SendMessage向Windows进程发送Windows消息。 通常我发送消息到Process.MainWindowHandle,但在某些情况下,我可能需要find一个子窗口句柄,并在那里发送消息。 我将如何做到这一点在C#和寻找儿童窗口的选项是什么(即需要知道窗口的名称或有其他的select)?

处理无效的窗口句柄

应用程序使用Enum *例程检索窗口句柄。 恰巧在应用程序pipe理枚举/创build窗口的句柄(获取类名称,窗口统计信息…)的同时,该句柄不再有效。 代码pipe理窗口句柄使用try / catch块进行保护,但是窗口句柄被存储并且被连续用于pipe理表示的窗口。 如何处理窗口句柄的一生? 有可能检测到处理无效? 每当应用程序使用窗口句柄时,我都想避免try / catch块。

从C#中修改任何窗口的不透明度

是否有可能修改从C#打开的所有窗口的不透明度。 我GOOGLE了最小化的窗口,我才知道它可能与pInvoke调用。 它甚至工作。 同样,有可能从C#中更改所有打开的窗口的不透明度? 另外,我不在MFC的东西。 还有没有什么工具可以知道在dll中暴露的apis列表?

窗口句柄(HWND)是唯一的,还是被重用?

我在想如果有相同的价值处理? 为了澄清我的问题,比方说,我打开记事本,键入一些文本,保存它,然后closures记事本。 如果我重复这一千次(甚至更多),我是否有机会看到第一次使用的记事本主窗口使用相同的窗口句柄(HWND)值? 如果是这样,为什么?

如何获得属于某个进程的打开句柄的计数?

您可以使用程序Process Explorer来查看运行应用程序的手柄数量。 有没有用Delphi代码来获取这个数字的方法? 我有兴趣跟踪应用程序本身的号码; 没有findProcess Explorer正在执行的其他应用程序使用的句柄数。 我的意图是让应用程序跟踪/检测可能的资源泄漏。