# 其实很麻烦

Posted by cww on July 22, 1999 at 13:33:36:

In Reply to: Re: 很困难的问题! 如何输出文字到其他程式 posted by 龙幻 on July 22, 1999 at 11:41:03:

part21的例子先按command2 后再按command1便可以知道
不过，如果程式不是我们呼叫起来的，我们还得
用FindWindow等API来找该程式的hWnd，再用SetWindowPos
或ShowWindow等API把Active Window设为该程式(或者可以
用AppActivate "Title名称" 来Activate Window，但这
样做，需取得Window的Caption，那可得用GetWindowText
的API)。如果是我们用Shell叫起来的程式，在Sendkeys
前也要确定该程式已确定叫起来了，否则Sendkeys就会
太早做，而没有在该程式送出字串。那时得用Part2的方式
Part1

private pid As Double
Private Sub Command1_Click()
AppActivate pid
SendKeys "haha"
End Sub

Private Sub Command2_Click()
pid = Shell("NotePad", vbNormalFocus)
End Sub

part2

Dim i As Integer
pid = Shell("C:\Program Files\Microsoft Office\Office\Word.EXE", vbNormalFocus)
Do While hProcess = 0 '等Word完全执行起来
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 0, pid)
DoEvents
Loop
SendKeys "haha"

Follow Ups:

- 对不起,还有一个问题 龙幻 16:07:14 7/22/99 (0)
- 对不起,还有一个问题 龙幻 16:07:10 7/22/99 (1)
  - 不会吧 cww 08:13:22 7/23/99 (0)