投稿日 | : 2005/01/30(Sun) 12:36 |
投稿者 | : Say |
Eメール | : |
URL | : |
タイトル | : Re^5: 処理を続けるには?解決 |
マルチスレッドが無理なら
マルチプロセスでやる、という手もありますが・・・。
たとえばこんなかんじ
(Exe間のデータ受け渡しサンプルとしても使えそう。)
'●よびだし側 Project1.Exe
Option Explicit
Dim done As Boolean
Private Sub Command1_Click()
PopupMenu mnuPopup
End Sub
Private Sub Form_Click()
Dim n&
Shell App.Path & "\prjPopUp.exe " & Hex(Text1.hwnd)
Do
DoEvents
n = n + 1: Label1.Caption = n
Loop Until done = True
End Sub
Private Sub Text1_Change()
If Text1.Text <> "" Then
done = True
End If
End Sub
'●よびだされ側 prjPopUp.Exe
Option Explicit
Dim mlngHWnd As Long
Private Declare Function SendMessage Lib _
"user32" Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As String) As Long
Private Const WM_SETTEXT = &HC&
Private Sub Form_Load()
Me.Hide
mlngHWnd = Val("&H" & Command())
PopupMenu mnuPopup
End Sub
Private Sub mnuExit_Click()
SendMessage mlngHWnd, WM_SETTEXT, 0&, "Q" & Chr(0)
Unload Me
End Sub