그래서 분명히 알기 위해 나는 이것을 "작동"하게 만들었습니다. 내 코드는 다음과 같습니다.vb.net에 채워진 Outlook 전자 메일을 열고 스레드를 닫습니다.
Dim Outl As Object
Outl = CreateObject("Outlook.Application")
If Outl IsNot Nothing Then
Dim omsg As Object
omsg = Outl.CreateItem(0)
omsg.cc = UserId
omsg.subject = "CRIT " & eventId & " - " & shortSummary & ""
omsg.body = reportBody
omsg.Display(True) 'will display message to user
EmailExportBackgroundWorker.CancelAsync()
EmailExportBackgroundWorker.Dispose()
End If
End If
이것은 정확히 내가 원하는 것입니다. 실제로 vb.net은 대화 상자 창을 연 것처럼 이것을 처리합니다. 사용자가 계속 진행하기 전에 팝업 된 전자 메일로 무엇인가를하기를 기다리고 있습니다. 이 프로그램을 배경 작업자에게 옮겨서 내 프로그램을 걸어 놓았지만 그 자체로 열리는 전자 메일에는 내가 해결하고 싶은 몇 가지 단점이 있습니다.
주로 최소화 할 수 없으며 최소화 버튼이 회색으로 표시됩니다. 또한 가장 큰 거래가 아닌 최대화 된 거래가 성가시다. 마지막으로 응답하지 않는 것으로 표시됩니다. 그렇지 않다면, 당신은 그것을 채우고 그것을 보낼 수 있지만 그것은 응답하지 않는 것으로 나타납니다.
내가하고 싶은 것은 트레드가 이메일을 열어서 끝내면됩니다. 일단 VB.NET이 열리면 VB.NET과 더 이상 관련이 없습니다. 나는 해커가 될 수있는 방법을 찾지 못한다. 실제로, 그것은 배경 스레드이기 때문에, 나는 그것이 정말로 가도 상관하지 않습니다. 나는 그저 사용자가 이메일을 최소화 할 수 있기를 원한다. 그것을 다루지 않아도됩니다. 작업 표시 줄의 다른 프로그램을 클릭하고 그 이메일을 뒷면으로 보낼 수 있지만 모든 사용자가 그럴 수 있다는 것을 알지 못합니다.