获取打开标签页的Chrome浏览器的.Net的URL

问题描述 投票:1回答:1

你好可以用这张密码帮助

我试图让所有Chrome标签页的URL,然后在列表框中插入它们

该项目已经没有任何错误运行。

代码表1:

Imports System.Runtime.InteropServices
Imports NDde.Client

Public Class Form1

<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
Private Shared Function FindWindow(
ByVal lpClassName As String,
ByVal lpWindowName As String) As IntPtr
End Function

<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
Private Shared Function FindWindowEx(ByVal parentHandle As IntPtr,
              ByVal childAfter As IntPtr,
              ByVal lclassName As String,
              ByVal windowTitle As String) As IntPtr
End Function

<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
End Function

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim h As IntPtr
    For Each p As Process In Process.GetProcessesByName("chrome")
        h = FindWindow("Chrome_WidgetWin_1", p.MainWindowTitle)
        Exit For
    Next
    Dim urlH As IntPtr
    urlH = FindWindowEx(h, 0, "Chrome_OmniboxView", Nothing)
    Dim urlHH As IntPtr = Marshal.AllocHGlobal(100)
    Dim NumText As Integer = SendMessage(urlH, &HD, 50, urlHH)
    Dim url As String = Marshal.PtrToStringUni(urlHH)
    ListBox1.Items.Add(url)
End Sub
End Class

错误:Error Issue

.net vb.net visual-studio-2012 visual-studio-2015
1个回答
1
投票

你可以找到(在您的项目资源使用Autohotkey.exe)东西更容易

  • 你可以用AHK,让你的当前活动标签的URL,除了复制网址功能
  • 使计时器粘贴剪贴板复制。

我认为你可以做到的。它很难得到兼容System.Windows.Automation

© www.soinside.com 2019 - 2024. All rights reserved.