如何让窗口在自己想要的位置启动

  • 每次开机启动wox,默认位置都在这,可是我想把它挪到屏幕最上面的中间处
    ,但是每次开机都要手动挪一次位置,又太难受了
    在这里插入图片描述

  • 于是乎。。。就有了它

#include <Windows.h>

int main()
{
    HWND myhWnd = FindWindowW(L"ConsoleWindowClass",NULL);//获取当前程序句柄
    if (myhWnd)
        ShowWindow(myhWnd , SW_HIDE);//隐藏程序

    LPCSTR path = "X:\\Users\\Eloik\\AppData\\Local\\Wox\\Wox.exe";//这里为程序路径
    WinExec(path, SW_HIDE);//运行wox
    Sleep(5000);//延迟5秒,确保wox已经运行
    //可以适当加长时间,确保程序运行,否则搜索不到句柄
    
    LPCWSTR title = L"Wox"; //窗口标题
    HWND hWnd = FindWindowW(NULL ,title);  //根据窗口标题获取句柄
    if (hWnd)
    {
        RECT rect;
        GetWindowRect(hWnd, &rect); //根据句柄获取窗口大小
        int width = rect.right - rect.left;
        int height = rect.top - rect.bottom;
        //不改变原窗口大小的前提下移动窗口
        MoveWindow(hWnd, 400, 0, width, height, false);
    }
    
    return 0;
}
  • 只需要把这个程序放到startup文件夹里面让它开机启动,然后每次开机时,这就很舒服了
    在这里插入图片描述
原创文章 17 获赞 69 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_45826022/article/details/104446540