モジュール化はしていませんが、
hspのスクリプトにしてみました。
//↓dwmapi呼び出し命令登録
#uselib "dwmapi.dll"
#func DwmRegisterThumbnail "DwmRegisterThumbnail" int,int,int
#func DwmUnregisterThumbnail "DwmUnregisterThumbnail" int
#func DwmUpdateThumbnailProperties "DwmUpdateThumbnailProperties" int,int
//↓dwmapi関連マクロ登録
#define DWM_TNP_RECTDESTINATION $00000001
#define DWM_TNP_RECTSOURCE $00000002
#define DWM_TNP_OPACITY $00000004
#define DWM_TNP_VISIBLE $00000008
#define DWM_TNP_SOURCECLIENTAREAONLY $00000010
/*
typedef struct _DWM_THUMBNAIL_PROPERTIES {
DWORD dwFlags;
// l(0) : dwFlags
RECT rcDestination;
// l(4) : rcDestination.left
// l(8) : rcDestination.top
// l(12) : rcDestination.right
// l(16) : rcDestination.bottom
RECT rcSource;
// l(20) : rcSource.left
// l(24) : rcSource.top
// l(28) : rcSource.right
// l(32) : rcSource.bottom
BYTE opacity;
// (36) : opacity
BOOL fVisible;
// l(37) : fVisible
BOOL fSourceClientAreaOnly;
// l(41) : fSourceClientAreaOnly
} DWM_THUMBNAIL_PROPERTIES, *PDWM_THUMBNAIL_PROPERTIES;
*/
//↓user32呼び出し関数登録
#uselib "user32.dll"
#cfunc FindWindow "FindWindowA" sptr,sptr
//↓ユーザ定義マクロ
#define DspX 100
//サムネイルの表示座標X
#define DspY 100
//サムネイルの表示座標Y
#define DspW 320
//サムネイルの表示幅
#define DspH 240
//サムネイルの表示高
onexit *exit
//終了処理登録
htargetwnd = FindWindow("Progman",0)
//サムネイルの取得をしたいウィンドウのハンドルを得る
thumbnail = 0
DwmRegisterThumbnail hwnd,htargetwnd,varptr(thumbnail)
//サムネイルのハンドルを得る
//↓サムネイルハンドル取得に成功したら
if stat == 0{
//↓サムネイルのプロパティーを設定
sdim ThumbProps,45
//プロパティー初期化
lpoke ThumbProps,0,DWM_TNP_RECTDESTINATION | DWM_TNP_VISIBLE | DWM_TNP_SOURCECLIENTAREAONLY
//dwFlags
lpoke ThumbProps,4,DspX
//rcDestination.left
lpoke ThumbProps,8,DspY
//rcDestination.top
lpoke ThumbProps,12,DspX + DspW
//rcDestination.right
lpoke ThumbProps,16,DspY + DspH
//rcDestination.bottom
lpoke ThumbProps,37,1
//fVisible
lpoke ThumbProps,41,1
//fSourceClientAreaOnly
DwmUpdateThumbnailProperties thumbnail,varptr(ThumbProps)
//サムネイル表示開始
wait 1000
//10秒ほど待つ
}
gosub *exit
//終了する
stop
//念のためstop
//↓終了処理
*exit
DwmUnregisterThumbnail thumbnail
//サムネイルの登録解除
end
//終了
return
自由に使って良いことを明示しておきます。