mirrorさんのレスの内容が、現在の私にとっては、大変難しい内容の為、今すぐに具体的なコードを書くことは出来ません。
しかしながら、mirrorさんのレスの内容は、単に難しいだけでは無く、的確な内容を書かれているように思える為、取り急ぎ、mirrorさんのレスの内容そのままを解る範囲でコードにしてみました。
ここに書いた内容を、UWSCで実際に動かすような事は、一切行っておりません。(というより、このままでは、行えないはずです。)
どこが間違えているかも、(私本人は)解っていません。
いつになったら、ちゃんとしたコードが書けるのか、謎です。
> WindowsAPIを使えば、UWSCでも実装できると思います
// DEF_DLL 関数名(型, 型, ...): 戻り型: DLL名
// 型: int、long、bool、uint、hwnd、string、Wstring、float、double、word、dword、byte、char、pchar、Wchar、pWchar、boolean、longlong、SafeArray
// 構造体:型を { } にて展開して書く 関数名( double, {int, int, int} )
DEF_DLL PeekMessage({LPMSGのUWSCでの指定方法不明です?},hwnd,uint,uint,uint)bool:user32.dll
> DoEventsの実態の動作は
> PeekMessage(msg,NULL,0,0,PM_REMOVE)が真の間
> msg構造体内のmessageを調べて
> WM_QUITならExitProcess()
> そうでない場合は
> TranslateMessage(msg)とDispatchMessage(msg)を実行するです
// DoEventsの実態の動作は
Procedure UwscDoEvents()
// PeekMessage(msg,NULL,0,0,PM_REMOVE)が真の間
While PeekMessage(msg,NULL,0,0,PM_REMOVE)
// msg構造体内のmessageを調べて
Select msg.message
// WM_QUITならExitProcess()
Case WM_QUIT
ExitProcess()
// そうでない場合は
// TranslateMessage(msg)と
// DispatchMessage(msg)を実行するです
Default
TranslateMessage(msg)
DispatchMessage(msg)
Selend
Wend
Fend