Покачивая мышь

«Правильный» способ сделать windows-api это — ответить на сообщение mouse WM_SYSCOMMAND. В C# это выглядит winapi примерно так:

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);
}

Согласно MSDN, если .cs-file пароль заставки включен политикой windows-api в ​​Vista или выше, это не windows-api сработает. Предположительно window-api программное перемещение мыши c-sharp также игнорируется, хотя win32api я этого не проверял.

c#

winapi

mouse

2022-10-14T05:40:44+00:00