tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 拡大鏡の画面四隅へのドッキング状態を解除するには
投稿日: 2014/03/05(Wed) 21:22
投稿者サリー
いつもお世話になっております。

Windows7の拡大鏡(magnify.exe)を所定の位置に表示させるプログラムを
書いています。

拡大鏡を起動し、
    Dim lnghwnd As Long
    Dim i As Long

    lnghwnd = FindWindow("Screen Magnifier Window", vbNullString)
    If lnghwnd = 0 Then
        On Local Error Resume Next
        Call Shell("magnify.exe", vbNormalFocus)
        On Local Error GoTo 0
    End If

つぎの方法で拡大鏡(矩形)の表示位置を任意に指定しています。
    lnghwnd = FindWindow("Screen Magnifier Window", vbNullString)
    Call SetWindowPos(lnghwnd, 0, 50, 100, 150, 300, SWP_NOSIZE)

しかしながら、拡大鏡を起動した際にデスクトップ(画面)の上側に
べったりと吸い付いている場合には、SetWindowPosでの位置指定や
「元のサイズに戻す」コマンドを送って言うことを聞いてくれません。

Const SC_RESTORE = &HF120 '元のサイズに戻す
Const WM_SYSCOMMAND = &H112
Call SendMessage(hwnd, WM_SYSCOMMAND, SC_RESTORE, 0)

画面の上下左右に(タスクバーのように)吸い付いているものをマウス
ドラッグを使わずにこのドッキングペインのようになったものを引き剥が
すうまい方法はありますでしょうか。

ウィンドウをアクティブにしてからメッセージを送ってもみましたが
やはり変化はありませんでした。

Magnification API (Vista以降)も、Magnification.dllに指定した関数が
含まれていないというエラーが発生し袋の小路です。

宜しくお願い致します。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。