До сих пор я с большим успехом использовал (в Windows XP с Delphi 7) этот код для создания довольно простой программы (для симуляции), чтобы щелкать мышью в любом приложении Windows (не написанном меня в Delphi, конечно):
SetCursorPos(327,344);
{Simulate the left mouse button down}
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN,327,344 , 0, 0);
{Simulate the left mouse button up}
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, 327,344, 0, 0);
Теперь, под Windows 10, когда я использую этот код, единственная вещь, которую делает моя программа, это перемещать курсор туда, где мне нужно нажать, но реального клика не происходит.
Я также пробовал этот код, но реального клика тоже не было:
SetCursorPos(327,344);
ZeroMemory(@eu,sizeof(eu));
eu[0].Itype := INPUT_MOUSE;
eu[0].mi.dwFlags := MOUSEEVENTF_LEFTDOWN;
eu[1].Itype := INPUT_MOUSE;
eu[1].mi.dwFlags := MOUSEEVENTF_LEFTUP;
SendInput(2,eu[0],sizeof(TInput));
Можете ли вы помочь мне с кодом, чтобы сделать этот щелчок?
Кроме того, может быть, для имитации нажатия клавиш, как CTRL + A (выбрать все)?
Теперь я использую Delphi 10.3 Rio и Windows 10, и я ПОТЕРЯЛ в документация. Может ли это быть проблемой?
SendInput: Эта функция зависит от UIPI. Приложениям разрешено вводить данные только в приложения с равным или меньшим уровнем целостности.