Exemplo n.º 1
0
    /// <summary>
    /// 自分のウィンドウハンドルを見つける
    /// </summary>
    private void FindMyWindow()
    {
        // ウィンドウが確かではないとしておく
        isWindowChecked = false;

        // 現在このウィンドウがアクティブでなければ、取得はやめておく
        if (!Application.isFocused)
        {
            return;
        }

        // 今アクティブなウィンドウを取得
        var window = UniWinApi.FindWindow();

        if (window == null)
        {
            return;
        }

        if (Application.isEditor)
        {
            // Unityエディタと一致するかチェック
            //  (別アプリのウィンドウは対象とさせない)
            if (window.ProcessName != "Unity")
            {
                return;
            }
        }
        else
        {
            // このUnityプロジェクトの名前と一致するかどうかをチェック
            //  (別アプリのウィンドウは対象とさせない)
            if (window.Title != Application.productName)
            {
                return;
            }
        }

        // 見つかったウィンドウを利用開始
        uniWin.SetWindow(window);

        // 初期状態を反映
        SetTopmost(_isTopmost);
        SetMaximized(_isMaximized);
        SetMinimized(_isMinimized);
        SetTransparent(_isTransparent);
        if (_enableFileDrop)
        {
            BeginFileDrop();
        }
    }
Exemplo n.º 2
0
    /// <summary>
    /// 自分のウィンドウハンドルを見つける
    /// </summary>
    private void FindMyWindow()
    {
        // 今アクティブなウィンドウを取得
        var window = UniWinApi.FindWindow();

        if (window == null)
        {
            return;
        }

        // 見つかったウィンドウを利用開始
        uniWin.SetWindow(window);

        // 初期状態を反映
        SetTopmost(_isTopmost);
        SetMaximized(_isMaximized);
        SetMinimized(_isMinimized);
        SetTransparent(_isTransparent);
        if (_enableFileDrop)
        {
            BeginFileDrop();
        }
    }