Эмуляция прокрутки колеса мыши

  • Автор темы Автор темы galex
  • Дата начала Дата начала

galex

Client
Регистрация
14.01.2014
Сообщения
50
Реакции
3
Баллы
8
Нашел в сети код эмуляции прокрутки колеса мыши на C#
Код:
Развернуть Свернуть Копировать
using System.Runtime.InteropServices;
namespace MOUSE
{
    public partial class Form1 : Form
    {
        [DllImport("user32.dll", SetLastError = true)]
        public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData, int dwExtraInfo);
        public Form1()
        {
            InitializeComponent();
        }
        private void button5_Click(object sender, EventArgs e)
        {
            int u = -120; //крок прокрутки якщо додатнє то в гору, відємне то в низ
            mouse_event((uint)MouseEventFlags.MouseWheel, 0, 0, unchecked((uint)u), 0);
        }
    }
    [Flags]
    public enum MouseEventFlags
    {
        LeftDown = 0x00000002,
        LeftUp = 0x00000004,
        MiddleDown = 0x00000020,
        MiddleUp = 0x00000040,
        Move = 0x00000001,
        Absolute = 0x00008000,
        RightDown = 0x00000008,
        RightUp = 0x00000010,
        MouseWheel = 0x0800
    }
}

подскажите, пожалуйста, что с ним не так.. почему не работает в ZP?
 
  • Спасибо
Реакции: Jay_9Proxy
скрипт конечно не полный, но даже если кто его и допилит, окно не будет прокручиваться. Да и вобще это не нужно. Все крутится джаваскриптом (кроме флеша), а в последней версии и зенкой.
 
LexxWork большое спасибо за ссылки.

...ума не приложу как прикрутить скрипты к ZP.
Буду очень признателен за пример реализации плавной прокрутки.
 
ищите на форуме по словам javascript + вставить. Я бы сделал, но только для Вас и небесплатно. Ждите пока кто нибудь выдаст 100% готовое решение - такое вполне реально.
 
Чтобы не плодить темы напишу здесь.
Столкнулся с проблемой прокрутки. Всплывающее окно, в котором и требуется осуществлять прокрутку, реализовано на скриптах. Focus на самом нижнем элементе, {PGDN} и {END}, ScrollIntoView, равно как и предложенные тут способы не работают. Единственное, что более-менее работает - это прокрутка эмуляцией мыши, но такая прокрутка занимает очень много времени. Когда крутишь колесом на реальной мышке строки прокручиваются десятками, а когда эмулируешь перетаскивание скроллбара - единицами. При этом заметил странность - если в экшене эмуляции мыши спользовать значения превышающие размеры дива - прокруткв вообще не происходит. А если соблюдать размеры дива - прокручивается, но не полностью, а только до половины.

Подскажите, пожалуйста, в каком направлении копать.
 
как делал бы я:
если нужно выпарсить список, я бы вытащил его через запросы.
если жесткий код для проскролить есть специальный метод в джаваскрипте (не в зенке)
если нужно кликнуть куда нибудь я бы просто подменил видимый елемент на нужный мне и кликнул бы на него
 
  • Спасибо
Реакции: zortexx
как делал бы я:
если нужно кликнуть куда нибудь я бы просто подменил видимый елемент на нужный мне и кликнул бы на него
Как раз пытаюсь сделать что-то подобное. Можете подсказать, каким оператором в C# это можно сделать?
 
допустим у тебя есть ряд дивов
<div value='1'></div>
....
<div value='n'></div>
div со значением n где-то далеко или вобще не подгружен. через экешен установить значение меняешь у видимого дива все значения на такие какие нужно тебе и кликаешь на него. В этом примере можно value=1 установить value=n
 
  • Спасибо
Реакции: sibbora
А где вообще стандартный экшн прокрутки колесом мышки или его нет и прокрутка колесом делается через костыли?
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)