0
私はps1をexeにコンパイルする必要があります。それは正常に動作しますが、いくつかのwindows.forms要素(ファイルダイアログを開き、ディレクトリを選択)を追加してもまだコンパイルされていますが、フォームは表示されません。それから、PowershellでRMB - > Execを使ってスクリプトを起動してもフォームが表示されないことに気付きました。 ISEではすべて正常に動作します。 誰も同じような問題がありますか?powershell + PS2EXE-v0.5.0.0 + windowsフォーム
Function Get-OpenFile($initialDirectory)
{
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") |
Out-Null
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.initialDirectory = $initialDirectory
$OpenFileDialog.filter = "Text files (*.txt)|*.txt"
$OpenFileDialog.ShowDialog() | Out-Null
$OpenFileDialog.filename
$OpenFileDialog.ShowHelp = $true
}
function Select-Folder($message='Folder to save', $path = 0) {
$object = New-Object -comObject Shell.Application
$folder = $object.BrowseForFolder(0, $message, 0, $path)
if ($folder -ne $null) {
$folder.self.Path
}
}
残りのコードはパーサーとリネマです。 UPD - 問題はwindows.formsとまったく同じですが、コメント#get-openfile(myDir)、選択フォルダダイアログが表示されています。 exeにコンパイルした後に表示されます。
おそらくもっと理解して手助けするために少しのコードを共有しています – darkomen