Эмуляция нажатия левого клика по кнопке "Пуск" - C#
Формулировка задачи:
Такая проблема, эмулирую нажатие левой кнопки мыши, по кнопке пуск, но если у меня курсор в правом верхнем углу, то нажатие не происходит, в чем может быть проблема?
int x = 10;
int y = 756;
x=x*(65535/System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width);
y = y * (65535 / System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height);
while (true)
{
Cursor.Position = new Point(10, 756);
//mouse_event(MouseFlags.Absolute | MouseFlags.Move, x, y, 0, UIntPtr.Zero);
mouse_event(MouseFlags.Absolute | MouseFlags.LeftDown, x, y, 0, UIntPtr.Zero);
mouse_event(MouseFlags.Absolute | MouseFlags.LeftUp, x, y, 0, UIntPtr.Zero);
Thread.Sleep(3000);
}Решение задачи: «Эмуляция нажатия левого клика по кнопке "Пуск"»
textual
Листинг программы
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace ConsoleApplication69
{
class Program
{
static void Main(string[] args)
{
KeyboardSend.KeyDown(Keys.LWin);
KeyboardSend.KeyUp(Keys.LWin);
}
}
static class KeyboardSend
{
[DllImport("user32.dll")]
private static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
private const int KEYEVENTF_EXTENDEDKEY = 1;
private const int KEYEVENTF_KEYUP = 2;
public static void KeyDown(Keys vKey)
{
keybd_event((byte)vKey, 0, KEYEVENTF_EXTENDEDKEY, 0);
}
public static void KeyUp(Keys vKey)
{
keybd_event((byte)vKey, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
}
}
}