我有一个基于.NET 2.0的Windows应用程序,在
我尝试了很多Win32函数:
一些我尝试过的代码:
导入Win32:
Form1
中打开了一个PrintDialog
。如何从我的代码中获取该对话框的句柄?我尝试了很多Win32函数:
EnumWindows
、EnumChildWindows
、FindWindow
、FindWindowEx
,但都无法找到我的PrintDialog
。我只能找到Form1
和其上的控件,而没有办法获取PrintDialog
的句柄。一些我尝试过的代码:
导入Win32:
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
调用Win32函数:
using (PrintDialog dlg = new PrintDialog
{
AllowCurrentPage = false,
AllowSomePages = true,
AllowSelection = false
})
{
IntPtr printHandle = CustomPrintDialog.FindWindow("#32770", "Print");
// some logic with printHandle go here
if (dlg.ShowDialog(this)==DialogResult.OK){
// some logic go here
}
}
我使用Spy++检查了一下,发现还有一个PrintDialog
窗口。这个PrintDialog
窗口的父窗口句柄与Form1
的句柄完全相同。
有人可以帮我从其父窗口获取PrintDialog
的句柄吗?