プログラムを一時的に停止するときは、Sleepを使っていたのですが、
これでは、全ての動きが止まってしまいます。
プログラムがあるところまで実行され、指定した場所に来たら、一時的に停止させますが、
処理(EditBoxに文字を書き込む など)は続けることが出来るようにしたいのですが、どのようなものを使えば良いか分かりません。
すみませんが、ご教授願います。
非同期でプログラムを待たせたい
CreateThreadで新しいスレッドを作り、そこで処理をしてみてはどうでしょうか?
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
こんなのでいいでしょうか?
[ここをクリックすると内容が表示されます]
ボタンとエディットボックスを1つづつ配置しておいてください
コード: 全て選択
'-----------------------------------------------------------------------------
' イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
Dim Global_k As Long
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
Function MainWndProc(hWnd As HWND, dwMsg As DWord, wParam As WPARAM, lParam As LPARAM) As DWord
' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
' イベントプロシージャの呼び出しを行います。
MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)
End Function
'-----------------------------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。
Sub MainWnd_Destroy()
testthread_DestroyObjects()'プロジェクト名によって異なる
PostQuitMessage(0)
End Sub
Sub MainWnd_CommandButton1_Click()
Dim dummy As DWord
CreateThread(ByVal 0,0,AddressOf(ToDo),0,0,VarPtr(dummy))
End Sub
'非同期に実行したい事
Sub ToDo()
Dim buf[20] As Byte
Sleep(1000)
wsprintf(buf,"test - %d",Global_k)
Global_k=Global_k+1
SetWindowText(GetDlgItem(hMainWnd,EditBox1),buf)
Sleep(10000)
End Sub
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。