質問編集履歴

1

実際のコードを追加しました。

2019/09/08 14:11

投稿

takumi3
takumi3

スコア18

test CHANGED
File without changes
test CHANGED
@@ -1 +1,51 @@
1
1
  powershell でバルーン通知を行うとそのバルーン通知を消すか、時間制限で自動的に消えるまで、プログラムの処理が一時中断されてしまいます。バルーン通知を表示しつつもプログラムを実行し続ける手段は何かありますか?
2
+
3
+ バルーン通知を行う関数は以下の通りです。
4
+
5
+ ```
6
+
7
+ Function Balloon ($Msg,$IconType) {
8
+
9
+ #System.Windows.FormsクラスをPowerShellセッションに追加
10
+
11
+ Add-Type -AssemblyName System.Windows.Forms
12
+
13
+ #NotifyIconクラスをインスタンス化
14
+
15
+ $balloon = New-Object System.Windows.Forms.NotifyIcon
16
+
17
+ #powershellのアイコンを抜き出す
18
+
19
+ $balloon.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon('C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe')
20
+
21
+ #特定のTipIconのみを使用可
22
+
23
+ #[System.Windows.Forms.ToolTipIcon] | Get-Member -Static -Type Property
24
+
25
+ $balloon.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::$IconType
26
+
27
+ #表示するメッセージ
28
+
29
+ $balloon.BalloonTipText = $Msg
30
+
31
+ #表示するタイトル
32
+
33
+ $balloon.BalloonTipTitle = 'TimeManeger'
34
+
35
+ #タスクトレイアイコン表示
36
+
37
+ $balloon.Visible = $True
38
+
39
+ #5000ミリ秒表示
40
+
41
+ $balloon.ShowBalloonTip(5000)
42
+
43
+ #1秒待ってからタスクトレイアイコン非表示
44
+
45
+ Start-Sleep -Seconds 10
46
+
47
+ $balloon.Visible = $False
48
+
49
+ }
50
+
51
+ ```