by konisi » 2007年4月15日(日) 10:40
僕ならGetAsyncKeyState関数で取得しますが。
Inkey$関数はPrompt指定がないと動かなかったはずなので。
次のようなコードを書きます。
コード: 全て選択
Dim dummy As Long,flag As Long
Const f_NULL=0
Const f_END=1
Const f_NEXT=2
CreateThread(ByVal 0,0,AddressOf(Timer),0,0,VarPtr(dummy))
flag=f_NULL
Do
If flag=f_END then Leave()
If flag=f_NEXT then Exit Do
Sleep(10)
Loop
'ここに作業内容を書く。
Sub Leave()
'ここに終了処理を書く
ExitProcess(0)
End Sub
Sub Timer()
Do
Sleep(100)
If GetAsyncKeyState(Asc("A")) And &H8000 then flag=f_NEXT
If GetAsyncKeyState(Asc("E")) And &H8000 then flag=f_END
If flag<>f_NULL then Exit Do
Loop
End Sub
僕ならGetAsyncKeyState関数で取得しますが。
Inkey$関数はPrompt指定がないと動かなかったはずなので。
次のようなコードを書きます。
[code]Dim dummy As Long,flag As Long
Const f_NULL=0
Const f_END=1
Const f_NEXT=2
CreateThread(ByVal 0,0,AddressOf(Timer),0,0,VarPtr(dummy))
flag=f_NULL
Do
If flag=f_END then Leave()
If flag=f_NEXT then Exit Do
Sleep(10)
Loop
'ここに作業内容を書く。
Sub Leave()
'ここに終了処理を書く
ExitProcess(0)
End Sub
Sub Timer()
Do
Sleep(100)
If GetAsyncKeyState(Asc("A")) And &H8000 then flag=f_NEXT
If GetAsyncKeyState(Asc("E")) And &H8000 then flag=f_END
If flag<>f_NULL then Exit Do
Loop
End Sub[/code]