2010-09-29 68 views
0

如何访问已运行资源管理器进程的文档属性。我正在使用以下代码行来获取进程。PowerShell获取运行资源管理器进程及其文档

$ ie2 = Get-Process |其中{$ .mainWindowTItle -eq“Windowtitletext”} |其中{$ .ID -ne $ ieParentProcessNumber}

现在我想做的事情在这个过程就像$ ie2.Document等一些处理

+0

你的意思是“Windows资源管理器”或“Internet Explorer的”?我怀疑这是后者。 – 2010-09-29 16:53:03

回答

0

如果你知道你会得到1个对象:

(Get-Process explorer).CPU 

如果你想知道什么是可用的属性:

Get-Process explorer | Get-Member 

如果您在结果集中有一个以上的对象(如获取进程返回多发处理mathing搜索标准):

Get-Process | Where-Object { $_.Handles -ge 200 } | Foreach-Object { $_.CPU } 
1

看起来你似乎试图直接从过程访问文档(即网页的数据)。这是不可能的使用get过程。

例如,您需要创建一个IE com对象的实例,或者如果您只想从网站读取数据,请使用System.Net.WebClient。发布更多关于你正在尝试做的,我们都不可能帮助你更好

+0

简而言之:我试图获得一个弹出窗口的文档。 描述:我有一个超链接的asp.net页面,当我点击该链接调用javascript __dopostback事件,它显示一个弹出窗口,并在该弹出窗口中,我可以选择下载该 zip文件。我现在面临的问题是,当我在PowerShell中调用单击事件时,一个新的iexplorer 进程已启动(对于弹出窗口),如何获取该弹出窗口的文档并单击它。 – user423487 2010-09-29 23:31:36

+0

使用powershell做pureley可能有点痛苦,而是使用诸如Watin + Powershell之类的东西。或者您可以尝试使用发送键到活动窗口来执行任何您想要的操作 – RC1140 2010-09-30 07:37:55

1

您可以连接到IE窗口:

$app = New-Object -ComObject shell.application 
$popup = $app.Windows() | where {$_.LocationName -like "*foo*"} 
$popup.document