Imports System.Text.RegularExpressions ' 导入正则表达式命名空间
Imports System.Net ' 导入网络请求命名空间
Public Class Form1 ' 定义窗体类
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ' 按钮1的点击事件处理程序
Dim url As String = TextBox1.Text ' 从文本框1获取输入的链接
Dim regex_domain As New Regex("^https:\/\/([\.\w-]+)\/.*$") ' 定义匹配域名的正则表达式对象
Dim regex_name As New Regex("\/g\/personal\/(\w+)\/") ' 定义匹配用户名的正则表达式对象
Dim regex_link As New Regex("\/([^\/\?\:]+)\?") ' 定义匹配分享链接的正则表达式对象
Dim domain As String = regex_domain.Match(url).Groups(1).Value ' 匹配出链接中的域名
Dim name As String = regex_name.Match(url).Groups(1).Value ' 匹配出链接中的用户名
Dim link As String = regex_link.Match(url).Groups(1).Value ' 匹配出链接中的分享链接
If url.Contains("/:f:/") Then ' 判断链接是否为文件夹类型
TextBox2.Text = "当前分享的链接为文件夹,无法解析。" ' 如果是,则提示无法解析
Else ' 如果不是文件夹类型
Dim direct_url As String = $"https://{domain}/personal/{name}/_layouts/52/download.aspx?share={link}" ' 组装出直链地址
TextBox2.Text = direct_url ' 将直链地址显示在文本框2中
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click ' 按钮2的点击事件处理程序
TextBox1.Clear() ' 清空文本框1中的内容
TextBox2.Clear() ' 清空文本框2中的内容
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click ' 按钮3的点击事件处理程序
If TextBox2.Text = "" Then ' 判断文本框2中是否有内容
MsgBox("未生成解析的地址,请生成解析后重试。") ' 如果没有,则提示用户先生成解析地址
Else ' 如果有
Process.Start(TextBox2.Text) ' 打开默认浏览器并访问直链地址
End If
End Sub
End Class
成品及源码下载
onedrive解析成品及源码.rar
谢谢大佬 么么哒
求成品 大佬。、。不会编程
好的,我编译一下,在帖子里面放出来成品吧。