比如系统中有一个程序 abc.exe 正在运行, 运行的窗体的句柄为 hwnd1
这个窗体弹出了一个 messagebox window (弹出窗口是父窗口的 OwnedWindow)我通过自己的 C# 程序, 已经通过 findwindow 函数得到了 hwnd1 这个句柄,
但是我该如何知道 hwnd1 下是否有 OwnedWindow 呢?不知道调用 WINAPI 什么函数,可能根本就不存在这样的函数,望高手不吝赐教,100分薄礼,谢谢大家!
这个窗体弹出了一个 messagebox window (弹出窗口是父窗口的 OwnedWindow)我通过自己的 C# 程序, 已经通过 findwindow 函数得到了 hwnd1 这个句柄,
但是我该如何知道 hwnd1 下是否有 OwnedWindow 呢?不知道调用 WINAPI 什么函数,可能根本就不存在这样的函数,望高手不吝赐教,100分薄礼,谢谢大家!
解决方案 »
- C# 屏幕坐标
- C# 从文件中读取指定字符串的问题
- 100分C# .NET高手快来帮下小弟吧,不胜感激
- 动态加载数据问题, 应该看哪些方面的资料?
- 当整个应用程序失去焦点(没有任何一个属于本程序的窗体拥有焦点)时发生的事件是什么呢?
- 请问:datagird的内容不可以修改,添加。只能做删除一行的操作。怎么实现,最好是有按钮列,但是在winfrom里没有啊??
- 关于c#做安卓应用的问题
- 那儿有关于验证数据库已经是否存在记录的存储过程代码?
- c#中如何将datagrid 中的数据导入到Excel中~???谢谢!!
- 有个程序写不出来,帮帮忙。
- [求助]自编C#Windows窗体应用程序背景设为图片后全透明了
- [高分求解] 如何通过 C# 得到任务栏的窗口数和窗口标题?
EnumChildWindows(hWndParent,myEnumChild,0);
hWndParent 枚举子窗口的父窗口的句柄
应该是 getchild 的功能吧
不是 getparent可惜 api 里面没有 getchild 的函数
所有者窗口无法用 GW_CHILD 取得吧。
应该是类似 GW_OWNEDWINDOW 之类的功能,可惜api中好像没有
用 Spy ++ 看了,根本没有弹出对话框的子窗口句柄,所以用EnumChildWindows肯定找不到
应该是 getchild 的功能吧
不是 getparent可惜 api 里面没有 getchild 的函数
foreach (Window ownedWindow in this.OwnedWindows)
{
Console.WriteLine(ownedWindow.Title);
}
HWND FindWindowEx( HWND hwndParent,
HWND hwndChildAfter,
LPCTSTR lpszClass,
LPCTSTR lpszWindow
);hwndParent
[in] Handle to the parent window whose child windows are to be searched.