Шевеление мышью

Я использую PyCharm Professional 2016.1, пишущий код py2.6-2.7, и я обнаружил, что с помощью reStructuredText я могу выражать типы более succint способом:

class Replicant(object):
    pass


class Hunter(object):
    def retire(self, replicant):
        """ Retire the rogue or non-functional replicant.
        :param Replicant replicant: the replicant to retire.
        """
        replicant.knock_over()  # Shows a warning.

См.: https : //www.jetbrains.com/help/pycharm/2016.1/type-hinting-in-pycharm.html#legacy

38
задан Fionnuala 6 February 2013 в 00:29
поделиться

3 ответа

для C# 3.5

без notifyicon поэтому необходимо будет завершить это приложение в диспетчере задач вручную

using System;
using System.Drawing;
using System.Windows.Forms;

static class Program
{
    static void Main()
    {
        Timer timer = new Timer();
        // timer.Interval = 4 minutes
        timer.Interval = (int)(TimeSpan.TicksPerMinute * 4 / TimeSpan.TicksPerMillisecond);
        timer.Tick += (sender, args) => { Cursor.Position = new Point(Cursor.Position.X + 1, Cursor.Position.Y + 1); };
        timer.Start();
        Application.Run();
    }
}
25
ответ дан lubos hasko 27 November 2019 в 03:49
поделиться

"Корректный" способ сделать это должно ответить на сообщение WM_SYSCOMMAND. В C# это выглядит примерно так:

protected override void WndProc(ref Message m)
{
    // Abort screensaver and monitor power-down
    const int WM_SYSCOMMAND = 0x0112;
    const int SC_MONITOR_POWER = 0xF170;
    const int SC_SCREENSAVE = 0xF140;
    int WParam = (m.WParam.ToInt32() & 0xFFF0);

    if (m.Msg == WM_SYSCOMMAND &&
        (WParam == SC_MONITOR_POWER || WParam == SC_SCREENSAVE)) return;

    base.WndProc(ref m);
}

Согласно MSDN, если пароль экранной заставки включен политикой в отношении Vista или выше, это не будет работать. По-видимому, программно перемещение мыши также проигнорировано, хотя я не протестировал это.

12
ответ дан Zooba 27 November 2019 в 03:49
поделиться

Что-то вроде этого должно работать (хотя, Вы будете хотеть изменить интервал).

public Form1()
{
    InitializeComponent();
    Timer Every4Minutes = new Timer();
    Every4Minutes.Interval = 10;
    Every4Minutes.Tick += new EventHandler(MoveNow);
    Every4Minutes.Start();
}

void MoveNow(object sender, EventArgs e)
{
    Cursor.Position = new Point(Cursor.Position.X - 1, Cursor.Position.Y - 1);
}
2
ответ дан Alex Essilfie 27 November 2019 в 03:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: