Skip to content
25 changes: 16 additions & 9 deletions Plain Craft Launcher 2/FormMain.xaml.vb
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Imports System.ComponentModel
Imports System.IO
Imports System.Runtime.InteropServices
Imports System.Windows.Interop
Imports System.Windows.Media.Effects
Expand Down Expand Up @@ -740,22 +741,27 @@ Public Class FormMain
e.Effects = PrevEffects
Return
End If
PrevData = e.Data
'确定拖放效果
e.Effects = DragDropEffects.None
If e.Data.GetDataPresent(DataFormats.Text) Then
Dim Str As String = e.Data.GetData(DataFormats.Text)
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
Dim Files As String() = e.Data.GetData(DataFormats.FileDrop)
If Files IsNot Nothing AndAlso Files.Length > 0 Then
e.Effects = DragDropEffects.Link
End If
ElseIf e.Data.GetDataPresent(DataFormats.Text) Then
Dim Str As String = TryCast(e.Data.GetData(DataFormats.Text), String)
If Str Is Nothing Then
Return
End If
If Str.StartsWithF("authlib-injector:yggdrasil-server:") Then
e.Effects = DragDropEffects.Copy
ElseIf Str.StartsWithF("file:///") Then
e.Effects = DragDropEffects.Copy
End If
ElseIf e.Data.GetDataPresent(DataFormats.FileDrop) Then
Dim Files As String() = e.Data.GetData(DataFormats.FileDrop)
If Files IsNot Nothing AndAlso Files.Length > 0 Then
e.Effects = DragDropEffects.Link
ElseIf Path.IsPathRooted(Str) Then
e.Effects = DragDropEffects.Copy
End If
End If
PrevData = e.Data
PrevEffects = e.Effects
Log("[System] 设置拖放类型:" & GetStringFromEnum(e.Effects))
Catch ex As Exception
Expand All @@ -767,7 +773,8 @@ Public Class FormMain
If e.Data.GetDataPresent(DataFormats.Text) Then
'获取文本
Try
Dim Str As String = e.Data.GetData(DataFormats.Text)
Dim Str As String = TryCast(e.Data.GetData(DataFormats.Text), String)
If Str Is Nothing Then Return
Log("[System] 接受文本拖拽:" & Str)
If Str.StartsWithF("authlib-injector:yggdrasil-server:") Then
'Authlib 拖拽
Expand Down
Loading