0

画面上で現在開いているウィンドウを整理するスクリプトを書きたいと思います。

例: すべてのブラウザーをモニター 1 に移動し、その他すべてをモニター 2 に移動します。

これにはVBScriptが適していると思いますか?Win7 環境でこれに使用するオブジェクトは何ですか?

4

2 に答える 2

3

これは、ウィンドウ管理に使用される Windows API へのアクセスを提供しないため、すぐに使える VBScript では不可能です。

AutoItは、この仕事に適したツールのようです。次の関数とマクロを調べてください。

  • WinMove- ウィンドウを移動する
  • _WinAPI_GetSystemMetrics(80)- モニターの数を取得します
  • @DesktopWidthおよび@DesktopHeight- プライマリ モニターのピクセル サイズ
  • _WinAPI_GetSystemMetrics(78)および_WinAPI_GetSystemMetrics(79)- デスクトップ全体の幅と高さ

モニターのサイズが異なる場合は、WMI クラスとそのプロパティを使用して、Win32_DesktopMonitor個々のモニターのサイズを取得できます。ScreenWidthScreenHeigth

于 2013-01-11T14:29:58.830 に答える
1

VBSがこれに適していると言えるかどうかはわかりませんが、C++の方が簡単だと思うWindows API呼び出しが含まれるため、これにはC++を好むと思いますが、それはあなたのスキルとVBSに依存します大丈夫かもしれません。

私が調べる API 呼び出しは、移動するウィンドウを見つけるためのEnumWindowsまたはFindWindowであり、次にそれらを移動するためのSetWindowPosです。

それらをセカンダリモニターに移動したい場合は、プライマリモニターの外側の位置に移動することで実行できるはずです(たとえば、セカンダリモニターが左側に伸びている場合は負の位置になる可能性があります)。これを行うには、現在の解像度と、WMI クラスWin32_VideoControllerから取得できると思われるものを見つけることができる必要があります。

于 2013-01-11T09:23:39.507 に答える