wpf中webbrowser弹出windows 安全警告窗口的处理

经查,除了模拟点击之外,没其他好的办法,代码如下:

[DllImport("User32.dll", EntryPoint = "FindWindow")]
        private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
        [DllImport("User32.dll", EntryPoint = "FindWindowEx")]
        private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpClassName, string lpWindowName);
        [DllImport("user32.dll")]
        static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
        private int WM_CLICK = 0x00F5;

//使用定时器来检查是否出现窗口,如果有就关闭
 private void TimerCheckWebAlert_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            IntPtr hwnd = FindWindow(null, "Windows 安全警告");
            if (hwnd != IntPtr.Zero)
            {
                IntPtr btnhwnd = FindWindowEx(hwnd, IntPtr.Zero, "Button", "是(&Y)");
                if (btnhwnd != IntPtr.Zero)
                {
                    SendMessage(btnhwnd, WM_CLICK, 0, 0);//先移上去
                    SendMessage(btnhwnd, WM_CLICK, 0, 0);//再点击
                }
            }
            IntPtr hwndweb = FindWindow(null, "Web 浏览器");
            if (hwndweb != IntPtr.Zero)
            {
                IntPtr btnhwnd = FindWindowEx(hwnd, IntPtr.Zero, "Button", "是(&Y)");
                if (btnhwnd != IntPtr.Zero)
                {
                    SendMessage(btnhwnd, WM_CLICK, 0, 0);
                    SendMessage(btnhwnd, WM_CLICK, 0, 0);
                    timerCheckWebAlert.Enabled = false;//关闭这个定时器
                }
            }
        }


实现这个功能,你需要按照以下步骤进行操作: 1. 创建一个 WPF 应用程序。 2. 在主窗口设计一个按钮。 3. 创建一个新的 WPF 窗口用来显示自定义窗口内容。 4. 在按钮的点击事件,实例化自定义窗口并显示出来。 下面是详细的步骤: 1. 创建一个 WPF 应用程序。 打开 Visual Studio,选择“文件”>“新建”>“项目”,在“新建项目”对话框选择“WPF 应用程序”。 2. 在主窗口设计一个按钮。 打开 MainWindow.xaml 文件,在窗口上添加一个按钮: ``` <Button Content="打开自定义窗口" Click="Button_Click"/> ``` 3. 创建一个新的 WPF 窗口用来显示自定义窗口内容。 在“解决方案资源管理器”右键单击项目,选择“添加”>“新建项”,在“添加新项”对话框选择“WPF 窗口”,命名为“CustomWindow.xaml”。 在 CustomWindow.xaml 添加一些内容,如一个文本框: ``` <Grid> <TextBox Text="这是自定义窗口"/> </Grid> ``` 4. 在按钮的点击事件,实例化自定义窗口并显示出来。 在 MainWindow.xaml.cs 文件,添加以下代码: ``` private void Button_Click(object sender, RoutedEventArgs e) { CustomWindow customWindow = new CustomWindow(); customWindow.ShowDialog(); } ``` 这个代码在按钮的点击事件实例化 CustomWindow 窗口,并通过 ShowDialog() 方法显示出来。 现在,你可以运行应用程序并点击按钮,就会弹出自定义窗口了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值