lub*_*sko 25
对于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();
}
}
Run Code Online (Sandbox Code Playgroud)
Zoo*_*oba 12
执行此操作的"正确"方法是响应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);
}
Run Code Online (Sandbox Code Playgroud)
根据MSDN,如果屏幕保护程序密码是通过Vista或更高版本的策略启用的,则无法使用.大概以编程方式移动鼠标也会被忽略,尽管我还没有测试过.
| 归档时间: |
|
| 查看次数: |
10285 次 |
| 最近记录: |