我正在尝试在PowerShell中结合两种我没有经验的东西。创建一个表单和文本到语音。对于文本到语音,我已经验证了这将与我对话:
Add-Type -AssemblyName System.speech
$speak = New-Object System.Speech.Synthesis.SpeechSynthesizer
$speak.Speak('My test speech')
在我的谷歌搜索中,我发现了一些关于创建文本框的信息。例如,这将创建一个只有取消按钮的框:
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$form = New-Object System.Windows.Forms.Form
$form.Text = 'Data Entry Form'
$form.Size = New-Object System.Drawing.Size(300,200)
$form.StartPosition = 'CenterScreen'
$cancelButton = New-Object System.Windows.Forms.Button
$cancelButton.Location = New-Object System.Drawing.Point(150,120)
$cancelButton.Size = New-Object System.Drawing.Size(75,23)
$cancelButton.Text = 'Cancel'
$cancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$form.CancelButton = $cancelButton
$form.Controls.Add($cancelButton)
$result = $form.ShowDialog()
我希望能创建一个按钮来阅读我指定的文本,但我很难弄清楚。我已将其编辑为:
Add-Type -AssemblyName System.speech
$speak = New-Object System.Speech.Synthesis.SpeechSynthesizer
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$form = New-Object System.Windows.Forms.Form
$form.Text = 'Data Entry Form'
$form.Size = New-Object System.Drawing.Size(300,200)
$form.StartPosition = 'CenterScreen'
$speakButton = New-Object System.Windows.Forms.Button
$speakButton.Location = New-Object System.Drawing.Point(150,120)
$speakButton.Size = New-Object System.Drawing.Size(75,23)
$speakButton.Text = 'Speak'
$speakButton.DialogResult = [System.Windows.Forms.DialogResult]$speak.Speak('My test speech')
$form.text = $speakButton
$form.Controls.Add($speakButton)
$result = $form.ShowDialog()
当我启动这个功能时,它会在弹出框之前显示“我的测试演讲”,当我点击按钮时,什么也没发生。很明显,我走错了路,但我不确定正确的路在哪里。