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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0613
OMNIスクリーン上にラインを引きたい。4解決


OMNI

リンク

2009/6/13(Sat) 13:09:36|NO.25691

スクリーン上にラインを引きたいのですが、残像?みたいなものが出てうまくいきません。
何か根本的に間違ってるような気がするのですが。。よろしくお願いします。

#uselib "user32.dll" #cfunc GetDesktopWindow "GetDesktopWindow" #cfunc GetDC "GetDC" int #func ReleaseDC "ReleaseDC" int, int #uselib "gdi32.dll" #func Polyline "Polyline" int, var, int #define NULL 0 hwnTarget = GetDesktopWindow() hdcTarget = GetDC(NULL) slx = 0 : sly = 0 : elx = 1000 : ely = 1000 point = slx, sly, elx, ely Polyline hdcTarget,point,2 ReleaseDC hwnTarget,hdcTarget



この記事に返信する


KA

リンク

2009/6/13(Sat) 13:18:08|NO.25693

>>スクリーン上に・・残像?みたいなもの
>>何か根本的に間違ってるような気が・・・

”スクリーン”とは、どの部分を言っているのでしょうか?
デスクトップ全体の意味でしたら、提示のスクリプトで良いでしょう。
HSPウインドウ内の意味でしたら、素直にLINEを使ってください。



hspail

リンク

2009/6/13(Sat) 13:18:12|NO.25694

これでできましつぁ

#uselib "user32.dll" #cfunc GetDesktopWindow "GetDesktopWindow" #cfunc GetDC "GetDC" int #func ReleaseDC "ReleaseDC" int, int #uselib "gdi32.dll" #func Polyline "Polyline" int, var, int #func MoveToEx "MoveToEx" int, int, int, int #func LineTo "LineTo" int, int, int #define NULL 0 wait 100 hwnTarget = GetDesktopWindow() hdcTarget = GetDC(NULL) slx = 0 : sly = 0 : elx = 1000 : ely = 1000 point = slx, sly, elx, ely MoveToEx hdcTarget, slx, sly, NULL LineTo hdcTarget, elx, ely wait 500 ReleaseDC hwnTarget,hdcTarget



hspail

リンク

2009/6/13(Sat) 13:25:16|NO.25696

wait 500 は不必要でした。すみません。
最初の方にある wait 100 は LineTo を実行したあとに
ウィンドウが表示されて線が隠れてしまわないようにです(vistaだけかもですが



OMNI

リンク

2009/6/13(Sat) 14:47:46|NO.25703

返信遅くなって済みません。
>>KSさん デスクトップ全体だと思います。
>>hsppailさん ありがとうございました。
うーんPolyLineだとうまくできないんですよね・・
なぜか残像というか。。 すこし前のスクリーンの状態が表示されるんですよね・・
もしかして、、私だけですかね・・・
おとなしくLineToの方法でやることにします。どうもありがとうございました。



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