我想使用c++程序在桌面上重新放置应用程序窗口。
我应该如何去做,在两种情况下都需要解决方案。

  • 当我有想要移动的应用程序的源代码时。
  • 通过编写外部程序来移动其他应用程序的窗口。
  • 最佳答案

    外部Bash脚本:

    xdotool   search --onlyvisible --class dolphin   windowmove 13 37
    #                                         ^                 ^   ^
    #                                   window class            X & Y coordinates
    

    有关此的更多信息,请使用xdotool searchxdotool windowmoveman xdotool

    C++示例:
    #include <cstdlib>
    #include <string>
    #include <sstream>
    
    using namespace std;
    
    int main()
    {
        string cls="dolphin";
        int x=13, y=37;
    
        stringstream s;
        s<<"xdotool search --onlyvisible --class "<<cls<<" windowmove "<<x<<" "<<y;
    
        system(s.str().c_str());
    
        return 0;
    }
    

    最少的例子:
    #include <stdlib.h>
    
    int main()
    {
        system("xdotool search --onlyvisible --class dolphin windowmove 13 37");
        return 0;
    }
    

    10-08 11:05