以下のスクリプトは画面に1つのlistviewを配置し、WM_NOTIFYメッセージを待つだけのプログラムなのですが、
ここでonexitを使うと奇妙な現象が発生します。実行すると、ウィンドウを閉じて終了してもタスクマネージャ
で見るとhsp.exeのプロセスが残ったままになってしまうのです。
onexit の goto を gosub にした場合、oncmd の行を消した場合は正常に終了されるようです。
何故このような動作になってしまうのでしょうか?
#uselib "COMCTL32.DLL" #func global InitCommonControls "InitCommonControls" #uselib "USER32.DLL" #cfunc global CreateWindowEx "CreateWindowExA" sptr, sptr, sptr, sptr, sptr, sptr, sptr, sptr, sptr, sptr, sptr, sptr style = $10000000|$40000000|$00800000/*WS_VISIBLE|WS_CHILD|WS_BORDER*/ hListView = CreateWindowEx(0, "SysListView32", "", style, 0, 0, ginfo_winx, ginfo_winy, hwnd, 0, hinstance, 0) oncmd gosub *OnNotify, $0000004E/*WM_NOTIFY*/ onexit goto *OnExt stop *OnNotify return *OnExt end