Powershell - 以管理员身份运行时拖放功能不起作用

时间:2015-02-22 14:13:32

标签: powershell drag-and-drop

以管理员身份运行时,以下代码无效。我放到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

1 个答案:

答案 0 :(得分:1)

这是Windows中用户帐户控制(UAC)的结果。您可以在任何应用程序中看到相同的行为。

例如,通常打开记事本。将文本文件拖到它上面。它打开了。

以管理员身份打开记事本,尝试拖动文件。不会工作。

你应该能够在两个运行提升的程序之间拖动,但据我所知,探险家从未运行过高架,即使你明确告诉它,所以你必须拖动其他一些有效的应用程序作为拖动源。