如何获得应用程序的最小化/最大化事件

How to get the minimize/maximize event of an application

本文关键字:最大化 事件 最小化 何获得 应用程序      更新时间:2023-10-16

我已经做了一个InDesign插件(在c++中)加载DLL。我已经能够调用它的方法,并在我的插件处理它的事件。

现在,我被一件事困住了-

我想获得InDesign应用程序最小化/最大化时的事件,并对该事件执行一些功能。

我尝试使用InDesign消息,但它没有达到目的,因为我得到了一些模糊的结果。

我想这也可以用WinAPI来完成。如果是,我想知道如何-任何示例代码/教程将是有帮助的。

查看WM_SIZE消息

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
     {
         // The code for handling other Windows messages has been omitted for clarity.
         // ...
        case WM_SIZE:
            {
                INT nWidth = LOWORD(lParam);
                HWND hEditBox = GetDlgItem(hWnd, IDC_EDIT);
                HWND hEnterButton = GetDlgItem(hWnd, IDC_BUTTON);
                MoveWindow(hEditBox, 8, 4, nWidth - 70, 20, TRUE);
                MoveWindow(hEnterButton, nWidth - 57, 4, 50, 20, TRUE);
            }
            break;
    }
}