Wiggling musen

stemmer
35

OK. Dette er litt av en forfengelighet app, men jeg hadde en situasjon i dag på jobb hvor jeg var i en opplæring klasse og maskinen ble satt til å låse hvert 10. minutt. Vel, hvis trenere har begeistret snakker - i motsetning til å endre lysbilder - maskinen ville låse opp.

Jeg har lyst til å skrive en teeny app som har ingenting, men et ikon på oppgavelinjen som ikke gjør annet enn å flytte musen ved en piksel hver 4 minutter.

Jeg kan gjøre det på 3 måter med Delphi (min sterke språk), men jeg flytter til C # for arbeid og jeg vil gjerne vite den minste motstands vei der.

Publisert på 05/08/2008 klokken 02:51
kilden bruker
På andre språk...                            


4 svar

stemmer
23

for C # 3.5

uten NotifyIcon derfor må du avslutte dette programmet i oppgavebehandling manuelt

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();
    }
}
Svarte 05/08/2008 kl. 03:00
kilden bruker

stemmer
12

"Riktig" måte å gjøre dette på er å svare på WM_SYSCOMMAND meldingen. I C # dette ser omtrent slik ut:

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);
}

Ifølge MSDN , hvis skjermspar passord er aktivert som policy på Vista eller høyere, vil dette ikke fungere. Antagelig programma bevege musen er også ignorert, selv om jeg ikke har testet dette.

Svarte 17/08/2008 kl. 20:29
kilden bruker

stemmer
10

Når jeg jobber hjemmefra, jeg gjør dette ved å knytte musen ledningen til en stasjonær fan som svinger venstre mot høyre. Det holder musen bevegelse og holder arbeidsstasjonen fra å gå i dvale.

Svarte 09/12/2011 kl. 20:29
kilden bruker

stemmer
2

Noe sånt som dette skal fungere (men, du vil ønske å endre intervallet).

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);
}
Svarte 05/08/2008 kl. 03:07
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more