ランチャーなどに組み込んでみてはいかが?
やり方は2つある。どちらもAPI関数を使用する。後者のやり方の方が正当かな。 Private Declare Function SHShutDownDialog Lib "shell32" Alias "#60" (ByVal YourGuess As Long) As Long
Private Sub Command1_Click() SHShutDownDialog 関数が16を返したら、エラーという噂もある。また、引数 YourGuess は何を意味するかは不明。0を送ればよいみたい?取りあえず、1つ目の方法はこれで終わり。 2つ目は、タスクバーのウインドウハンドルを取得し、メッセージキューへ"WM_CLOSE"メッセージを投函してやればよい。 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Const WM_CLOSE = &H10
'-------------------------------------------------------------------
Dim hWndTaskBar As Long
'タスクバーのハンドルを取得する
If hWndTaskBar <> 0 Then
End Sub |