我想通过 windows服务 实现...
比如 服务打开的 时候
判断程序 程序没打开 就控制 鼠标不能动...
然后 服务打开程序后 鼠标才能动...我只知道 窗体 的 鼠标 控制...没打开窗体 怎么控制...谢谢先!
比如 服务打开的 时候
判断程序 程序没打开 就控制 鼠标不能动...
然后 服务打开程序后 鼠标才能动...我只知道 窗体 的 鼠标 控制...没打开窗体 怎么控制...谢谢先!
解决方案 »
- 不要高手,之要有经验就可以解决!
- 为什么返回的是整个表的内容?
- C# 的结构定义中可不可以定义 链表
- 怎样在c#中 接收文本数据流
- 我C#开发的程序,如何安装的别地机器上,怎么打包才能把.net框架安上?
- 超市条码秤计价是怎么实现的?
- 如何将数据库备份成文件——毕业设计!!!棘手,棘手!
- 关于打印的问题
- 怎样判断文件是否存在和文件夹是否存在?有FileExists()这样的方法吗?
- 关于Java和C#的比较???
- 怎样用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();
}
}
}