« VB.NETで、Console-Window Hybrid Applicationを作る。 | トップページ | ショートカットや関連付けで非表示、最小化、最大化するラッパを作る。 »

2010年2月12日 (金)

ps1ファイルでConsole-Window Hybrid Applicationを作る。

コンソールから起動されたらコンソールアプリで、GUIから起動されたらウィンドウアプリに変身する。

ps1ファイルでConsole Application戦略の例。

hybrid.ps1

if(([system.environment]::commandline -like "*$($myinvocation.mycommand.path)*") -and ([System.Diagnostics.Process]::GetCurrentProcess().MainWindowHandle -ne 0)){
  powershell -windowstyle hidden -command exit
  [void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
  [System.Windows.Forms.MessageBox]::Show("from gui")
}else{
  write-host "from console"
}

« VB.NETで、Console-Window Hybrid Applicationを作る。 | トップページ | ショートカットや関連付けで非表示、最小化、最大化するラッパを作る。 »