2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« ps1ファイルでConsole-Window Hybrid Applicationを作る。 | トップページ | Import-CSVコマンドレットには、-Encodingパラメタがなく、文字化けする。 »

2010年2月13日 (土)

ショートカットや関連付けで非表示、最小化、最大化するラッパを作る。

ショートカットで最小化や最大化はできますが、非表示ができません。
関連付けでは、そもそもウィンドウの大きさがありません。

vbc /t:winexe HideRun.vb

Module Module1
Function Main() As Integer
Dim CommandLine As String = System.Environment.CommandLine
Dim FileName As String = ""
Dim n As Integer
For n = 1 To 2
  Dim Quoted As Boolean = False
  Dim k As Integer
  For k=0 To CommandLine.Length-1
    If CommandLine.Chars(k) = """" Then
      Quoted = Not Quoted
    ElseIf Not Quoted AndAlso CommandLine.Chars(k) = " " Then
      Exit For
    End If
  Next
  FileName = CommandLine.Substring(0,k).Replace("""","")
  CommandLine = CommandLine.Remove(0,k).Trim()
Next
Dim oProcess As New System.Diagnostics.Process()
oProcess.StartInfo.FileName = FileName
oProcess.StartInfo.Arguments = CommandLine
oProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden
'oProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized
'oProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized
Try
  oProcess.Start()
Catch
  MsgBox("Source" & vbTab & vbTab & Err.Source & vbLf & "Number" & vbTab & vbTab & Err.Number & vbLf & "Description" & vbTab & Err.Description & vbLf & "DLL Error" & vbTab & Err.LastDLLError)
  Return 255
End Try
End Function
End Module

ショートカットのリンク先や関連付けのcommandキー値の先頭に入れます。
HideRun.exe ~

同様に、MinRun、MaxRunも作ります。

« ps1ファイルでConsole-Window Hybrid Applicationを作る。 | トップページ | Import-CSVコマンドレットには、-Encodingパラメタがなく、文字化けする。 »