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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0428
右手の薬指スマホについて3解決


右手の薬指

リンク

2014/4/28(Mon) 23:41:10|NO.61727

スマホで
   #module
;▼必要となるAPIや定数の定義
#uselib "user32.dll"
#func keybd_event "keybd_event" int,int,int,int
#cfunc GetSystemMetrics "GetSystemMetrics" int
#cfunc GetDesktopWindow "GetDesktopWindow"
#cfunc GetWindowDC "GetWindowDC" int
#func GetWindowRect "GetWindowRect" int,int
#func ReleaseDC "ReleaseDC" int,int
#func InvalidateRect "InvalidateRect" int,int,int
#func OpenIcon "OpenIcon" int

#uselib "gdi32.dll"
#cfunc CreateDC "CreateDCA" var,int,int,int
#func BitBlt "BitBlt" int,int,int,int,int,int,int,int,int
#func DeleteDC "DeleteDC" int

#define KEYEVENTF_KEYUP $00000002
#define SM_CXFULLSCREEN $00000010
#define SM_CYFULLSCREEN $00000011

; nMode
; ----------------------------------------------------------------
; 0 : クライアント領域のみ (タスクバー領域を含めない)
; 1 : 非クライアント領域を含める (タスクバー領域を含む)

#deffunc Initcapt int prm1
nMode = prm1 : if (nMode<=0)|(nMode>1) : nMode=0

if nMode ==0{

;クライアントサイズ取得
w=GetSystemMetrics(SM_CXFULLSCREEN)
h=GetSystemMetrics(SM_CYFULLSCREEN)
;デスクトップのHDC取得
class="DISPLAY"
WDc=CreateDC(class,0,0,0) : if WDc==0 : return -1


}

if nMode ==1{
;デスクトップのハンドル取得
Deskhwnd=GetDesktopWindow()
if Deskhwnd==0 : return -1
;デスクトップのHDC取得
WDc=GetWindowDC(Deskhwnd)
if WDc==0 : return -1
;タスクバーを含めたサイズを取得
dim rc,4 : GetWindowRect Deskhwnd,varptr(rc)
w = rc(2)-rc(0) : h = rc(3)-rc(1)


}

;▼すべてのウィンドウを最小化
keybd_event 91, 0, 0, 0
keybd_event 77, 0, 0, 0
keybd_event 91, 0, KEYEVENTF_KEYUP, 0
keybd_event 77, 0, KEYEVENTF_KEYUP, 0

;▼タイミング
wait 50

;▼画面(最小化したHSP window)を復帰
OpenIcon hwnd
return
#deffunc deskcapt

;▼クライアント領域のみ
if nMode==0 {
;画面コピー
BitBlt hdc,0,0,w,h,WDc,0,0,$00CC0020

}
;▼非クライアント領域を含める
if nMode == 1{

;画面コピー
BitBlt hdc,0,0,w,h,WDc,0,0,$00CC0020

}
;▼画面更新
InvalidateRect hwnd,0,1

return 0

#deffunc ReleaseHDC onexit
if nMode == 0:DeleteDC WDc
if nMode == 1:ReleaseDC Deskhwnd,WDc
return
#global

;***** sample *****

#uselib "user32.dll"
#func SetWindowLong "SetWindowLongA" int,int,int
#cfunc GetWindowLong "GetWindowLongA" int,int
#define GWL_STYLE -16
#define overrapwin SetWindowLong hwnd,GWL_STYLE,$14CF0000

screen 0,ginfo(20),ginfo(21),2
width 640,480 : overrapwin : gsel 0,1

Initcapt 1
repeat
deskcapt
await 1
loop
これやっぱり使えませんか?
お借りしているのですがスクリプトの意味は理解できていません。
ただデスクトップがHSPウィンドウ内に表示されるというのに惹かれたのです。
これを何かに利用すると言った目的ではなく、ただスマホ版にして使えるかどうかということです。
お願いします!!



この記事に返信する


ヒラギノ

リンク

2014/4/28(Mon) 23:43:22|NO.61728

スーマトフォンでは、DLLファイルは使えなかった気がします。

http://e-words.jp/w/DLL.html
上記のサイトに書かれているように、DLL ファイルはWindows でしか使えない機能です。



ヒラギノ

リンク

2014/4/28(Mon) 23:46:02|NO.61729

連投スミマセン。

http://www.onionsoft.net/hsp/v33/doclib/hsp3dish_prog.htm


>外部DLL呼び出し機能は未サポート
と書いてありました。



右手の薬指

リンク

2014/4/29(Tue) 11:15:30|NO.61740

ありがとうございます。



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