C# FindwindowDon';看不见,但winSpy可以看到IE8(user32.dll)

C# FindwindowDon';看不见,但winSpy可以看到IE8(user32.dll),c#,user32,findwindow,C#,User32,Findwindow,我需要在IE8中找到下载对话框,我在IE8+中已经准备好了,所有的工作都是100%,我用Spy++/WinSpy找到了window/perent window的名称和类别,并找到了我的findow。但是在IE8中我被卡住了,下载对话框没有任何perents,在我看来更容易找到它,但没有 这是我的winSpy 您可以看到类和窗口名,但FindWindow返回0 这是我的代码: [DllImport("user32.dll", SetLastError = true, CharSet = Ch

我需要在IE8中找到下载对话框,我在IE8+中已经准备好了,所有的工作都是100%,我用Spy++/WinSpy找到了window/perent window的名称和类别,并找到了我的findow。但是在IE8中我被卡住了,下载对话框没有任何perents,在我看来更容易找到它,但没有

这是我的winSpy

您可以看到类和窗口名,但FindWindow返回0

这是我的代码:

 [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
 static extern int FindWindow(string lpClassName, string lpWindowName);

 a3 = FindWindow("Button", "&Save");
 a4 = FindWindow("Button", "Save");
 a5 = FindWindow("#32770 (Dialog)", "File Download");
 a6 = FindWindow("#32770 (Dialog)", "0% of telechargement.cgi from www.cic.fr Completed");
它们都是“0”

你知道我做错了什么吗


谁能找到这个下载对话框窗口?

Thanx致Hans Passant我找到了错误:

(对话框)注释是WinSpy试图提供太多帮助

只需从类名
“#32770(Dialog)”
中删除
(Dialog)

您需要更改代码来:

a5 = FindWindow("#32770", "File Download");
a6 = FindWindow("#32770", "0% of telechargement.cgi from www.cic.fr Completed");
类名只是简单的“#32770”,(对话框)注释是WinSpy试图提供太多帮助。而且“按钮”无法工作,FindWindow()只能查找顶级窗口。试图入侵浏览器的文件下载提示是邪恶的,而且有很多应对措施,所以病毒不会利用它。