Có cách nào để thực hiện việc này không có giao diện người dùng trên màn hình không? Hiện tại tôi đang có chương trình không giao diện người dùng nhỏ này đọc và ghi thông tin từ máy tính lớn 3270 đến một tệp văn bản sau mỗi 60 giây, giả sử người dùng muốn hủy ở giữa thời gian chờ 60 giây, làm cách nào tôi có thể 'nghe' nhấn phím mà không có bất kỳ sự kiện nào từ giao diện người dùng?'Nghe' để bấm phím trong khi chuỗi đang ngủ
6
A
Trả lời
1
Bạn cần một số loại giao diện để nắm bắt tổ hợp phím.
Dưới đây là ví dụ mà chạy trong một ứng dụng giao diện điều khiển (tạo một trống và dán vào module defauklt)
Nó cho phép xử lý "cái gì đó" trong một thread nền trong khi rời khỏi nhàn rỗi GUI cho người dùng nhập vào lệnh . Trong trường hợp này chỉ là một đơn giản 1 giây chậm trễ ngược lại 1000.
Lựa chọn Compare Text
Module Module1
Sub Main()
Console.WriteLine("Enter ""Start"", ""Stop"", or ""Exit"".")
Do
Dim Com As String = Console.ReadLine
Select Case Com
Case "Start"
Console.WriteLine(StartWork)
Case "Stop"
Console.WriteLine(StopWork)
Case "Exit"
Console.WriteLine("Quiting on completion")
Exit Do
Case Else
Console.WriteLine("bad command Enter ""Start"", ""Stop"", or ""Exit"".")
End Select
Loop
End Sub
Public Function StartWork() As String
If ThWork Is Nothing Then
ThWork = New Threading.Thread(AddressOf Thread_Work)
ThWork.IsBackground = False 'prevents killing the work if the user closes the window.
CancelWork = False
ThWork.Start()
Return "Started Work"
Else
Return "Work Already Processing"
End If
End Function
Public Function StopWork() As String
CancelWork = True
If ThWork Is Nothing Then
Return "Work not currently running"
Else
Return "Sent Stop Request"
End If
End Function
Public CancelWork As Boolean = False
Public ThWork As Threading.Thread = Nothing
Public dummyCounter As Integer = 0
Public Sub Thread_Work()
Try
Do
dummyCounter += 1
Console.Title = "Working ... #" & dummyCounter
' ###############
' do a SMALL PART OF YOUR WORK here to allow escape...
' ###############
If dummyCounter >= 1000 Then
Console.Title = "Work Done at #" & dummyCounter
Exit Do
ElseIf CancelWork Then
Exit Do
End If
Threading.Thread.Sleep(1000) ' demo usage only.
Loop
Catch ex As Exception
Console.WriteLine("Error Occured at #" & dummyCounter)
End Try
ThWork = Nothing
If CancelWork Then
Console.Title = "Work Stopped at #" & dummyCounter
End If
End Sub
End Module
Các vấn đề liên quan
- 1. Có thể tạo một Dịch vụ Android để nghe các phím bấm phần cứng không?
- 2. Làm thế nào để nghe bấm phím lặp đi lặp lại trong Dart cho trò chơi?
- 3. Nắm bắt các sự kiện bấm phím trong khi NSMenu đang mở
- 4. Làm thế nào để ẩn bàn phím khi tôi bấm phím return trong một UITextField?
- 5. Diễn viên đang ngủ?
- 6. Android - Nhận bấm phím trên bàn phím
- 7. Làm thế nào để chơi âm thanh bấm bàn phím trong bàn phím tùy chỉnh?
- 8. Xử lý NFC khi điện thoại đang ngủ trong Android
- 9. Cách chụp phím bấm Enter trong GtkEntry
- 10. Bấm phím Escape để gọi phương thức
- 11. Ngủ trong vòng lặp khi ứng dụng đang chạy, nhưng ngủ quá ít
- 12. Bắt phím bấm với android
- 13. Phím chủ hành vi bấm
- 14. Android mô phỏng bấm phím
- 15. Thời gian bấm phím trung bình khi nhập
- 16. Làm thế nào để chụp phím bấm xóa trong C#?
- 17. Kết hợp bấm phím và khóa - jQuery
- 18. Làm thế nào để kết hợp chức năng bấm phím và bấm vào trong JavaScript?
- 19. phím tổ hợp ngủ đông
- 20. Bấm một phím với Java
- 21. Làm thế nào để phát hiện phím bấm trong khi không tập trung?
- 22. Tắt biểu tượng GPS khi LocationListener đang ngủ
- 23. Chạy ứng dụng IPhone khi đang ở chế độ ngủ
- 24. Ngăn máy tính bảng ngủ khi ứng dụng đang chạy
- 25. jQuery: cách chụp phím bấm bằng live()
- 26. Cách kích hoạt phím bấm enter
- 27. Phân biệt giữa phím bấm và phím được giữ
- 28. Kết hợp phím bấm xử lý jQuery
- 29. Đợi bấm phím (hoặc) N giây để hết hạn
- 30. Mô phỏng bấm phím với jQuery
bạn có thể muốn gọi stopwork khi thoát – user1937198
Được chỉ đơn giản mã ví dụ và bạn sẽ chỉnh cho từng trường hợp cụ thể. trong hầu hết các trường hợp xử lý dữ liệu mà bạn thoát khỏi GUI ứng dụng, tôi muốn nó hoàn thành công việc của nó trừ khi tôi nói rõ ràng nó không quá. – DarrenMB