我目前正在尝试在当前打开的窗口上模拟鼠标滚动事件。我正在使用 Visual C++ 中的 setscrollpos() 函数来实现它。
SetScrollPos(hwnd,SB_VERT,0,TRUE);
UpdateWindow(hwnd);
如何将当前打开的窗口的名称传递给参数 hwnd?
我目前正在尝试在当前打开的窗口上模拟鼠标滚动事件。我正在使用 Visual C++ 中的 setscrollpos() 函数来实现它。
SetScrollPos(hwnd,SB_VERT,0,TRUE);
UpdateWindow(hwnd);
如何将当前打开的窗口的名称传递给参数 hwnd?
一百万年前,我制作了一个程序,可以为我播放 WinMine(Windows 的 MineSweeper)。
这涉及
游戏可以在 1 秒内 100% 成功完成 - 高分的剩余时间部分始终与解决问题的总时间相同。对于踢球,我还添加了将比赛场地设置为 1 位图像的代码 - 即每个单元格是否安全。
无论如何,下面的代码对我有用:它只是将这个输入框滚动了 4 行。
如果它在调试模式下运行,或者带有可见的控制台窗口 - 事件会被它吞没,因为它是前台窗口。我已经在没有窗口的情况下运行了这段代码。编辑代码,然后点击构建,然后在代码构建时切换回此窗口,导致此输入框滚动。
#include <windows.h>
#include <winuser.h>
const int minWheelMovement = 120;
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nCmdShow)
{
HWND foregroundWindow;
foregroundWindow = GetForegroundWindow();
mouse_event(MOUSEEVENTF_WHEEL, 0,0,4*minWheelMovement, 0);
}