- Yasaklandı
-
- #1
Hile kullanmak kolsuzluk değil akıllılıktır
Banlı Üye
merhaba bugün sizlere nasıl vb.net'de Discord RPC eklenir onu göstereceğim
ilk öncelikle programımızın başlangıç kısmına bu dll'yi koyalım
projemize sağ tıklayalım yeni klasör oluşturalım
klasörün adını "Discord" (tırnak işaretleri olmadan) yapalım
içine bir class ekleyelim adını DiscordRPC yapalım
şu kodları yapıştıralım
(kodda hatalar olabilir kusura bakmayın c#'dan vb.net e çevirmek biraz zor oldu)
eğer kodda hatalar varsa c# versiyonu
değişkenlerimizi tanımlayalım
evet şimdi RPC'yi başlatacak button veya olaya gelelim
eğer kodda hatalar varsa c# versiyonundan vb.net'e çevirin
ilk öncelikle programımızın başlangıç kısmına bu dll'yi koyalım
Bağlantıları görmek için lütfen
Giriş Yap
projemize sağ tıklayalım yeni klasör oluşturalım
klasörün adını "Discord" (tırnak işaretleri olmadan) yapalım
içine bir class ekleyelim adını DiscordRPC yapalım
şu kodları yapıştıralım
(kodda hatalar olabilir kusura bakmayın c#'dan vb.net e çevirmek biraz zor oldu)
VB.Net:
Class DiscordRPC
<DllImport("discord-rpc-w32.dll", CallingConvention:=CallingConvention.Cdecl, EntryPoint:="Discord_Initialize")>
Public Shared Sub Initialize(ByVal applicationId As String, ByRef handlers As DiscordRPC.EventHandlers, ByVal autoRegister As Boolean, ByVal optionalSteamId As String)
<DllImport("discord-rpc-w32.dll", CallingConvention:=CallingConvention.Cdecl, EntryPoint:="Discord_RunCallbacks")>
Public Shared Sub RunCallbacks()
<DllImport("discord-rpc-w32.dll", CallingConvention:=CallingConvention.Cdecl, EntryPoint:="Discord_Shutdown")>
Public Shared Sub Shutdown()
<DllImport("discord-rpc-w32.dll", CallingConvention:=CallingConvention.Cdecl, EntryPoint:="Discord_UpdatePresence")>
Public Shared Sub UpdatePresence(ByRef presence As DiscordRPC.RichPresence)
Friend Shared Sub Initialize(ByVal v1 As String, ByRef handlers As Object, ByVal v2 As Boolean, ByVal p As Object)
Throw New NotImplementedException()
End Sub
<UnmanagedFunctionPointer(CallingConvention.Cdecl)>
Public Delegate Sub DisconnectedCallback(ByVal errorCode As Integer, ByVal message As String)
<UnmanagedFunctionPointer(CallingConvention.Cdecl)>
Public Delegate Sub ErrorCallback(ByVal errorCode As Integer, ByVal message As String)
Public Structure EventHandlers
Public readyCallback As DiscordRPC.ReadyCallback
Public disconnectedCallback As DiscordRPC.DisconnectedCallback
Public errorCallback As DiscordRPC.ErrorCallback
End Structure
<UnmanagedFunctionPointer(CallingConvention.Cdecl)>
Public Delegate Sub ReadyCallback()
<Serializable>
Public Structure RichPresence
Public state As String
Public details As String
Public startTimestamp As Long
Public endTimestamp As Long
Public largeImageKey As String
Public largeImageText As String
Public smallImageKey As String
Public smallImageText As String
Public partyId As String
Public partySize As Integer
Public partyMax As Integer
Public matchSecret As String
Public joinSecret As String
Public spectateSecret As String
Public instance As Boolean
End Structure
End Class
eğer kodda hatalar varsa c# versiyonu
C#:
class DiscordRPC
{
[DllImport("discord-rpc-w32.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "Discord_Initialize")]
public static extern void Initialize(string applicationId, ref DiscordRPC.EventHandlers handlers, bool autoRegister, string optionalSteamId);
[DllImport("discord-rpc-w32.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "Discord_RunCallbacks")]
public static extern void RunCallbacks();
[DllImport("discord-rpc-w32.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "Discord_Shutdown")]
public static extern void Shutdown();
[DllImport("discord-rpc-w32.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "Discord_UpdatePresence")]
public static extern void UpdatePresence(ref DiscordRPC.RichPresence presence);
internal static void Initialize(string v1, ref object handlers, bool v2, object p)
{
throw new NotImplementedException();
}
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void DisconnectedCallback(int errorCode, string message);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void ErrorCallback(int errorCode, string message);
public struct EventHandlers
{
public DiscordRPC.ReadyCallback readyCallback;
public DiscordRPC.DisconnectedCallback disconnectedCallback;
public DiscordRPC.ErrorCallback errorCallback;
}
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void ReadyCallback();
[Serializable]
public struct RichPresence
{
public string state;
public string details;
public long startTimestamp;
public long endTimestamp;
public string largeImageKey;
public string largeImageText;
public string smallImageKey;
public string smallImageText;
public string partyId;
public int partySize;
public int partyMax;
public string matchSecret;
public string joinSecret;
public string spectateSecret;
public bool instance;
}
}
değişkenlerimizi tanımlayalım
VB.Net:
Private handlers As DiscordRPC.EventHandlers
Private presence As DiscordRPC.RichPresence
VB.Net:
Me.handlers = DirectCast(Nothing, DiscordRPC.EventHandlers)
DiscordRPC.Initialize("client id, Me.handlers, True, Nothing)
Me.handlers = DirectCast(Nothing, DiscordRPC.EventHandlers)
DiscordRPC.Initialize("client id", Me.handlers, True, Nothing)
Me.presence.details = ""
Me.presence.state = ""
Me.presence.largeImageKey = ""
Me.presence.smallImageKey = ""
Me.presence.largeImageText = ""
DiscordRPC.UpdatePresence(Me.presence)
eğer kodda hatalar varsa c# versiyonundan vb.net'e çevirin
C#:
this.handlers = default(DiscordRPC.EventHandlers);
DiscordRPC.Initialize("buraya client id", ref this.handlers, true, null);
this.handlers = default(DiscordRPC.EventHandlers);
DiscordRPC.Initialize("buraya client id", ref this.handlers, true, null);
this.presence.details = "details";
this.presence.state = "state";
this.presence.largeImageKey = "large image key;
this.presence.smallImageKey = "small image key";
this.presence.largeImageText = "large image text";
DiscordRPC.UpdatePresence(ref this.presence);