【问题标题】:FindWindow don't see ,but winSpy can see IE8 (user32.dll)FindWindow 看不到,但是 winSpy 可以看到 IE8 (user32.dll)
【发布时间】:2014-10-18 15:44:38
【问题描述】:

我需要在 IE8 中找到下载对话框,我已经准备好在 IE8+ 中执行此操作,并且所有工作都 100%,我使用 Spy++/WinSpy 找到了窗口/相应窗口的名称和类,并得到我的 findow。但在 IE8我卡住了,下载对话框没有任何权限,在我看来更容易找到它,但没有。

这是我的 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'。

任何想法我做错了什么?

谁可以找到这个下载对话窗口?

【问题讨论】:

  • 类名只是简单的“#32770”,(Dialog) 注释是 WinSpy 试图太有帮助。并且“按钮”不起作用,FindWindow() 只能找到顶级窗口。试图破解浏览器的文件下载提示是邪恶的,并且有很多对策让病毒无法利用它。

标签: c# user32 findwindow


【解决方案1】:

感谢 Hans Passant,我发现了错误:

(Dialog) 注释是 WinSpy 试图太有帮助

只需要从类名"#32770 (Dialog)"中删除(Dialog)

您需要更改代码:

a5 = FindWindow("#32770", "File Download");
a6 = FindWindow("#32770", "0% of telechargement.cgi from www.cic.fr Completed");

【讨论】:

    猜你喜欢
    • 2017-09-09
    • 2019-09-30
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    相关资源
    最近更新 更多