2010-03-18 5 views
2

У меня есть программа, которая имитирует щелчок мышью.Проблема с виртуальным щелчком мыши

код что-то вроде этого:

[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] 
     public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo); 

     private const int MOUSEEVENTF_LEFTDOWN = 0x02; 
     private const int MOUSEEVENTF_LEFTUP = 0x04; 

public static void DoMouseClick(int x, int y) 
     { 
      Cursor.Position = new Point(x, y); 
      mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, x, y, 0, 0); 
     } 

Этот код работает отлично. Например, я вызываю эту функцию каждые 30 минут. Но если я нажму WINKEY + L (Windows заблокирована), перемещается только курсор, но не нажимается.

Любые идеи?

+0

Я думаю, что экран Войти в другом контексте дисплея. Щелчок мышью останется с исполняемой программой. – kenny

+0

Почему именно вы имитируете щелчки мыши? –

ответ

4

Войти экран на окнах разработан, чтобы не позволить щелчки и автоматизации пользовательского интерфейса, как функции безопасности, IIRC

Смежные вопросы