« Console-Window Hybrid Applicationを作る。 | トップページ | ps1ファイルでConsole-Window Hybrid Applicationを作る。 »

2010年2月11日 (木)

VB.NETで、Console-Window Hybrid Applicationを作る。

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

VB.NETで、Console Application戦略の例。

vbc hybrid.vb

Module Module1
Declare Function GetConsoleWindow Lib "kernel32" () As Integer
Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Integer, ByRef ProcessId As Integer) As Integer
Declare Function ShowWindow Lib "user32" (ByVal hWnd As Integer, ByVal nCmdShow As Short) As Integer
Const SW_HIDE As Short = 0s

Sub Main()
Dim hwnd As Integer = GetConsoleWindow()
Dim pid As Integer
GetWindowThreadProcessId(hwnd, pid)
If System.Diagnostics.Process.GetCurrentProcess().Id=pid Then
  ShowWindow(hwnd, SW_HIDE)
  System.Windows.Forms.MessageBox.Show("from gui")
Else
  System.Console.Writeline("from console")
End If
End Sub
End Module

« Console-Window Hybrid Applicationを作る。 | トップページ | ps1ファイルでConsole-Window Hybrid Applicationを作る。 »