コード例 #1
0
        private async void Wb_Dc_Login(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (wb.DocumentTitle.Contains("QQ音乐"))
            {
                FormBorderStyle = FormBorderStyle.None;
                Opacity         = 0;
                TopMost         = false;
                await Task.Delay(100);

                string cookie = wb.Document.Cookie;
                string qq     = TextHelper.XtoYGetTo(cookie, "p_luin=o", ";", 0);
                string send   = "Login:"******"### 呱呱呱 Cookie[" + cookie + "]END";
                if (cookie.Contains("p_skey="))
                {
                    string p_skey = TextHelper.XtoYGetTo(cookie, "p_skey=", ";", 0);
                    long   hash   = 5381;
                    for (int i = 0; i < p_skey.Length; i++)
                    {
                        hash += (hash << 5) + p_skey[i];
                    }
                    long g_tk = hash & 0x7fffffff;
                    send = "Login:"******"### 呱呱呱 Cookie[" + cookie + "]END  叽里咕噜 g_tk[" + g_tk + "]sk";
                }
                MsgHelper.SendMsg(send, wind);
                wb.DocumentCompleted -= Wb_Dc_Login;
            }
        }
コード例 #2
0
ファイル: PlayerControl.cs プロジェクト: orf53975/Lemon-App
        public async Task <double> GetAll()
        {
            MsgHelper.SendMsg("GetAll", pHandle);
            await Task.Delay(10);

            return(PsAll);
        }
コード例 #3
0
 protected override void DefWndProc(ref Message m)
 {
     if (m.Msg == MsgHelper.WM_COPYDATA)
     {
         MsgHelper.COPYDATASTRUCT cdata = new MsgHelper.COPYDATASTRUCT();
         cdata = (MsgHelper.COPYDATASTRUCT)Marshal.PtrToStructure(m.LParam, cdata.GetType());
         string dt = cdata.lpData;
         Console.WriteLine(dt);
         if (dt.Contains("Open"))
         {
             string url = TextHelper.XtoYGetTo(dt, "Open[", "]", 0);
             mp.Open(new Uri(url, UriKind.Absolute));
         }
         else if (dt == "Play")
         {
             mp.Play();
         }
         else if (dt == "Pause")
         {
             mp.Pause();
         }
         else if (dt.Contains("To"))
         {
             IsToed      = true;
             LastToValue = double.Parse(TextHelper.XtoYGetTo(dt, "To[", "]", 0));
         }
         else if (dt == "Get")
         {
             MsgHelper.SendMsg("Ps[" + mp.Position.TotalMilliseconds + "]", wind);
             if (IsToed)
             {
                 mp.Position = TimeSpan.FromMilliseconds(LastToValue);
                 IsToed      = false;
                 MsgHelper.SendMsg("ToAway", wind);
             }
         }
         else if (dt == "GetAll")
         {
             if (mp.NaturalDuration.HasTimeSpan)
             {
                 MsgHelper.SendMsg("PsAll[" + mp.NaturalDuration.TimeSpan.TotalMilliseconds + "]", wind);
             }
         }
         else if (dt == "Exit")
         {
             mp.Stop();
             mp.Close();
             Environment.Exit(0);
         }
     }
     else
     {
         base.DefWndProc(ref m);
     }
 }
コード例 #4
0
ファイル: MainWindow.cs プロジェクト: orf53975/Lemon-App
        private async void Wb_Dc_Login(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (wb.DocumentTitle.Contains("QQ音乐"))
            {
                FormBorderStyle = FormBorderStyle.None;
                Opacity         = 0;
                TopMost         = false;
                await Task.Delay(100);

                string qq = TextHelper.XtoYGetTo(wb.Document.Cookie, "pt2gguin=o", ";", 0);
                MsgHelper.SendMsg("Login:"******"###", wind);
                wb.DocumentCompleted -= Wb_Dc_Login;
            }
        }
コード例 #5
0
 public MainWindow(int handle)
 {
     InitializeComponent();
     wind = handle;
     Console.WriteLine(wind);
     MsgHelper.SendMsg("ok[" + Handle.ToInt32() + "]", wind);
     mp.MediaEnded += (s, e) => {
         MsgHelper.SendMsg("MediaEnded", wind);
     };
     t.Interval = 1000;
     t.Tick    += delegate {
         if (Process.GetProcessesByName("Lemon App").Length == 0)
         {
             mp.Stop();
             mp.Close();
             Environment.Exit(0);
         }
     };
     t.Start();
 }
コード例 #6
0
ファイル: MainWindow.cs プロジェクト: orf53975/Lemon-App
        private async void Wb_Dc_Api_IsLogin(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            await Task.Delay(100);

            bool isfind = false;

            foreach (HtmlElement ele in wb.Document.All)
            {
                if (ele.InnerText == "立即登录")
                {
                    isfind = true;
                    MsgHelper.SendMsg("No Login", wind);
                    break;
                }
            }
            if (!isfind)
            {
                string qq = TextHelper.XtoYGetTo(wb.Document.Cookie, "pt2gguin=o", ";", 0);
                MsgHelper.SendMsg("Login:"******"###", wind);
            }
            wb.DocumentCompleted -= Wb_Dc_Api_IsLogin;
        }
コード例 #7
0
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            bool requestInitialOwnership = true;

            mut = new System.Threading.Mutex(requestInitialOwnership, "Lemon App", out bool mutexWasCreated);
            if (!(requestInitialOwnership && mutexWasCreated))
            {
                MsgHelper.SendMsg(MsgHelper.SEND_SHOW);
                Current.Shutdown();
            }
            else
            {
                if (!Directory.Exists(Settings.USettings.CachePath))
                {
                    Directory.CreateDirectory(Settings.USettings.CachePath);
                }
                if (!Directory.Exists(Settings.USettings.CachePath + "Skin"))
                {
                    Directory.CreateDirectory(Settings.USettings.CachePath + "Skin");
                }
                new MainWindow().Show();
            }
        }
コード例 #8
0
ファイル: MainWindow.cs プロジェクト: orf53975/Lemon-App
 private void MainWindow_Load(object sender, EventArgs e)
 {
     wind = MsgHelper.FindWindow(null, "LemonApp").ToInt32();
     MsgHelper.SendMsg("Api#" + this.Handle.ToInt32() + "*", wind);
 }
コード例 #9
0
ファイル: PlayerControl.cs プロジェクト: orf53975/Lemon-App
 public void Open(string url)
 {
     MsgHelper.SendMsg("Open[" + url + "]", pHandle);
 }
コード例 #10
0
ファイル: PlayerControl.cs プロジェクト: orf53975/Lemon-App
 public void Exit()
 {
     MsgHelper.SendMsg("Exit", pHandle);
 }
コード例 #11
0
ファイル: PlayerControl.cs プロジェクト: orf53975/Lemon-App
 public void To(double Milliseconds)
 {
     MsgHelper.SendMsg("To[" + Milliseconds + "]", pHandle);
 }
コード例 #12
0
ファイル: PlayerControl.cs プロジェクト: orf53975/Lemon-App
 public void Pause()
 {
     MsgHelper.SendMsg("Pause", pHandle);
 }
コード例 #13
0
ファイル: PlayerControl.cs プロジェクト: orf53975/Lemon-App
 public void Play()
 {
     MsgHelper.SendMsg("Play", pHandle);
 }