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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0320
雪月夜hscallbk->modclbk32解決


雪月夜

リンク

2019/3/20(Wed) 12:02:47|NO.86927

includeファイルを「hscallbk.as」から「modclbk3.hsp」に変更しようと思い以下のソースを修正したのですが、正常に動作しませんでした

http://hsp.tv/play/pforum.php?mode=pastwch&num=46431#46732

以下が修正したソースです、CreateWindowExの戻り値がNULLになってます
元のソースと同様の処理を行わせるにはどうすれば良いでしょうか


#include "user32.as" #include "gdi32.as" #include "modclbk3.hsp" ;"hscallbk.as" //定数を定義 #define global WM_DESTROY 0x0002 #define global WM_CLOSE 0x0010 #define global WM_QUIT 0x0012 #define global GWL_WNDPROC -4 //ダミーの関数を定義 ;#uselib "" ;#func _WndProc "" int,int,int,int //コールバック関数登録 ;setcallbk Proc, _WndProc, *WndProc newclbk3 Proc, 4, *WndProc //"hspwnd0"で使われているウィンドウプロシージャのアドレスの取得 GetWindowLong hwnd, GWL_WNDPROC OldWndProc = stat /*ウィンドウクラスの登録------------------------------------------------------------*/ //----------------------------------------------------------------------------------// ClassName = "spider" g_hInstance = 0 LoadIcon 0, 32512 hIcon = stat LoadCursor 0, 32512 hCursor = stat GetStockObject 0 hBrush = stat dim wcex, 12 wcex.0 = 48 wcex.1 = 0 wcex.2 = varptr(Proc) wcex.3 = 0 wcex.4 = 0 wcex.5 = g_hInstance wcex.6 = hIcon wcex.7 = hCursor wcex.8 = hBrush wcex.9 = 0 wcex.10= varptr(ClassName) wcex.11= hIcon RegisterClassEx varptr(wcex) //----------------------------------------------------------------------------------// CreateWindowEx 0, "spider", "Title", 0x16CF0000, 0x80000000, 0x80000000, 400, 400, 0, 0, g_Instance, 0 hWdw = stat mes hWdw stop *WndProc dim callbkarg,4 ;追記 clbkargprotect callbkarg ;追記 hWindow = callbkarg(0) Massage = callbkarg(1) wp = callbkarg(2) lp = callbkarg(3) switch (Massage) case WM_CLOSE DestroyWindow hWindow swbreak case WM_DESTROY DestroyWindow hWindow swbreak default CallWindowProc OldWndProc, hWindow, Massage, wp, lp swbreak swend return



この記事に返信する


tds12

リンク

2019/3/20(Wed) 15:55:55|NO.86929

>wcex.2 = varptr(Proc)
wcex.2 = Proc
だと思います。



雪月夜

リンク

2019/3/20(Wed) 16:16:03|NO.86930

>wcex.2 = Proc
おお!ちゃんと動くようになりました!
tds12さん、ありがとうございます!



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