BackgroundWorker

295
02 февраля 2018, 19:15

vk.Messages.EditChat и vk.Messages.Send не работают вообще, но MessageBox.Show работает(дебажил). C Thread всё работало, но он не подходит, т.к. нельзя остановить

По идее программа должна менять название беседы на нужное, если кто-то её изменил.

    ulong appID = ;
    string login = "";
    string pass = "";
    Settings scope = Settings.All;
    static string server;
    static string key;
    static ulong ts;
    static string[] chats;
    static int selectedIndex;
    static bool potok = false;
    static string name;
    BackgroundWorker v2 = new BackgroundWorker();
    public beseda()
    {
        vk.Authorize(new ApiAuthParams
        {
            ApplicationId = appID,
            Login = login,
            Password = pass,
            Settings = scope,
        });
        InitializeComponent();
        v2.DoWork += backgroundWorker1_DoWork;
        string[] chats = File.ReadAllLines(directory);
    }
    private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show(directory, "testinka2");
        if (v2.IsBusy)
        {
            v2.CancelAsync();
        }
        else
        {
            v2.RunWorkerAsync();
        }
    }
    public static void tkest()
    {
        while (true)
        {
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://" + server + "?act=a_check&key=" + key + "&ts=" + ts + "&wait=25&mode=2&version=2");
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            try { new StreamReader(response.GetResponseStream(), Encoding.UTF8); }
            catch (Exception) { break; }
            using (StreamReader stream = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
            {
                string Text = stream.ReadToEnd();
                Newtonsoft.Json.Linq.JObject obj = Newtonsoft.Json.Linq.JObject.Parse(Text);
                if ((ulong)obj["ts"] != ts)
                {
                    ts = (ulong)obj["ts"];
                    if (obj.Count == 0) break;
                    foreach (var upd in obj["updates"])
                    {
                        if ((int)upd[0] == 4)
                        {
                            var action = upd[6]["source_act"];
                            try
                            {
                                if (action.ToString() == "chat_title_update")
                                {
                                    if (upd[6]["source_text"].ToString() != name && ((int)upd[3] - 2000000000) == Convert.ToInt32(chats[selectedIndex]))
                                    {
                                        try { vk.Messages.EditChat(Convert.ToInt64(chats[selectedIndex]), name); }
                                        catch
                                        {
                                            try { vk.Messages.EditChat(Convert.ToInt32(chats[selectedIndex]), name); }
                                            catch { }
                                        }
                                    }
                                    vk.Messages.SendAsync(new VkNet.Model.RequestParams.MessagesSendParams
                                    {
                                        ChatId = 86,
                                        Message = upd[6]["source_text"].ToString()
                                    });
                                }
                            }
                            catch { }
                            MessageBox.Show("4");
                        }
                    }
                }
            }
        }
    }
    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
        server = vk.Messages.GetLongPollServer(false, 2).Server;
        key = vk.Messages.GetLongPollServer(false, 2).Key;
        ts = vk.Messages.GetLongPollServer(false, 2).Ts;
        MessageBox.Show("gg");
        tkest();
    }
}
READ ALSO
Admob banner Unity

Admob banner Unity

Можно ли проверить открытый ли сейчас баннер ? Необходимо скрыть баннер когда заходим в настройки, и открыть когда выходим из настроек, но когда...

256
Приложение C# не запускается

Приложение C# не запускается

Приложение на C# не запускается на win7 На 8 и 10 всё Ок

211