• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Notifying a message in Action center.


Commit MetaInfo

Revisionca0f9bb7e819bcb3bcb4b4445fd125c319c6bcea (tree)
Time2015-09-13 11:26:09
AuthorJeffyTS <JeffyTS@outl...>
CommiterJeffyTS

Log Message

First code.

Change Summary

Incremental Difference

--- /dev/null
+++ b/NotifyMessage.sln
@@ -0,0 +1,29 @@
1+
2+Microsoft Visual Studio Solution File, Format Version 12.00
3+# Visual Studio 14
4+VisualStudioVersion = 14.0.23107.0
5+MinimumVisualStudioVersion = 10.0.40219.1
6+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NotifyMessage", "NotifyMessage\NotifyMessage.csproj", "{1BF662DF-003B-43F9-9E1F-C5FA0CF8092F}"
7+EndProject
8+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{41622DD9-5228-4CF2-867B-4BDF158BCFF4}"
9+ ProjectSection(SolutionItems) = preProject
10+ NotifyMessage\NotifyMessage.ico = NotifyMessage\NotifyMessage.ico
11+ NotifyMessage\NotifyMessageTray.ico = NotifyMessage\NotifyMessageTray.ico
12+ readme.txt = readme.txt
13+ EndProjectSection
14+EndProject
15+Global
16+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
17+ Debug|Any CPU = Debug|Any CPU
18+ Release|Any CPU = Release|Any CPU
19+ EndGlobalSection
20+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
21+ {1BF662DF-003B-43F9-9E1F-C5FA0CF8092F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
22+ {1BF662DF-003B-43F9-9E1F-C5FA0CF8092F}.Debug|Any CPU.Build.0 = Debug|Any CPU
23+ {1BF662DF-003B-43F9-9E1F-C5FA0CF8092F}.Release|Any CPU.ActiveCfg = Release|Any CPU
24+ {1BF662DF-003B-43F9-9E1F-C5FA0CF8092F}.Release|Any CPU.Build.0 = Release|Any CPU
25+ EndGlobalSection
26+ GlobalSection(SolutionProperties) = preSolution
27+ HideSolutionNode = FALSE
28+ EndGlobalSection
29+EndGlobal
--- /dev/null
+++ b/NotifyMessage/App.config
@@ -0,0 +1,6 @@
1+<?xml version="1.0" encoding="utf-8" ?>
2+<configuration>
3+ <startup>
4+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
5+ </startup>
6+</configuration>
\ No newline at end of file
--- /dev/null
+++ b/NotifyMessage/MainForm.Designer.cs
@@ -0,0 +1,59 @@
1+namespace NotifyMessage
2+{
3+ partial class MainForm
4+ {
5+ /// <summary>
6+ /// 必要なデザイナー変数です。
7+ /// </summary>
8+ private System.ComponentModel.IContainer components = null;
9+
10+ /// <summary>
11+ /// 使用中のリソースをすべてクリーンアップします。
12+ /// </summary>
13+ /// <param name="disposing">マネージ リソースを破棄する場合は true を指定し、その他の場合は false を指定します。</param>
14+ protected override void Dispose(bool disposing)
15+ {
16+ if (disposing && (components != null))
17+ {
18+ components.Dispose();
19+ }
20+ base.Dispose(disposing);
21+ }
22+
23+ #region Windows フォーム デザイナーで生成されたコード
24+
25+ /// <summary>
26+ /// デザイナー サポートに必要なメソッドです。このメソッドの内容を
27+ /// コード エディターで変更しないでください。
28+ /// </summary>
29+ private void InitializeComponent()
30+ {
31+ this.components = new System.ComponentModel.Container();
32+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
33+ this.notifyIcon_MainForm = new System.Windows.Forms.NotifyIcon(this.components);
34+ this.SuspendLayout();
35+ //
36+ // notifyIcon_MainForm
37+ //
38+ this.notifyIcon_MainForm.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon_MainForm.Icon")));
39+ this.notifyIcon_MainForm.Text = "NotifyMessage";
40+ this.notifyIcon_MainForm.Visible = true;
41+ //
42+ // MainForm
43+ //
44+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
45+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
46+ this.ClientSize = new System.Drawing.Size(284, 261);
47+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
48+ this.Name = "MainForm";
49+ this.Text = "NotifyMessage";
50+ this.ResumeLayout(false);
51+
52+ }
53+
54+ #endregion
55+
56+ private System.Windows.Forms.NotifyIcon notifyIcon_MainForm;
57+ }
58+}
59+
--- /dev/null
+++ b/NotifyMessage/MainForm.cs
@@ -0,0 +1,68 @@
1+using System;
2+using System.Collections.Generic;
3+using System.ComponentModel;
4+using System.Data;
5+using System.Drawing;
6+using System.Linq;
7+using System.Text;
8+using System.Threading.Tasks;
9+using System.Windows.Forms;
10+
11+namespace NotifyMessage
12+{
13+ public partial class MainForm : Form
14+ {
15+ // This Program Name
16+ private const string PROGRAM_NAME = "NotifyMessage";
17+ // Messages
18+ private const string MSG_USAGE = "Notifiying a message in Action center.\r\n" +
19+ "\r\n" +
20+ " Usage: \r\n" +
21+ " " + PROGRAM_NAME + ".exe [opt] \"Your message\"\r\n" +
22+ "\r\n" +
23+ " Option:\r\n" +
24+ " [/INFO(default) | /WARN | /ERR]";
25+
26+ public MainForm()
27+ {
28+ // Messageはここで出さないと終了処理がうまくいかない(プロセスが残る)
29+ if (Program.NotifyMessage == "")
30+ {
31+ MessageBox.Show(MSG_USAGE, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
32+ Program.NotifyMessage = ""; // 消してしまう(flag代わり)
33+ }
34+ else if (Program.NotifyMessage != "") // vmxFilePathが指定されていないときは初期化せず終了
35+ {
36+ InitializeComponent();
37+
38+ this.notifyIcon_MainForm.Text = PROGRAM_NAME;// Program.NotifyMessage;
39+ this.notifyIcon_MainForm.BalloonTipText = Program.NotifyMessage;
40+ this.notifyIcon_MainForm.Icon = Properties.Resources.NotifyMessageTray;
41+
42+ switch (Program.msglevel)
43+ {
44+ case Program.MSGLEVEL.INFO:
45+ this.notifyIcon_MainForm.BalloonTipIcon = ToolTipIcon.Info;
46+ break;
47+ case Program.MSGLEVEL.WARN:
48+ this.notifyIcon_MainForm.BalloonTipIcon = ToolTipIcon.Warning;
49+ break;
50+ case Program.MSGLEVEL.ERR:
51+ this.notifyIcon_MainForm.BalloonTipIcon = ToolTipIcon.Error;
52+ break;
53+ default:
54+ this.notifyIcon_MainForm.BalloonTipIcon = ToolTipIcon.None;
55+ break;
56+ }
57+ this.notifyIcon_MainForm.ShowBalloonTip(500);
58+
59+ //System.Threading.Thread.Sleep(10000);
60+
61+ // Exit
62+ this.notifyIcon_MainForm.Visible = false; // タスクトレイからアイコンを取り除く
63+ Application.Exit(); // アプリケーション終了
64+
65+ }
66+ }
67+ }
68+}
--- /dev/null
+++ b/NotifyMessage/MainForm.resx
@@ -0,0 +1,293 @@
1+<?xml version="1.0" encoding="utf-8"?>
2+<root>
3+ <!--
4+ Microsoft ResX Schema
5+
6+ Version 2.0
7+
8+ The primary goals of this format is to allow a simple XML format
9+ that is mostly human readable. The generation and parsing of the
10+ various data types are done through the TypeConverter classes
11+ associated with the data types.
12+
13+ Example:
14+
15+ ... ado.net/XML headers & schema ...
16+ <resheader name="resmimetype">text/microsoft-resx</resheader>
17+ <resheader name="version">2.0</resheader>
18+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
19+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
21+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
22+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
23+ <value>[base64 mime encoded serialized .NET Framework object]</value>
24+ </data>
25+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
26+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
27+ <comment>This is a comment</comment>
28+ </data>
29+
30+ There are any number of "resheader" rows that contain simple
31+ name/value pairs.
32+
33+ Each data row contains a name, and value. The row also contains a
34+ type or mimetype. Type corresponds to a .NET class that support
35+ text/value conversion through the TypeConverter architecture.
36+ Classes that don't support this are serialized and stored with the
37+ mimetype set.
38+
39+ The mimetype is used for serialized objects, and tells the
40+ ResXResourceReader how to depersist the object. This is currently not
41+ extensible. For a given mimetype the value must be set accordingly:
42+
43+ Note - application/x-microsoft.net.object.binary.base64 is the format
44+ that the ResXResourceWriter will generate, however the reader can
45+ read any of the formats listed below.
46+
47+ mimetype: application/x-microsoft.net.object.binary.base64
48+ value : The object must be serialized with
49+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
50+ : and then encoded with base64 encoding.
51+
52+ mimetype: application/x-microsoft.net.object.soap.base64
53+ value : The object must be serialized with
54+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
55+ : and then encoded with base64 encoding.
56+
57+ mimetype: application/x-microsoft.net.object.bytearray.base64
58+ value : The object must be serialized into a byte array
59+ : using a System.ComponentModel.TypeConverter
60+ : and then encoded with base64 encoding.
61+ -->
62+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
63+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
64+ <xsd:element name="root" msdata:IsDataSet="true">
65+ <xsd:complexType>
66+ <xsd:choice maxOccurs="unbounded">
67+ <xsd:element name="metadata">
68+ <xsd:complexType>
69+ <xsd:sequence>
70+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
71+ </xsd:sequence>
72+ <xsd:attribute name="name" use="required" type="xsd:string" />
73+ <xsd:attribute name="type" type="xsd:string" />
74+ <xsd:attribute name="mimetype" type="xsd:string" />
75+ <xsd:attribute ref="xml:space" />
76+ </xsd:complexType>
77+ </xsd:element>
78+ <xsd:element name="assembly">
79+ <xsd:complexType>
80+ <xsd:attribute name="alias" type="xsd:string" />
81+ <xsd:attribute name="name" type="xsd:string" />
82+ </xsd:complexType>
83+ </xsd:element>
84+ <xsd:element name="data">
85+ <xsd:complexType>
86+ <xsd:sequence>
87+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
88+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
89+ </xsd:sequence>
90+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
91+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
92+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
93+ <xsd:attribute ref="xml:space" />
94+ </xsd:complexType>
95+ </xsd:element>
96+ <xsd:element name="resheader">
97+ <xsd:complexType>
98+ <xsd:sequence>
99+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
100+ </xsd:sequence>
101+ <xsd:attribute name="name" type="xsd:string" use="required" />
102+ </xsd:complexType>
103+ </xsd:element>
104+ </xsd:choice>
105+ </xsd:complexType>
106+ </xsd:element>
107+ </xsd:schema>
108+ <resheader name="resmimetype">
109+ <value>text/microsoft-resx</value>
110+ </resheader>
111+ <resheader name="version">
112+ <value>2.0</value>
113+ </resheader>
114+ <resheader name="reader">
115+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116+ </resheader>
117+ <resheader name="writer">
118+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119+ </resheader>
120+ <metadata name="notifyIcon_MainForm.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
121+ <value>17, 17</value>
122+ </metadata>
123+ <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
124+ <data name="notifyIcon_MainForm.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
125+ <value>
126+ AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
127+ AAD0fVEAAAAAAP///wBLS/0Aenp6ALABAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
128+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
129+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
130+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
131+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
132+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
133+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
134+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
135+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
136+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
137+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
138+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
139+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
140+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
141+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
142+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
143+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
144+ AAAAAAAABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAAAAAAAAAABAQEBAQEAAEBAQEB
145+ AQEBAQQEBAQEBAABAwMBAQEBAQEBAQEBAQEAAQMDAQICAgIBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQAA
146+ AAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAABAQEB
147+ AQEAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAABAgICAgEAAAAAAAAAAAAA
148+ AQEBAQEBAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
149+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
150+</value>
151+ </data>
152+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
153+ <value>
154+ AAABAAQAEBAAAAEACABoBQAARgAAACAgAAABAAgAqAgAAK4FAAAwMAAAAQAIAKgOAABWDgAAAAAAAAEA
155+ CAAOAwAA/hwAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0fVEAAAAAAP//
156+ /wBLS/0Aenp6ALABAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
157+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
158+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
159+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
160+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
161+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
162+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
163+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
164+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
165+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
166+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
167+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
168+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
169+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
170+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
171+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
172+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQUFBQUF
173+ BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAAAAAAAAAABAQEBAQEAAEBAQEBAQEBAQQEBAQEBAAB
174+ AwMBAQEBAQEBAQEBAQEAAQMDAQICAgIBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAQEB
175+ AQEAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAA
176+ AQEBAQEBAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAABAgICAgEAAAAAAAAAAAAAAQEBAQEBAAAAAAAA
177+ AAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
178+ AAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9H1RAAAA
179+ AAD///8AS0v9AHp6egCwAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
180+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
181+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
182+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
183+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
184+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
185+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
186+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
187+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
188+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
189+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
190+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
191+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
192+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
193+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
194+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
195+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUF
196+ BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
197+ BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
198+ BQUFBQUFAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAQQEBAEEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQE
199+ BAQBBAQEAQQEBAAAAQEBAQEBAQEBAQEBAQEBAQEBBAQEBAEEBAQBBAQEAAABAQEBAQEBAQEBAQEBAQEB
200+ AQEEBAQEAQQEBAEEBAQAAAEBAwMDAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAQEDAwMDAQECAgIC
201+ AgICAgEBAQEBAQEBAQEBAQEBAAABAQMDAwMBAQICAgICAgICAQEBAQEBAQEBAQEBAQEAAAEBAwMDAwEB
202+ AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAABAQEB
203+ AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAA
204+ AAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEB
205+ AQEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEB
206+ AQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAEB
207+ AQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAA
208+ AAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAA
209+ AAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAA
210+ AAAAAAAAAAAAAAEBAgICAgICAgIBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQECAgICAgICAgEBAAAAAAAA
211+ AAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAA
212+ AAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEB
213+ AQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
214+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
215+ AAAAAAAAAAAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0fVEAAAAAAP//
216+ /wBLS/0Aenp6ALABAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
217+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
218+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
219+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
220+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
221+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
222+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
223+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
224+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
225+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
226+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
227+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
228+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
229+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
230+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
231+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
232+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQUFBQUF
233+ BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
234+ BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
235+ BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
236+ BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
237+ BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFAAAAAAAAAAAAAAAAAAAAAAAA
238+ AAAAAAAAAAAAAAAABAQEBAQEAQQEBAQEAQQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
239+ BAQEBAQEAQQEBAQEAQQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAQQEBAQE
240+ AQQEBAQEAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBAQEBAQEAQQEBAQEAQQEBAQEAAAAAQEB
241+ AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBAQEBAQEAQQEBAQEAQQEBAQEAAAAAQEBAQEBAQEBAQEBAQEB
242+ AQEBAQEBAQEBAQEBBAQEBAQEAQQEBAQEAQQEBAQEAAAAAQEBAwMDAwMDAQEBAQEBAQEBAQEBAQEBAQEB
243+ AQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAwMDAwMDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
244+ AQEBAQEBAAAAAQEBAwMDAwMDAQEBAgICAgICAgICAgICAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEB
245+ AwMDAwMDAQEBAgICAgICAgICAgICAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAwMDAwMDAQEBAgIC
246+ AgICAgICAgICAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAwMDAwMDAQEBAQEBAQEBAQEBAQEBAQEB
247+ AQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
248+ AQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEB
249+ AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAA
250+ AAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
251+ AQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEB
252+ AQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAA
253+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAA
254+ AAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
255+ AQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEB
256+ AQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAA
257+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAA
258+ AAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
259+ AQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEB
260+ AQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAA
261+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAA
262+ AAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
263+ AQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEB
264+ AQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAgICAgICAgICAgICAQEBAAAAAAAA
265+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAgICAgICAgICAgICAQEBAAAAAAAAAAAAAAAAAAAAAAAA
266+ AAAAAAAAAAAAAAAAAQEBAgICAgICAgICAgICAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
267+ AQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEB
268+ AQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAA
269+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAA
270+ AAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
271+ AQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
272+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
273+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
274+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
275+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
276+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
277+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiVBORw0KGgoAAAANSUhEUgAA
278+ AQAAAAEACAYAAABccqhmAAAC1UlEQVR42u3cQQrCMBBAUcdm6c268joFV4VcRze5mVuJBxBEGjG1fe8A
279+ 2o7lMyImzpd7PUAn1/lkCB0djQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAA
280+ QAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAA4FPJCPhntdZd339E2AAAAQAEABAAQAAAAQAEABAAQABA
281+ AAABAAQAEABAAAABALbJeQD8tdb/w9sAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAA
282+ AAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAQAAAAQAEABAAQAAAAQAE
283+ ABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAA
284+ AQAEABAAQABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAIAfSq0v
285+ cJ1Ppgg2AEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEAviv1voDHOHZ9/6EUTwE2AEAAAAEA
286+ BADYtGQEbWqtu77/iPAQ2AAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEAFjG
287+ mYCNnImHDQAQAEAAAAEABAAQAGB9uv8MOJTiU9ixaZp+/p455+7XsJZrsQGArwCAAAACAAgAIACAAAAC
288+ AAgAIACAAAACAAgAIACAAACr1XwewPlyN0WWe2QzsAEAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAA
289+ AgAIAPAqhrhVYwAbACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAA
290+ gAAAAgAIACAAgAAAAgAIACAAgAAAbz0BfMgeJSAl/p8AAAAASUVORK5CYII=
291+</value>
292+ </data>
293+</root>
\ No newline at end of file
--- /dev/null
+++ b/NotifyMessage/NotifyMessage.csproj
@@ -0,0 +1,97 @@
1+<?xml version="1.0" encoding="utf-8"?>
2+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4+ <PropertyGroup>
5+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7+ <ProjectGuid>{1BF662DF-003B-43F9-9E1F-C5FA0CF8092F}</ProjectGuid>
8+ <OutputType>WinExe</OutputType>
9+ <AppDesignerFolder>Properties</AppDesignerFolder>
10+ <RootNamespace>NotifyMessage</RootNamespace>
11+ <AssemblyName>NotifyMessage</AssemblyName>
12+ <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
13+ <FileAlignment>512</FileAlignment>
14+ <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
15+ </PropertyGroup>
16+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
17+ <PlatformTarget>AnyCPU</PlatformTarget>
18+ <DebugSymbols>true</DebugSymbols>
19+ <DebugType>full</DebugType>
20+ <Optimize>false</Optimize>
21+ <OutputPath>bin\Debug\</OutputPath>
22+ <DefineConstants>DEBUG;TRACE</DefineConstants>
23+ <ErrorReport>prompt</ErrorReport>
24+ <WarningLevel>4</WarningLevel>
25+ </PropertyGroup>
26+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
27+ <PlatformTarget>AnyCPU</PlatformTarget>
28+ <DebugType>pdbonly</DebugType>
29+ <Optimize>true</Optimize>
30+ <OutputPath>bin\Release\</OutputPath>
31+ <DefineConstants>TRACE</DefineConstants>
32+ <ErrorReport>prompt</ErrorReport>
33+ <WarningLevel>4</WarningLevel>
34+ </PropertyGroup>
35+ <ItemGroup>
36+ <Reference Include="System" />
37+ <Reference Include="System.Core" />
38+ <Reference Include="System.Xml.Linq" />
39+ <Reference Include="System.Data.DataSetExtensions" />
40+ <Reference Include="Microsoft.CSharp" />
41+ <Reference Include="System.Data" />
42+ <Reference Include="System.Deployment" />
43+ <Reference Include="System.Drawing" />
44+ <Reference Include="System.Net.Http" />
45+ <Reference Include="System.Windows.Forms" />
46+ <Reference Include="System.Xml" />
47+ </ItemGroup>
48+ <ItemGroup>
49+ <Compile Include="MainForm.cs">
50+ <SubType>Form</SubType>
51+ </Compile>
52+ <Compile Include="MainForm.Designer.cs">
53+ <DependentUpon>MainForm.cs</DependentUpon>
54+ </Compile>
55+ <Compile Include="Program.cs" />
56+ <Compile Include="Properties\AssemblyInfo.cs" />
57+ <EmbeddedResource Include="MainForm.resx">
58+ <DependentUpon>MainForm.cs</DependentUpon>
59+ </EmbeddedResource>
60+ <EmbeddedResource Include="Properties\Resources.resx">
61+ <Generator>ResXFileCodeGenerator</Generator>
62+ <LastGenOutput>Resources.Designer.cs</LastGenOutput>
63+ <SubType>Designer</SubType>
64+ </EmbeddedResource>
65+ <Compile Include="Properties\Resources.Designer.cs">
66+ <AutoGen>True</AutoGen>
67+ <DependentUpon>Resources.resx</DependentUpon>
68+ <DesignTime>True</DesignTime>
69+ </Compile>
70+ <None Include="Properties\Settings.settings">
71+ <Generator>SettingsSingleFileGenerator</Generator>
72+ <LastGenOutput>Settings.Designer.cs</LastGenOutput>
73+ </None>
74+ <Compile Include="Properties\Settings.Designer.cs">
75+ <AutoGen>True</AutoGen>
76+ <DependentUpon>Settings.settings</DependentUpon>
77+ <DesignTimeSharedInput>True</DesignTimeSharedInput>
78+ </Compile>
79+ </ItemGroup>
80+ <ItemGroup>
81+ <None Include="App.config" />
82+ </ItemGroup>
83+ <ItemGroup>
84+ <None Include="NotifyMessage.ico" />
85+ </ItemGroup>
86+ <ItemGroup>
87+ <None Include="NotifyMessageTray.ico" />
88+ </ItemGroup>
89+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
90+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
91+ Other similar extension points exist, see Microsoft.Common.targets.
92+ <Target Name="BeforeBuild">
93+ </Target>
94+ <Target Name="AfterBuild">
95+ </Target>
96+ -->
97+</Project>
\ No newline at end of file
Binary files /dev/null and b/NotifyMessage/NotifyMessage.ico differ
Binary files /dev/null and b/NotifyMessage/NotifyMessageTray.ico differ
--- /dev/null
+++ b/NotifyMessage/Program.cs
@@ -0,0 +1,50 @@
1+using System;
2+using System.Collections.Generic;
3+using System.Linq;
4+using System.Threading.Tasks;
5+using System.Windows.Forms;
6+
7+namespace NotifyMessage
8+{
9+ static class Program
10+ {
11+ // グローバル変数
12+ public static string NotifyMessage = "";
13+ public enum MSGLEVEL : int // MessageLevel
14+ {
15+ INFO = 1,
16+ WARN,
17+ ERR,
18+ };
19+ public static MSGLEVEL msglevel = MSGLEVEL.INFO;
20+
21+ /// <summary>
22+ /// アプリケーションのメイン エントリ ポイントです。
23+ /// </summary>
24+ [STAThread]
25+ static void Main()
26+ {
27+ Application.EnableVisualStyles();
28+ Application.SetCompatibleTextRenderingDefault(false);
29+ // 分けて処理をして最初にフォームを表示しないようにする
30+ // Application.Run(new MainForm());
31+
32+ string[] cmds = System.Environment.GetCommandLineArgs();
33+ for (int i = 1; i < cmds.Length; i++)
34+ {
35+ if (0 <= cmds[i].IndexOf("/ERR", StringComparison.OrdinalIgnoreCase)) msglevel = MSGLEVEL.ERR;
36+ else if (0 <= cmds[i].IndexOf("/WARN", StringComparison.OrdinalIgnoreCase)) msglevel = MSGLEVEL.WARN;
37+ else if (0 <= cmds[i].IndexOf("/INFO", StringComparison.OrdinalIgnoreCase)) msglevel = MSGLEVEL.INFO;
38+ else NotifyMessage = cmds[i];
39+ }
40+
41+ new MainForm();
42+
43+ if (NotifyMessage != "")
44+ {
45+ //Application.Run();
46+ }
47+
48+ }
49+ }
50+}
--- /dev/null
+++ b/NotifyMessage/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
1+using System.Reflection;
2+using System.Runtime.CompilerServices;
3+using System.Runtime.InteropServices;
4+
5+// アセンブリに関する一般情報は以下の属性セットをとおして制御されます。
6+// アセンブリに関連付けられている情報を変更するには、
7+// これらの属性値を変更してください。
8+[assembly: AssemblyTitle("NotifyMessage")]
9+[assembly: AssemblyDescription("")]
10+[assembly: AssemblyConfiguration("")]
11+[assembly: AssemblyCompany("")]
12+[assembly: AssemblyProduct("NotifyMessage")]
13+[assembly: AssemblyCopyright("Copyright © 2015")]
14+[assembly: AssemblyTrademark("")]
15+[assembly: AssemblyCulture("")]
16+
17+// ComVisible を false に設定すると、その型はこのアセンブリ内で COM コンポーネントから
18+// 参照不可能になります。COM からこのアセンブリ内の型にアクセスする場合は、
19+// その型の ComVisible 属性を true に設定してください。
20+[assembly: ComVisible(false)]
21+
22+// このプロジェクトが COM に公開される場合、次の GUID が typelib の ID になります
23+[assembly: Guid("1bf662df-003b-43f9-9e1f-c5fa0cf8092f")]
24+
25+// アセンブリのバージョン情報は次の 4 つの値で構成されています:
26+//
27+// メジャー バージョン
28+// マイナー バージョン
29+// ビルド番号
30+// Revision
31+//
32+// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を
33+// 既定値にすることができます:
34+// [assembly: AssemblyVersion("1.0.*")]
35+[assembly: AssemblyVersion("1.0.0.*")]
36+[assembly: AssemblyFileVersion("1.0.0.0")]
--- /dev/null
+++ b/NotifyMessage/Properties/Resources.Designer.cs
@@ -0,0 +1,83 @@
1+//------------------------------------------------------------------------------
2+// <auto-generated>
3+// このコードはツールによって生成されました。
4+// ランタイム バージョン:4.0.30319.42000
5+//
6+// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
7+// コードが再生成されるときに損失したりします。
8+// </auto-generated>
9+//------------------------------------------------------------------------------
10+
11+namespace NotifyMessage.Properties {
12+ using System;
13+
14+
15+ /// <summary>
16+ /// ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
17+ /// </summary>
18+ // このクラスは StronglyTypedResourceBuilder クラスが ResGen
19+ // または Visual Studio のようなツールを使用して自動生成されました。
20+ // メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に
21+ // ResGen を実行し直すか、または VS プロジェクトをビルドし直します。
22+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25+ internal class Resources {
26+
27+ private static global::System.Resources.ResourceManager resourceMan;
28+
29+ private static global::System.Globalization.CultureInfo resourceCulture;
30+
31+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32+ internal Resources() {
33+ }
34+
35+ /// <summary>
36+ /// このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。
37+ /// </summary>
38+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39+ internal static global::System.Resources.ResourceManager ResourceManager {
40+ get {
41+ if (object.ReferenceEquals(resourceMan, null)) {
42+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("NotifyMessage.Properties.Resources", typeof(Resources).Assembly);
43+ resourceMan = temp;
44+ }
45+ return resourceMan;
46+ }
47+ }
48+
49+ /// <summary>
50+ /// 厳密に型指定されたこのリソース クラスを使用して、すべての検索リソースに対し、
51+ /// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
52+ /// </summary>
53+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54+ internal static global::System.Globalization.CultureInfo Culture {
55+ get {
56+ return resourceCulture;
57+ }
58+ set {
59+ resourceCulture = value;
60+ }
61+ }
62+
63+ /// <summary>
64+ /// (アイコン) に類似した型 System.Drawing.Icon のローカライズされたリソースを検索します。
65+ /// </summary>
66+ internal static System.Drawing.Icon NotifyMessage {
67+ get {
68+ object obj = ResourceManager.GetObject("NotifyMessage", resourceCulture);
69+ return ((System.Drawing.Icon)(obj));
70+ }
71+ }
72+
73+ /// <summary>
74+ /// (アイコン) に類似した型 System.Drawing.Icon のローカライズされたリソースを検索します。
75+ /// </summary>
76+ internal static System.Drawing.Icon NotifyMessageTray {
77+ get {
78+ object obj = ResourceManager.GetObject("NotifyMessageTray", resourceCulture);
79+ return ((System.Drawing.Icon)(obj));
80+ }
81+ }
82+ }
83+}
--- /dev/null
+++ b/NotifyMessage/Properties/Resources.resx
@@ -0,0 +1,127 @@
1+<?xml version="1.0" encoding="utf-8"?>
2+<root>
3+ <!--
4+ Microsoft ResX Schema
5+
6+ Version 2.0
7+
8+ The primary goals of this format is to allow a simple XML format
9+ that is mostly human readable. The generation and parsing of the
10+ various data types are done through the TypeConverter classes
11+ associated with the data types.
12+
13+ Example:
14+
15+ ... ado.net/XML headers & schema ...
16+ <resheader name="resmimetype">text/microsoft-resx</resheader>
17+ <resheader name="version">2.0</resheader>
18+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
19+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
21+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
22+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
23+ <value>[base64 mime encoded serialized .NET Framework object]</value>
24+ </data>
25+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
26+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
27+ <comment>This is a comment</comment>
28+ </data>
29+
30+ There are any number of "resheader" rows that contain simple
31+ name/value pairs.
32+
33+ Each data row contains a name, and value. The row also contains a
34+ type or mimetype. Type corresponds to a .NET class that support
35+ text/value conversion through the TypeConverter architecture.
36+ Classes that don't support this are serialized and stored with the
37+ mimetype set.
38+
39+ The mimetype is used for serialized objects, and tells the
40+ ResXResourceReader how to depersist the object. This is currently not
41+ extensible. For a given mimetype the value must be set accordingly:
42+
43+ Note - application/x-microsoft.net.object.binary.base64 is the format
44+ that the ResXResourceWriter will generate, however the reader can
45+ read any of the formats listed below.
46+
47+ mimetype: application/x-microsoft.net.object.binary.base64
48+ value : The object must be serialized with
49+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
50+ : and then encoded with base64 encoding.
51+
52+ mimetype: application/x-microsoft.net.object.soap.base64
53+ value : The object must be serialized with
54+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
55+ : and then encoded with base64 encoding.
56+
57+ mimetype: application/x-microsoft.net.object.bytearray.base64
58+ value : The object must be serialized into a byte array
59+ : using a System.ComponentModel.TypeConverter
60+ : and then encoded with base64 encoding.
61+ -->
62+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
63+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
64+ <xsd:element name="root" msdata:IsDataSet="true">
65+ <xsd:complexType>
66+ <xsd:choice maxOccurs="unbounded">
67+ <xsd:element name="metadata">
68+ <xsd:complexType>
69+ <xsd:sequence>
70+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
71+ </xsd:sequence>
72+ <xsd:attribute name="name" use="required" type="xsd:string" />
73+ <xsd:attribute name="type" type="xsd:string" />
74+ <xsd:attribute name="mimetype" type="xsd:string" />
75+ <xsd:attribute ref="xml:space" />
76+ </xsd:complexType>
77+ </xsd:element>
78+ <xsd:element name="assembly">
79+ <xsd:complexType>
80+ <xsd:attribute name="alias" type="xsd:string" />
81+ <xsd:attribute name="name" type="xsd:string" />
82+ </xsd:complexType>
83+ </xsd:element>
84+ <xsd:element name="data">
85+ <xsd:complexType>
86+ <xsd:sequence>
87+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
88+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
89+ </xsd:sequence>
90+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
91+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
92+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
93+ <xsd:attribute ref="xml:space" />
94+ </xsd:complexType>
95+ </xsd:element>
96+ <xsd:element name="resheader">
97+ <xsd:complexType>
98+ <xsd:sequence>
99+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
100+ </xsd:sequence>
101+ <xsd:attribute name="name" type="xsd:string" use="required" />
102+ </xsd:complexType>
103+ </xsd:element>
104+ </xsd:choice>
105+ </xsd:complexType>
106+ </xsd:element>
107+ </xsd:schema>
108+ <resheader name="resmimetype">
109+ <value>text/microsoft-resx</value>
110+ </resheader>
111+ <resheader name="version">
112+ <value>2.0</value>
113+ </resheader>
114+ <resheader name="reader">
115+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116+ </resheader>
117+ <resheader name="writer">
118+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119+ </resheader>
120+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
121+ <data name="NotifyMessage" type="System.Resources.ResXFileRef, System.Windows.Forms">
122+ <value>..\NotifyMessage.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
123+ </data>
124+ <data name="NotifyMessageTray" type="System.Resources.ResXFileRef, System.Windows.Forms">
125+ <value>..\NotifyMessageTray.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
126+ </data>
127+</root>
\ No newline at end of file
--- /dev/null
+++ b/NotifyMessage/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
1+//------------------------------------------------------------------------------
2+// <auto-generated>
3+// This code was generated by a tool.
4+// Runtime Version:4.0.30319.42000
5+//
6+// Changes to this file may cause incorrect behavior and will be lost if
7+// the code is regenerated.
8+// </auto-generated>
9+//------------------------------------------------------------------------------
10+
11+namespace NotifyMessage.Properties
12+{
13+
14+
15+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18+ {
19+
20+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21+
22+ public static Settings Default
23+ {
24+ get
25+ {
26+ return defaultInstance;
27+ }
28+ }
29+ }
30+}
--- /dev/null
+++ b/NotifyMessage/Properties/Settings.settings
@@ -0,0 +1,7 @@
1+<?xml version='1.0' encoding='utf-8'?>
2+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
3+ <Profiles>
4+ <Profile Name="(Default)" />
5+ </Profiles>
6+ <Settings />
7+</SettingsFile>
--- /dev/null
+++ b/readme.txt
@@ -0,0 +1,38 @@
1+NotifyMessage
2+
3+ Notifiying a message in Action center.
4+
5+ Copyright © 2015 T.S. All rights reserved.
6+
7+ Installing:
8+ You can copy NotifyMessage files to any folder.
9+ NotifyMessage can work any folder. It never use any registry-key.
10+ You need .NET Framework 4.5.
11+
12+ Files:
13+ NotifyMessage.exe
14+ sample.lnk
15+ readme.txt
16+
17+ Usage:
18+ NotifyMessage.exe [opt] "Your message"
19+ [NOTE]
20+ You might be better to use shortcut files. See sample.lnk property.
21+ Option:
22+ /INFO(default) | /WARN | /ERR
23+
24+Thanks to Microsoft Corporation.
25+ This program has been developed on
26+ Visual Studio Community 2015
27+ Windows10 Professional 64bit.
28+
29+Rlease & modify
30+ --- Date --- Ver. -- Modify --
31+ 2015/09/10 Start developping.
32+ 2015/09/12 1.0.0 First release.
33+
34+
35+
36+
37+
38+