以管理员身份运行时,以下代码无效。我放到GUI的文件没有显示在它上面。
如果我运行脚本而不是管理员它可以运行。 :/
有人可以告诉我为什么吗?
提前感谢您的帮助!
Function DragDropSample() {
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$form = New-Object Windows.Forms.Form
$form.text = "Drag&Drop sample"
$listBox = New-Object Windows.Forms.ListBox
$listBox.Dock = [System.Windows.Forms.DockStyle]::Fill
$handler = {
if ($_.Data.GetDataPresent([Windows.Forms.DataFormats]::FileDrop)) {
foreach ($filename in $_.Data.GetData([Windows.Forms.DataFormats]::FileDrop)) {
$listBox.Items.Add($filename)
}
}
}
$form.AllowDrop = $true
$form.Add_DragEnter($handler)
$form.Controls.Add($listBox)
$form.ShowDialog()
}
DragDropSample | Out-Null
答案 0 :(得分:1)
这是Windows中用户帐户控制(UAC)的结果。您可以在任何应用程序中看到相同的行为。
例如,通常打开记事本。将文本文件拖到它上面。它打开了。
以管理员身份打开记事本,尝试拖动文件。不会工作。
你应该能够在两个运行提升的程序之间拖动,但据我所知,探险家从未运行过高架,即使你明确告诉它,所以你必须拖动其他一些有效的应用程序作为拖动源。