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


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
0827
抹茶うどんHSP 3.6 ので hsp3_64ランタイムでEnumWindowsを使いたい1解決


抹茶うどん

リンク

2021/8/27(Fri) 23:50:10|NO.93711

HSP 3.6 の hsp3_64 でEnumWindowsを使いたいですが、HSP強制終了して使えません。
どうすればよろしいでしか。


#include "hsp3_64.as" #include "modclbk3.hsp" ; コールバックモジュール modclbk3.hspサンプル ; #uselib "user32.dll" #func EnumWindows "EnumWindows" int,int #func GetWindowText "GetWindowTextA" int,int,int title "コールバックモジュール" dim clbkptr,1 dim i,1 sdim tmpwns,64 sdim wns ewlb=*ew newclbk3 clbkptr,2,ewlb ; コールバック関数を作成する EnumWindows clbkptr,2 ; コールバックが必要なAPI title "トップレベルウィンドウ数:"+i mesbox wns,640,480,4,0 ; 結果を表示する stop *ew ; 実際にコールバックを受け取るサブルーチン ; dupptr winh,lparam,wparam*4,4 //lparam には引数の配列へのメモリアドレスが、 //wparam には配列の要素数が格納されているので //このようにして引数を受け取る GetWindowText winh.0,varptr(tmpwns),64 wns = wns + str(winh(0)) + "\t" + tmpwns + "\n" i++ return 1



この記事に返信する


抹茶うどん

リンク

2021/8/28(Sat) 00:38:26|NO.93712

自己解決しました。
hspint64.dll というのを見つけたので、、試したところ動くようになりました。
https://docs.hsp.moe/3.6/sample/hspint64.dll/50_%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E9%96%A2%E6%95%B0%28EnumWindows%29.hsp



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