Visual Basic Discord RPC

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Hile kullanmak kolsuzluk değil akıllılıktır
Banlı Üye
Katılım
16 May 2019
Mesajlar
1,073
Çözümler
8
Tepki puanı
204
Ödüller
4
Yaş
24
7 HİZMET YILI
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

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
evet şimdi RPC'yi başlatacak button veya olaya gelelim

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);
 
Onaylı Üye
Katılım
9 Nis 2016
Mesajlar
98
Tepki puanı
6
Ödüller
9
Yaş
27
10 HİZMET YILI
discord rpc nin ne oldugunuda biri bana söyleyebilir mi ?
 
Dünyalı dostum tam olarak anlamadın galiba
Emektar Üye
Katılım
11 Eki 2020
Mesajlar
1,736
Çözümler
106
Tepki puanı
418
Ödüller
8
Sosyal
5 HİZMET YILI
çok teşşekürler abi ama ne işe yarıyor açıklasaydın keşke
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...