有没有办法像动画那样移动控制台窗口?

才不是

我制作了一个获取控制台手柄的程序,然后将其像动画一样在屏幕上移动,使其在屏幕上“飞行”,然后自动移动。

我的程序获取屏幕分辨率,获取控制台手柄,然后使用该MoveWindow功能移动它

我的问题是窗口根本不会移动,并且我也没有任何错误。

我的代码:

#include <iostream>
#include <Windows.h>
#include <ctime>

using namespace std;

int main()
{
    srand(time(nullptr));
    POINT current_position;

    while (true) {

        int offset = rand() % 2;
        int x_direction = rand() % 2 == 1 ? 1 : -1;
        int y_direction = rand() % 2 == 1 ? 1 : -1;

        int width = GetSystemMetrics(SM_CXSCREEN);
        int height = GetSystemMetrics(SM_CYSCREEN);

        HWND hwndConsole = GetWindow(GetConsoleWindow(), (UINT)&current_position);
        MoveWindow(hwndConsole, current_position.x + (offset * x_direction), current_position.y + (offset * y_direction), width, height, TRUE);
        Sleep(10);
    }
    return 0;
}

编辑:

在您写给我的评论的帮助下,我更改了代码。

但是现在控制台的大小正在改变,并且控制台根本没有移动。

#include <iostream>
#include <Windows.h>
#include <ctime>

using namespace std;

int main()
{
    srand(time(nullptr));
    POINT current_position{};

    while (true) {

        HWND hwndConsole = GetConsoleWindow();

        int offset = rand() % 2;
        int x_direction = rand() % 2 == 1 ? 1 : -1;
        int y_direction = rand() % 2 == 1 ? 1 : -1;

        int width = GetSystemMetrics(SM_CXSCREEN);
        int height = GetSystemMetrics(SM_CYSCREEN);

        BOOL hwndMove = MoveWindow(hwndConsole, current_position.x + (offset * x_direction), current_position.y + (offset * y_direction), width, height, TRUE);

        if (hwndMove == FALSE) {
            cout << "Failed! & Error Code: " << GetLastError();
        }
        Sleep(10);
    }
    return 0;
}

第二编辑:

widthheight是控制台的大小,所以我删除它,并且改变的参数为100,100。

约翰·梅施克

这是您要执行的操作的简化版本,可将窗口向下和向右滑动。我删除了随机性,因为很难从示例中看出意图。我还对程序终止前窗口移动了多长时间进行了限制。

使用此作为您要完成的目标的起点。

#include <Windows.h>

int main()
{
    HWND hwndConsole = GetConsoleWindow();

    for (int i = 0; i < 200; i++)
    {
        RECT position;
        GetWindowRect(hwndConsole, &position);
        MoveWindow(hwndConsole, position.left + 3, position.top + 3, 300, 300, TRUE);
        Sleep(10);
    }

    return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法查看开发者控制台的后台任务和弹出窗口?

来自分类Dev

有没有办法控制Casper的控制台输出?

来自分类Dev

有没有办法启动Yii控制台(例如“ rails console”)?

来自分类Dev

有没有办法长时间保存iPad控制台日志?

来自分类Dev

有没有办法从新帐户使用Firebase旧版控制台

来自分类Dev

Anaconda Navigator:有没有办法查看控制台?

来自分类Dev

有没有办法从Rails控制台列出队列中的Sucker Punch作业?

来自分类Dev

Anaconda Navigator:有没有办法查看控制台?

来自分类Dev

有没有办法在Windows中运行Java解释器/控制台?

来自分类Dev

有没有办法从 Python 中更改控制台代码页?

来自分类Dev

有没有办法从罗技lua日志控制台获取数据?

来自分类Dev

有没有办法像C#中那样在Swift中锁定对象

来自分类Dev

有没有办法像定义的那样获取PHP数组的输出

来自分类Dev

有没有办法像定义的那样获取PHP数组的输出

来自分类Dev

Javascript:有没有办法像 C# 那样使用 FindControl?

来自分类Dev

有没有办法制作像 ask 这样的函数,但它在 Red 控制台中接受多行?

来自分类Dev

有没有办法从新的实时数据库中的控制台生成推送ID?

来自分类Dev

有没有办法在递归深度或内存受限模式下运行Haskell控制台?

来自分类Dev

有没有办法为mysqladmin和mysql标准控制台设置.my.cnf?

来自分类Dev

有没有办法从Google Cloud Run控制台监控网络流量/出口?

来自分类Dev

有没有办法使用浏览器的控制台从用户那里获取数据

来自分类Dev

有没有办法检查(使用 Firebase 控制台)为特定用户设置的声明?

来自分类Dev

有没有办法像macOS 11.0中那样使尾随的Swipe Actions具有圆角?

来自分类Dev

有没有办法在R控制台中更新现有文本?

来自分类Dev

有没有办法像日历应用程序那样动态更改应用程序图标?

来自分类Dev

有没有办法像java中的c++中的'&'那样将变量作为参数获取?

来自分类Dev

有没有办法像ionic 3中的图像那样制作圆形进度条?

来自分类Dev

有没有办法在调试控制台中删除plone网站?

来自分类Dev

邮递员:有没有办法从控制台中的Runner导出测试?

Related 相关文章

  1. 1

    有没有办法查看开发者控制台的后台任务和弹出窗口?

  2. 2

    有没有办法控制Casper的控制台输出?

  3. 3

    有没有办法启动Yii控制台(例如“ rails console”)?

  4. 4

    有没有办法长时间保存iPad控制台日志?

  5. 5

    有没有办法从新帐户使用Firebase旧版控制台

  6. 6

    Anaconda Navigator:有没有办法查看控制台?

  7. 7

    有没有办法从Rails控制台列出队列中的Sucker Punch作业?

  8. 8

    Anaconda Navigator:有没有办法查看控制台?

  9. 9

    有没有办法在Windows中运行Java解释器/控制台?

  10. 10

    有没有办法从 Python 中更改控制台代码页?

  11. 11

    有没有办法从罗技lua日志控制台获取数据?

  12. 12

    有没有办法像C#中那样在Swift中锁定对象

  13. 13

    有没有办法像定义的那样获取PHP数组的输出

  14. 14

    有没有办法像定义的那样获取PHP数组的输出

  15. 15

    Javascript:有没有办法像 C# 那样使用 FindControl?

  16. 16

    有没有办法制作像 ask 这样的函数,但它在 Red 控制台中接受多行?

  17. 17

    有没有办法从新的实时数据库中的控制台生成推送ID?

  18. 18

    有没有办法在递归深度或内存受限模式下运行Haskell控制台?

  19. 19

    有没有办法为mysqladmin和mysql标准控制台设置.my.cnf?

  20. 20

    有没有办法从Google Cloud Run控制台监控网络流量/出口?

  21. 21

    有没有办法使用浏览器的控制台从用户那里获取数据

  22. 22

    有没有办法检查(使用 Firebase 控制台)为特定用户设置的声明?

  23. 23

    有没有办法像macOS 11.0中那样使尾随的Swipe Actions具有圆角?

  24. 24

    有没有办法在R控制台中更新现有文本?

  25. 25

    有没有办法像日历应用程序那样动态更改应用程序图标?

  26. 26

    有没有办法像java中的c++中的'&'那样将变量作为参数获取?

  27. 27

    有没有办法像ionic 3中的图像那样制作圆形进度条?

  28. 28

    有没有办法在调试控制台中删除plone网站?

  29. 29

    邮递员:有没有办法从控制台中的Runner导出测试?

热门标签

归档