
VBで、Outlookのデスクトップ通知と同等の機能を制作しようとしています。
現時点で、デスクトップ通知で行いたいことが4点あります。
1.表示位置を指定できること。
2.複数表示を可能にすること。
3.表示する時に、フォーカスを移動させないこと。
4.ボタンを作成できること。
現時点では、Formを作成し、Form1.show()で起動していますが、3のフォーカスが移動してしまうため、うまく実現することができませんでした。また、ツールチッップにて作成を行いましたが、ボタンを配備することができないために断念しました。
実現するための、方法やご意見頂けると幸いです。
よろしくお願いします。
No.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)が非アクティブで開きます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Excel(エクセル) [Excel2016] 相関表等の自動作成 2 2022/08/01 20:34
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- モニター・ディスプレイ Win11マルチディスプレイでの異なる仮想デスクトップの表示 3 2023/02/01 10:02
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- WordPress(ワードプレス) Wordpress 複数プラグインの不具合? 1 2022/10/09 21:52
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
他の人には声だして挨拶してる...
-
どこにもフォーカスを当てたくない
-
C# ReadOnlyのTextBoxで
-
コントロールのフォーカスが横...
-
GridViewでハイライトを使用し...
-
エクセルVBA テキストボックス...
-
VB.NET ボタン押下で一つ前の...
-
excel ユーザーフォームのリス...
-
タブコントロールのフォーカス...
-
矢印(左右)キーでイベントを...
-
Accessの更新後処理で特定の条...
-
業務に差し支えのないテンキー...
-
ウリナラマンセーというフラッ...
-
Private Sub内でSubをCallしたい
-
テキストボックス入力後、警告...
-
コマンドボタンのEnterイベント...
-
MFCでコンボボックスを選択不可...
-
VBAでのユーザーフォーム上...
-
F503iにSVって表示されてるんで...
-
VBAのExitイベントについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どこにもフォーカスを当てたくない
-
他の人には声だして挨拶してる...
-
C# ReadOnlyのTextBoxで
-
ユーザーフォームのSetFocusが...
-
矢印(左右)キーでイベントを...
-
業務に差し支えのないテンキー...
-
Private Sub内でSubをCallしたい
-
エクセルVBA テキストボックス...
-
GridViewでハイライトを使用し...
-
テキストボックス入力後、警告...
-
プログラムからTera Termに文字...
-
コマンドボタンのEnterイベント...
-
MFCでコンボボックスを選択不可...
-
VB.NET ボタン押下で一つ前の...
-
油性マジックで書いたサインを...
-
Accessの更新後処理で特定の条...
-
DateTimePicker のEnable
-
スプレットシートでフォーカス...
-
VC++2010のラジオボタンの選択...
-
油性マジックの消し方
おすすめ情報