通过使用 WebBrowser 控件导航到网页来提示输入网页,使用 PowerShell?



是否可以在基本的Windows窗体上创建一个Web浏览器控件,并使用Powershell显示它?

我想使用脚本生成一个包含 Web 浏览器控件的表单,该控件具有一个地址栏,可让用户导航到所需的地址,底部有一个"选择"按钮,允许用户关闭表单,当它关闭时,脚本将 URL 保存到本地磁盘上的文件中,以便调用此脚本的程序可以将该文件读取为"输出"。

我的最终目标是我希望能够使用 powershell 脚本"提示"某人导航到网页并选择它,以便我可以捕获他们要去的 URL。

有没有一种简单的方法来做到这一点(?),或者我是否需要花一些时间学习如何使用代码行在Powershell中生成WinForms,然后打开它?

我希望在这个网站或其他地方已经有一个这样做的例子,但还没有找到任何东西。

我对Powershell没有很多经验,所以我还没有能够自己尝试做到这一点。我主要使用 VB.NET,我试图避免必须在 DLL 中创建表单,然后从 powershell 引用它,这在技术上会显示我想要的结果,但对于我需要它的内容来说是不可行的。

我不知道你想实现什么,但你可能使用 Internet Explorer 对象。所有Windows计算机都有它,它具有所有基本功能:Navigate(),Visible,LocationUrl,LocationName等。这是一个基本示例:

$InternetExplorer = New-Object -com InternetExplorer.Application
$InternetExplorer.Navigate("google.com")
$InternetExplorer.Visible = $True
# Wait for Internet Explorer to be ready
while($InternetExplorer.ReadyState){ Start-Sleep -Milliseconds 500 }
# Show Url / Name
$InternetExplorer.LocationUrl
$InternetExplorer.LocationName
$InternetExplorer.Quit()

如果没有,几乎所有可以使用.Net Framework完成的事情都可以在Powershell中完成。话虽如此,你可以直接在Powershell中构建Windows窗体,但我必须承认它可能很乏味。下面是一个基本示例:

Add-Type -AssemblyName System.Windows.Forms
$Form = New-Object system.Windows.Forms.Form
$Form.Text = "Sample Form"
$Label = New-Object System.Windows.Forms.Label
$Label.Text = "This form is very simple."
$Label.AutoSize = $True
$Form.Controls.Add($Label)
$Form.ShowDialog() 

如果您想开始,这里有一篇更完整的文章:

https://blogs.technet.microsoft.com/stephap/2012/04/23/building-forms-with-powershell-part-1-the-form/

相关内容

  • 没有找到相关文章

最新更新