HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0714
p、USAGIプリントスクリーン時にマウスカーソルも取得(表示)5解決


p、USAGI

リンク

2010/7/14(Wed) 11:08:28|NO.33658

プリントスクリーン時にマウスカーソルも取得(表示)する方法はありませんか?

>CGSGetGlobalCursorData()
こんな関数も見つけましたが、使い方が分からず・・・
と、言うかMac用?の様な気も。
(とあるサイトのリンク先にMac用と思われるリファレンスがあったので)


こんなサイトも見つけましたが・・・
http://xcatsan.blogspot.com/2008/08/1.html



この記事に返信する


SYAM

リンク

2010/7/14(Wed) 11:15:24|NO.33659

Cocoaで調べたら分かるとおもいますが、お察しのとおりそれらはMac向けの情報です。

もし、「ある点を指し示している様子を撮影したい」というだけであれば、スクリーンショットを取得すると同時にそのときのマウスカーソル位置を取得して、スクリーンショットにマウスカーソルを書き込んでしまうスクリプトを書くほうが手っ取り早いかもしれません。
マウスカーソルの形状も再現したいとなるとそれを取得する方法が必要になって面倒ですが、そうでないなら適当なカーソル画像を合成しちゃえばいいですね。



inovia

リンク

2010/7/14(Wed) 13:00:12|NO.33660

昔書いたスクリプトです。


#include "user32.as" #include "gdi32.as" #define SRCCOPY 0x00CC0020 screen 0,ginfo_dispx,ginfo_dispy,2 // スクリーンショット CreateDCA "DISPLAY",0,0,0:hdcScreen=stat BitBlt hdc,0,0,ginfo_dispx,ginfo_dispy,hdcScreen,0,0,SRCCOPY DeleteDC hdcScreen // マウスアイコンハンドルを取得 dim CURSORINFO,5 CURSORINFO.0=20 GetCursorInfo varptr(CURSORINFO) // アイコンを描画 DrawIconEx hdc,CURSORINFO.3,CURSORINFO.4,CURSORINFO.2,0,0,0,0,0x0003 redraw 1 gsel 0,1



p、USAGI

リンク

2010/7/14(Wed) 23:04:08|NO.33667

>SYAMさん
返信ありがとうございます。
やっぱりMac用ですか。
>適当なカーソル画像を合成しちゃえば
オフセットを取得できなければこの方法で行こうかと、ほかのアイコンだとずれる可能性あるので。

>inoviaさん
おおっ、これはすごい・・・
と、思ったら矢印以外の、ホットスポットが左上以外のマウスアイコンでは、表示位置がずれますね。
テキストエディタ上のカーソルでは mouseX+15 mouseY+16 この位ずれてます。


このホットスポット位置(オフセット)を取得できませんか?



inovia

リンク

2010/7/15(Thu) 00:52:46|NO.33675

改。

#include "user32.as" #include "gdi32.as" #define SRCCOPY 0x00CC0020 screen 0,ginfo_dispx,ginfo_dispy,2 // スクリーンショット CreateDCA "DISPLAY",0,0,0:hdcScreen=stat BitBlt hdc,0,0,ginfo_dispx,ginfo_dispy,hdcScreen,0,0,SRCCOPY DeleteDC hdcScreen // マウスアイコンハンドルを取得 dim CURSORINFO,5 CURSORINFO.0=20 GetCursorInfo varptr(CURSORINFO) // ホットスポットを取得 dim ICONINFO,5 GetIconInfo CURSORINFO.2,varptr(ICONINFO) // アイコンを描画 DrawIconEx hdc,CURSORINFO.3-ICONINFO.1,CURSORINFO.4-ICONINFO.2,CURSORINFO.2,0,0,0,0,0x0003 redraw 1 gsel 0,1



p、USAGI

リンク

2010/7/15(Thu) 02:02:45|NO.33680

>inoviaさん
おおっ、これはすごい・・・
ピッタリです、ありがとうございました。
解決。



ONION software Copyright 1997-2023(c) All rights reserved.