NameCheap.com域名续费优惠码
作者:admin 日期:2024-03-29
VB.net中应用CefSharp.WinForms库构建Chrome核心浏览器的方法
作者:admin 日期:2022-09-06
centos lnmp “.user.ini”无法删除解决方法
作者:admin 日期:2020-03-23
LNMP安装及配置目录一览
作者:admin 日期:2019-02-13
Godaddy虚拟主机最新优惠码
作者:admin 日期:2017-01-07
php插入mysql数据避免重复插入
作者:admin 日期:2012-04-24
PHP取得当前插入数据库中最新记录的id值
作者:admin 日期:2011-04-05
CefSharp winform谷歌浏览器控件禁止弹窗与右键
作者:admin 日期:2024-01-14
虽然能用CefSharp将web应用嵌入到窗体程序,但遇到<a >标签(_blank)会弹出一个窗口,而且在任意位置可以弹出右键菜单,
需要解决这个问题才像一个真正的客户端软件。
不弹子窗体
控制弹窗的接口是ILifeSpanHandler,并实现OnBeforePopup方法。如下:
定义LifeSpanHandler类:
- using CefSharp;
- using CefSharp.WinForms;
- namespace CefTest
- {
- internal class LifeSpanHandler : ILifeSpanHandler
- {
- //弹出前触发的事件
- public bool OnBeforePopup(IWebBrowser webBrowser, IBrowser browser, IFrame frame, string targetUrl,
- string targetFrameName, WindowOpenDisposition targetDisposition, bool userGesture, IPopupFeatures popupFeatures,
- IWindowInfo windowInfo, IBrowserSettings browserSettings, ref bool noJavascriptAccess, out IWebBrowser newBrowser)
- {
- //使用源窗口打开链接,取消创建新窗口
- newBrowser = null;
- var chromiumWebBrowser = (ChromiumWebBrowser)webBrowser;
- chromiumWebBrowser.Load(targetUrl);
- return true;
- }
- public void OnAfterCreated(IWebBrowser chromiumWebBrowser, IBrowser browser)
- {
- }
- public bool DoClose(IWebBrowser chromiumWebBrowser, IBrowser browser)
- {
- return true;
- }
- public void OnBeforeClose(IWebBrowser chromiumWebBrowser, IBrowser browser)
- {
- }
- }
- }
调用方式
- using CefSharp;using CefSharp.WinForms;
- namespace LawSever
- {
- public partial class frmweb : Form
- {
- public frmweb()
- {
- InitializeComponent();
- InitBrowser();
- }
- public ChromiumWebBrowser browser;
- public void InitBrowser()
- { //Cef.Initialize(new CefSettings());//亲测这句代码 可不执行 也好用
- browser = new ChromiumWebBrowser("https://ai.12348.gov.cn/pc/");
- browser.LifeSpanHandler = new LifeSpanHandler();//超链接不弹新窗体
- this.panel1.Controls.Add(browser);//panel
- }
- }
禁用右键
禁用右键的接口是IContextMenuHandler,并实现OnBeforeContextMenu 方法。如下:
定义MenuHandler类:
- using CefSharp;
- namespace CefTest
- {
- internal class MenuHandler : IContextMenuHandler
- {
- public void OnBeforeContextMenu(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters,
- IMenuModel model)
- {
- model.Clear();
- }
- public bool OnContextMenuCommand(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters,
- CefMenuCommand commandId, CefEventFlags eventFlags)
- {
- return false;
- }
- public void OnContextMenuDismissed(IWebBrowser webBrowser, IBrowser browser, IFrame frame)
- {
- }
- public bool RunContextMenu(IWebBrowser webBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters,
- IMenuModel model, IRunContextMenuCallback callback)
- {
- return false;
- }
- }
- }
调用方式:
- ChromeBrowser.MenuHandler = new MenuHandler();
vb.net判断重复文本并提取
作者:admin 日期:2023-06-22
Dim data As New List(Of String) ' 保存2000000条数据的列表
' 假设数据已经保存在 data 列表中
Dim countDict As New Dictionary(Of String, Integer) ' 字典用于保存每条数据的重复次数
For Each item As String In data
If countDict.ContainsKey(item) Then
countDict(item) += 1 ' 如果字典中已经存在这条数据,重复次数加1
Else
countDict(item) = 1 ' 如果字典中不存在这条数据,添加到字典中并初始化重复次数为1
End If
Next
' 输出重复次数大于1的数据
For Each item As KeyValuePair(Of String, Integer) In countDict
If item.Value > 1 Then
Console.WriteLine("{0}: {1}", item.Key, item.Value)
End If
Next
vb.net正则判断ip端口格式
作者:admin 日期:2023-06-22
Dim ip As String = "192.168.0.1"
' 创建正则表达式对象
Dim regex As New System.Text.RegularExpressions.Regex("^(\d{1,3}\.){3}\d{1,3}$")
' 判断是否是 IP 地址
If regex.IsMatch(ip) Then
Console.WriteLine("The string is an IP address.")
Else
Console.WriteLine("The string is not an IP address.")
End If
Dim ipAndPort As String = "192.168.0.1:8080"
vb.net多线程下载
作者:admin 日期:2023-06-22
Imports System.IO
Imports System.Net
Imports System.Threading
Public Class Form1
Private downloadThreads As List(Of Thread) = New List(Of Thread)()
Private downloadUrls As List(Of String) = New List(Of String)()
Private proxy As WebProxy = New WebProxy("http://proxy.example.com:8080")
Private threadCount As Integer = 10
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 添加需要下载的网址
For i As Integer = 1 To 10000
downloadUrls.Add("http://example.com/file" & i & ".jpg")
Next
End Sub
vb.net多线程下载
作者:admin 日期:2023-06-22
Imports System.IO
Imports System.Net
Imports System.Threading
Public Class Form1
Private downloadThreads As List(Of Thread) = New List(Of Thread)()
Private downloadUrls As List(Of String) = New List(Of String)()
Private proxy As WebProxy = New WebProxy("http://proxy.example.com:8080")
Private threadCount As Integer = 10
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 添加需要下载的网址
For i As Integer = 1 To 10000
downloadUrls.Add("http://example.com/file" & i & ".jpg")
Next
End Sub
广告位