我想通过 windows服务 实现...
比如 服务打开的 时候
判断程序 程序没打开 就控制 鼠标不能动...
然后 服务打开程序后 鼠标才能动...我只知道 窗体 的 鼠标 控制...没打开窗体 怎么控制...谢谢先!
比如 服务打开的 时候
判断程序 程序没打开 就控制 鼠标不能动...
然后 服务打开程序后 鼠标才能动...我只知道 窗体 的 鼠标 控制...没打开窗体 怎么控制...谢谢先!
解决方案 »
- c#变参问题
- 为什么数据会跟着变
- Knight94(愚翁),进来看看,急
- 数据库之间表数据的导入
- WinForm中DataGrid的事件问题
- C# crystalreportview 存储过程
- 有宜昌的么?我有项目(c# asp.net sql2000)医院系统
- 关于.net中显示Word文档的问题。
- 救救我,我快被这个问题弄崩溃了........
- 请教各位高手和微软专家,问题解决另开贴,100分。
- 怎样用System.Diagnostics.Process调用程序达到像调用模态窗口那样的效果?
- C# 做一个网络数据传送,数据文件比较大,大于缓冲区byte[] data 的系统最大数了,比如传一个图片,大小为50M(或更大) 能用UDP传送吗?
在Windows上操作鼠标?
using System;
using System.Threading;
using System.Runtime.InteropServices;
using System.Windows.Forms;namespace MouseControl
{
class MouseControl
{
/// <summary>
/// 鼠标控制参数
/// </summary>
const int MOUSEEVENTF_LEFTDOWN = 0x2;
const int MOUSEEVENTF_LEFTUP = 0x4;
const int MOUSEEVENTF_MIDDLEDOWN = 0x20;
const int MOUSEEVENTF_MIDDLEUP = 0x40;
const int MOUSEEVENTF_MOVE = 0x1;
const int MOUSEEVENTF_ABSOLUTE = 0x8000;
const int MOUSEEVENTF_RIGHTDOWN = 0x8;
const int MOUSEEVENTF_RIGHTUP = 0x10;
/// <summary>
/// 鼠标的位置
/// </summary>
public struct PONITAPI
{
public int x, y;
} [DllImport("user32.dll")]
public static extern int GetCursorPos(ref PONITAPI p); [DllImport("user32.dll")]
public static extern int SetCursorPos(int x, int y); [DllImport("user32.dll")]
public static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo); [STAThread]
static void Main()
{
PONITAPI p = new PONITAPI();
GetCursorPos(ref p);
Console.WriteLine("鼠标现在的位置X:{0}, Y:{1}", p.x, p.y);
Console.WriteLine("Sleep 1 sec...");
Thread.Sleep(1000); p.x = (new Random()).Next(Screen.PrimaryScreen.Bounds.Width);
p.y = (new Random()).Next(Screen.PrimaryScreen.Bounds.Height);
Console.WriteLine("把鼠标移动到X:{0}, Y:{1}", p.x, p.y);
SetCursorPos(p.x, p.y);
GetCursorPos(ref p);
Console.WriteLine("鼠标现在的位置X:{0}, Y:{1}", p.x, p.y);
Console.WriteLine("Sleep 1 sec...");
Thread.Sleep(1000); Console.WriteLine("在X:{0}, Y:{1} 按下鼠标左键", p.x, p.y);
mouse_event(MOUSEEVENTF_LEFTDOWN, p.x, p.y, 0, 0);
Console.WriteLine("Sleep 1 sec...");
Thread.Sleep(1000); Console.WriteLine("在X:{0}, Y:{1} 释放鼠标左键", p.x, p.y);
mouse_event(MOUSEEVENTF_LEFTUP, p.x, p.y, 0, 0);
Console.WriteLine("程序结束,按任意键退出....");
Console.ReadKey();
}
}
}