- ベストアンサー
VBでOutlookのデスクトップ通知機能を制作する方法
- VBでOutlookのデスクトップ通知機能を制作するためには、4つの要件があります。
- 現在、Form1を使用して通知を表示していますが、フォーカスの移動やボタンの作成に問題があります。
- 解決策やアドバイスをいただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
開いたフォームをアクティブにしないにはWindows APIのShowWindowを使用すれば良いと思います。 VB6 Private Declare Function ShowWindow Lib "user32" _ (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long VB.NET Private Declare Function ShowWindow Lib "user32" _ (ByVal hwnd As IntPtr, ByVal nCmdShow As Long) As Long 詳細はヘルプを見ていただくとして第一引数に対象のウインドウハンドル、第二引数にウインドウの状態を指定します。 第二引数に 8 を指定すると対象のウインドウをアクティブにしないで開くことが出来ます。 以下、簡単なサンプル(VB.NET) プロジェクトにForm1とForm2を追加してForm1にButton1を追加します。 '--Form1 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim frm As New Form2 frm.ShowNoActivate() End Sub End Class '--Form2 Public Class Form2 Private Declare Function ShowWindow Lib "user32" _ (ByVal hwnd As IntPtr, ByVal nCmdShow As Long) As Long Private Const SW_SHOWNA As Integer = 8 Public Sub ShowNoActivate() Dim ret As Long ret = ShowWindow(Me.Handle, SW_SHOWNA) End Sub End Class ボタンを押す度、新しいウインドウ(Form2)が非アクティブで開きます。
お礼
なるほど!とても参考になりました。 欲しかった回答が、そのまま頂けました。 ありがとうございました。