OSDN Git Service

The first commit in git. master
authoryuuAn <berkana@yuuan.net>
Wed, 14 Aug 2013 16:43:06 +0000 (01:43 +0900)
committeryuuAn <berkana@yuuan.net>
Wed, 14 Aug 2013 16:43:06 +0000 (01:43 +0900)
37 files changed:
ShortenTray.sln [new file with mode: 0644]
ShortenTray/MainForm.Designer.cs [new file with mode: 0644]
ShortenTray/MainForm.cs [new file with mode: 0644]
ShortenTray/MainForm.resx [new file with mode: 0644]
ShortenTray/Program.cs [new file with mode: 0644]
ShortenTray/Properties/AssemblyInfo.cs [new file with mode: 0644]
ShortenTray/Properties/Resources.Designer.cs [new file with mode: 0644]
ShortenTray/Properties/Resources.resx [new file with mode: 0644]
ShortenTray/Properties/Settings.Designer.cs [new file with mode: 0644]
ShortenTray/Properties/Settings.settings [new file with mode: 0644]
ShortenTray/Setting.cs [new file with mode: 0644]
ShortenTray/SettingForm.Designer.cs [new file with mode: 0644]
ShortenTray/SettingForm.cs [new file with mode: 0644]
ShortenTray/SettingForm.resx [new file with mode: 0644]
ShortenTray/ShortenTray.csproj [new file with mode: 0644]
ShortenTray/ShortenTray.csproj.user [new file with mode: 0644]
ShortenTray/bin/Debug/ShortenTray.exe [new file with mode: 0644]
ShortenTray/bin/Debug/ShortenTray.pdb [new file with mode: 0644]
ShortenTray/bin/Debug/ShortenTray.vshost.exe [new file with mode: 0644]
ShortenTray/bin/Debug/ShortenTray.vshost.exe.manifest [new file with mode: 0644]
ShortenTray/bin/Debug/ShortenTray.xml [new file with mode: 0644]
ShortenTray/bin/Release/ShortenTray.exe [new file with mode: 0644]
ShortenTray/bin/Release/ShortenTray.pdb [new file with mode: 0644]
ShortenTray/obj/Debug/ShortenTray.MainForm.resources [new file with mode: 0644]
ShortenTray/obj/Debug/ShortenTray.Properties.Resources.resources [new file with mode: 0644]
ShortenTray/obj/Debug/ShortenTray.SettingForm.resources [new file with mode: 0644]
ShortenTray/obj/Debug/ShortenTray.csproj.FileListAbsolute.txt [new file with mode: 0644]
ShortenTray/obj/Debug/ShortenTray.csproj.GenerateResource.Cache [new file with mode: 0644]
ShortenTray/obj/Debug/ShortenTray.exe [new file with mode: 0644]
ShortenTray/obj/Debug/ShortenTray.pdb [new file with mode: 0644]
ShortenTray/obj/Release/ShortenTray.MainForm.resources [new file with mode: 0644]
ShortenTray/obj/Release/ShortenTray.Properties.Resources.resources [new file with mode: 0644]
ShortenTray/obj/Release/ShortenTray.SettingForm.resources [new file with mode: 0644]
ShortenTray/obj/Release/ShortenTray.csproj.FileListAbsolute.txt [new file with mode: 0644]
ShortenTray/obj/Release/ShortenTray.csproj.GenerateResource.Cache [new file with mode: 0644]
ShortenTray/obj/Release/ShortenTray.exe [new file with mode: 0644]
ShortenTray/obj/Release/ShortenTray.pdb [new file with mode: 0644]

diff --git a/ShortenTray.sln b/ShortenTray.sln
new file mode 100644 (file)
index 0000000..09e7bfc
--- /dev/null
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual C# Express 2008
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShortenTray", "ShortenTray\ShortenTray.csproj", "{4909A17B-831C-452C-A050-7FCB7450E1AB}"
+EndProject
+Global
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               Debug|Any CPU = Debug|Any CPU
+               Release|Any CPU = Release|Any CPU
+       EndGlobalSection
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {4909A17B-831C-452C-A050-7FCB7450E1AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {4909A17B-831C-452C-A050-7FCB7450E1AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {4909A17B-831C-452C-A050-7FCB7450E1AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {4909A17B-831C-452C-A050-7FCB7450E1AB}.Release|Any CPU.Build.0 = Release|Any CPU
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
+       EndGlobalSection
+EndGlobal
diff --git a/ShortenTray/MainForm.Designer.cs b/ShortenTray/MainForm.Designer.cs
new file mode 100644 (file)
index 0000000..7d45bc1
--- /dev/null
@@ -0,0 +1,134 @@
+namespace ShortenTray
+{
+       partial class MainForm
+       {
+               /// <summary>
+               /// 必要なデザイナ変数です。
+               /// </summary>
+               private System.ComponentModel.IContainer components = null;
+
+               /// <summary>
+               /// 使用中のリソースをすべてクリーンアップします。
+               /// </summary>
+               /// <param name="disposing">マネージ リソースが破棄される場合 true、破棄されない場合は false です。</param>
+               protected override void Dispose(bool disposing) {
+                       if (disposing && (components != null)) {
+                               components.Dispose();
+                       }
+                       base.Dispose(disposing);
+               }
+
+               #region Windows フォーム デザイナで生成されたコード
+
+               /// <summary>
+               /// デザイナ サポートに必要なメソッドです。このメソッドの内容を
+               /// コード エディタで変更しないでください。
+               /// </summary>
+               private void InitializeComponent() {
+                       this.components = new System.ComponentModel.Container();
+                       System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+                       this.labelTitle = new System.Windows.Forms.Label();
+                       this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
+                       this.contextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
+                       this.menuItemShorten = new System.Windows.Forms.ToolStripMenuItem();
+                       this.menuItemOption = new System.Windows.Forms.ToolStripMenuItem();
+                       this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
+                       this.menuItemExit = new System.Windows.Forms.ToolStripMenuItem();
+                       this.timer = new System.Windows.Forms.Timer(this.components);
+                       this.contextMenuStrip.SuspendLayout();
+                       this.SuspendLayout();
+                       // 
+                       // labelTitle
+                       // 
+                       this.labelTitle.Dock = System.Windows.Forms.DockStyle.Fill;
+                       this.labelTitle.Location = new System.Drawing.Point(0, 0);
+                       this.labelTitle.Name = "labelTitle";
+                       this.labelTitle.Size = new System.Drawing.Size(144, 52);
+                       this.labelTitle.TabIndex = 0;
+                       this.labelTitle.Text = "ShortenTray";
+                       this.labelTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+                       // 
+                       // notifyIcon
+                       // 
+                       this.notifyIcon.ContextMenuStrip = this.contextMenuStrip;
+                       this.notifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon.Icon")));
+                       this.notifyIcon.Text = "ShortenTray";
+                       this.notifyIcon.Visible = true;
+                       this.notifyIcon.MouseUp += new System.Windows.Forms.MouseEventHandler(this.notifyIcon_MouseUp);
+                       // 
+                       // contextMenuStrip
+                       // 
+                       this.contextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.menuItemShorten,
+            this.menuItemOption,
+            this.toolStripMenuItem1,
+            this.menuItemExit});
+                       this.contextMenuStrip.Name = "contextMenuStrip";
+                       this.contextMenuStrip.Size = new System.Drawing.Size(182, 76);
+                       // 
+                       // menuItemShorten
+                       // 
+                       this.menuItemShorten.Font = new System.Drawing.Font("メイリオ", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+                       this.menuItemShorten.Name = "menuItemShorten";
+                       this.menuItemShorten.Size = new System.Drawing.Size(181, 22);
+                       this.menuItemShorten.Text = "URLを短縮する(&C)";
+                       this.menuItemShorten.Click += new System.EventHandler(this.menuItemShorten_Click);
+                       // 
+                       // menuItemOption
+                       // 
+                       this.menuItemOption.Name = "menuItemOption";
+                       this.menuItemOption.Size = new System.Drawing.Size(181, 22);
+                       this.menuItemOption.Text = "設定(&S)...";
+                       this.menuItemOption.Click += new System.EventHandler(this.menuItemOption_Click);
+                       // 
+                       // toolStripMenuItem1
+                       // 
+                       this.toolStripMenuItem1.Name = "toolStripMenuItem1";
+                       this.toolStripMenuItem1.Size = new System.Drawing.Size(178, 6);
+                       // 
+                       // menuItemExit
+                       // 
+                       this.menuItemExit.Name = "menuItemExit";
+                       this.menuItemExit.Size = new System.Drawing.Size(181, 22);
+                       this.menuItemExit.Text = "終了(&X)";
+                       this.menuItemExit.Click += new System.EventHandler(this.menuItemExit_Click);
+                       // 
+                       // MainForm
+                       // 
+                       this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F);
+                       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+                       this.BackColor = System.Drawing.Color.White;
+                       this.ClientSize = new System.Drawing.Size(144, 52);
+                       this.Controls.Add(this.labelTitle);
+                       this.Enabled = false;
+                       this.Font = new System.Drawing.Font("メイリオ", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+                       this.ForeColor = System.Drawing.Color.RoyalBlue;
+                       this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
+                       this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.MaximizeBox = false;
+                       this.MinimizeBox = false;
+                       this.Name = "MainForm";
+                       this.ShowInTaskbar = false;
+                       this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+                       this.Text = "ShortenTray";
+                       this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
+                       this.Load += new System.EventHandler(this.MainForm_Load);
+                       this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
+                       this.contextMenuStrip.ResumeLayout(false);
+                       this.ResumeLayout(false);
+
+               }
+
+               #endregion
+
+               private System.Windows.Forms.Label labelTitle;
+               private System.Windows.Forms.NotifyIcon notifyIcon;
+               private System.Windows.Forms.ContextMenuStrip contextMenuStrip;
+               private System.Windows.Forms.ToolStripMenuItem menuItemShorten;
+               private System.Windows.Forms.ToolStripMenuItem menuItemOption;
+               private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
+               private System.Windows.Forms.ToolStripMenuItem menuItemExit;
+               private System.Windows.Forms.Timer timer;
+       }
+}
+
diff --git a/ShortenTray/MainForm.cs b/ShortenTray/MainForm.cs
new file mode 100644 (file)
index 0000000..5f5bc2a
--- /dev/null
@@ -0,0 +1,162 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using System.IO;
+using System.Net;
+using System.Xml;
+using System.Xml.Serialization;
+using System.Text.RegularExpressions;
+using Microsoft.JScript;
+using Microsoft.Vsa;
+
+namespace ShortenTray
+{
+       public partial class MainForm : Form
+       {
+               private ApplicationSetting setting = new ApplicationSetting();
+
+               private void SaveSetting() {
+                       try {
+                               XmlSerializer sirializer = new XmlSerializer(typeof(ApplicationSetting));
+                               FileStream stream = new FileStream("ShortenTray.xml", FileMode.Create);
+                               sirializer.Serialize(stream, this.setting);
+                               stream.Close();
+                       }
+                       catch { }
+               }
+
+               private void LoadSettings() {
+                       try {
+                               XmlSerializer serializer = new XmlSerializer(typeof(ApplicationSetting));
+                               FileStream stream = new FileStream("ShortenTray.xml", FileMode.Open);
+                               this.setting = (ApplicationSetting)serializer.Deserialize(stream);
+                       }
+                       catch {
+                               this.setting = new ApplicationSetting();
+                               ShowOptionDialog();
+                       }
+               }
+
+               private void ShowOptionDialog() {
+                       SettingForm dialog = new SettingForm(this.setting);
+                       DialogResult result = dialog.ShowDialog(this);
+                       if (result == DialogResult.OK) {
+                               this.setting = dialog.GetSetting();
+                               SaveSetting();
+                       }
+               }
+
+               public MainForm() {
+                       InitializeComponent();
+                       this.Enabled = false;
+               }
+
+               private void MainForm_Load(object sender, EventArgs e) {
+                       LoadSettings();
+               }
+
+               private void menuItemOption_Click(object sender, EventArgs e) {
+                       ShowOptionDialog();
+               }
+
+               private void menuItemShorten_Click(object sender, EventArgs e) {
+                       Shorten();
+               }
+
+               private void menuItemExit_Click(object sender, EventArgs e) {
+                       notifyIcon.Visible = false;
+                       this.Close();
+               }
+
+               private void notifyIcon_MouseUp(object sender, MouseEventArgs e) {
+                       if (e.Button == MouseButtons.Left) {
+                               Shorten();
+                       }
+               }
+
+               private void Shorten() {
+                       string clipboard = null, planeText = null;
+                       if (Clipboard.ContainsText()) {
+                               clipboard = Clipboard.GetText();
+                               planeText = clipboard.Replace("\r", "").Replace("\n", "").Replace("\t", "").Replace(" ", "").Replace(" ", "").Replace(",", "");
+                       }
+
+                       if (clipboard != null && planeText != null && planeText.Length > 0) {
+                               clipboard = clipboard.Replace(",", "");
+                               Regex regex = new Regex(@"^[\d()+\-*/.&|]+$", RegexOptions.IgnoreCase & RegexOptions.Singleline);
+                               if (regex.IsMatch(planeText)) {
+                                       try {
+                                               string result = Calc(clipboard);
+                                               if (result != null && result.Length > 0) {
+                                                       Clipboard.SetDataObject(result, true);
+                                                       notifyIcon.ShowBalloonTip(8000, "計算結果", result, ToolTipIcon.Info);
+                                               }
+                                       }
+                                       catch (Exception e) {
+                                               notifyIcon.ShowBalloonTip(3000, "計算に失敗しました。", e.Message, ToolTipIcon.Error);
+                                       }
+                               }
+                               else {
+                                       try {
+                                               string result = ShortenURL(clipboard);
+                                               if (result != null && result.Length > 0 && clipboard != result) {
+                                                       Clipboard.SetDataObject(result, true);
+                                                       notifyIcon.ShowBalloonTip(8000, "短縮しました", result, ToolTipIcon.Info);
+                                               }
+                                               else {
+                                                       notifyIcon.ShowBalloonTip(3000, "短縮に失敗しました。", clipboard, ToolTipIcon.Warning);
+                                               }
+                                       }
+                                       catch {
+                                               notifyIcon.ShowBalloonTip(3000, "エラー", "短縮に失敗しました。", ToolTipIcon.Error);
+                                       }
+                               }
+                       }
+                       else {
+                               notifyIcon.ShowBalloonTip(3000, "", "クリップボードにURLがありません。", ToolTipIcon.Warning);
+                       }
+               }
+
+               private string ShortenURL(string longUrl) {
+                       string requestUrl = @"http://api.bit.ly/v3/shorten?login=" + this.setting.user
+                               + "&apiKey=" + this.setting.apikey + "&longUrl=" + Uri.EscapeUriString(longUrl) + "&format=xml";
+
+                       WebRequest req = WebRequest.Create(requestUrl);
+                       HttpWebResponse res = (HttpWebResponse)req.GetResponse();
+
+                       if (res.StatusCode != HttpStatusCode.OK) {
+                               throw new Exception("認証に失敗しました。");
+                       }
+
+                       Stream stream = res.GetResponseStream();
+                       StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("UTF-8"));
+                       string xml = reader.ReadToEnd();
+                       reader.Close();
+                       stream.Close();
+
+                       Regex regex = new Regex(@"<url>(.*?)</url>", RegexOptions.IgnoreCase);
+                       Match match = regex.Match(xml);
+                       if (match.Success && match.Groups.Count > 1) {
+                               string shortUrl = match.Groups[1].Value;
+                               return shortUrl;
+                       }
+
+                       return null;
+               }
+
+               private string Calc(string expression) {
+                       Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
+                       string result = Microsoft.JScript.Eval.JScriptEvaluate(expression, ve).ToString();
+                       return result;
+               }
+
+               private void MainForm_FormClosed(object sender, FormClosedEventArgs e) {
+                       SaveSetting();
+               }
+       }
+}
diff --git a/ShortenTray/MainForm.resx b/ShortenTray/MainForm.resx
new file mode 100644 (file)
index 0000000..422ff00
--- /dev/null
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="notifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>136, 17</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="notifyIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhlE/w3H08xtBYHA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AADQWBwP2Xc5xt6JS/AAAAAAAAAAAAAAAAAAAAAA4pJK3ueoaP/cgD3G0VseEgAAAAAAAAAAAAAAAAAA
+        AADUZCES3IA9xuWjZf/dhEXeAAAAAAAAAAAAAAAAAAAAANlzJxvilUve6Kpq/+KZUvfSXh9YAAAAAAAA
+        AADZcydY5Z9V9+iqav/gjkje0l4fGwAAAAAAAAAAAAAAAAAAAAAAAAAA2ncpM+alWPvpsnX/45lR8dRi
+        IAYAAAAA56dX8ey4ef/mpVj71mwlMwAAAAAAAAAAAAAAAAAAAAAAAAAA3oQuG+aiUN7qtXH/56VY99hw
+        J1gAAAAAAAAAAN6ELljpq1v36rVx/+WaTt7YcCcbAAAAAAAAAAAAAAAAAAAAAOmqVN7su3b/5ZtIxtx9
+        KxIAAAAAAAAAAAAAAAAAAAAA3oYvEuWbSMbrtnL/5Z1P3gAAAAAAAAAAAAAAAAAAAADrs17w56NLxuCJ
+        MA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgiTAP5Z5JxueqWPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOGMMQ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAA/////////////////////8fj///Dw///wYP//+CH///Bg///w8P//8fj////9///////////
+        /////////////w==
+</value>
+  </data>
+  <metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>293, 17</value>
+  </metadata>
+</root>
\ No newline at end of file
diff --git a/ShortenTray/Program.cs b/ShortenTray/Program.cs
new file mode 100644 (file)
index 0000000..de21310
--- /dev/null
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+
+namespace ShortenTray
+{
+       static class Program
+       {
+               /// <summary>
+               /// アプリケーションのメイン エントリ ポイントです。
+               /// </summary>
+               [STAThread]
+               static void Main() {
+                       Application.EnableVisualStyles();
+                       Application.SetCompatibleTextRenderingDefault(false);
+                       Application.Run(new MainForm());
+               }
+       }
+}
diff --git a/ShortenTray/Properties/AssemblyInfo.cs b/ShortenTray/Properties/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..3f64c31
--- /dev/null
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// アセンブリに関する一般情報は以下の属性セットをとおして制御されます。
+// アセンブリに関連付けられている情報を変更するには、
+// これらの属性値を変更してください。
+[assembly: AssemblyTitle("ShortenTray")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("ShortenTray")]
+[assembly: AssemblyCopyright("Copyright ©  2013")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// ComVisible を false に設定すると、その型はこのアセンブリ内で COM コンポーネントから 
+// 参照不可能になります。COM からこのアセンブリ内の型にアクセスする場合は、
+// その型の ComVisible 属性を true に設定してください。
+[assembly: ComVisible(false)]
+
+// 次の GUID は、このプロジェクトが COM に公開される場合の、typelib の ID です
+[assembly: Guid("538cf8a6-88b1-4f0a-8e73-625deb996841")]
+
+// アセンブリのバージョン情報は、以下の 4 つの値で構成されています:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を 
+// 既定値にすることができます:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/ShortenTray/Properties/Resources.Designer.cs b/ShortenTray/Properties/Resources.Designer.cs
new file mode 100644 (file)
index 0000000..0903e98
--- /dev/null
@@ -0,0 +1,64 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     このコードはツールによって生成されました。
+//     ランタイム バージョン:2.0.50727.5466
+//
+//     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
+//     コードが再生成されるときに損失したりします
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace ShortenTray.Properties
+{
+
+
+       /// <summary>
+       ///   ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
+       /// </summary>
+       // このクラスは StronglyTypedResourceBuilder クラスが ResGen
+       // または Visual Studio のようなツールを使用して自動生成されました。
+       // メンバを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に
+       // ResGen を実行し直すか、または VS プロジェクトをビルドし直します。
+       [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+       internal class Resources
+       {
+
+               private static global::System.Resources.ResourceManager resourceMan;
+
+               private static global::System.Globalization.CultureInfo resourceCulture;
+
+               [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+               internal Resources() {
+               }
+
+               /// <summary>
+               ///   このクラスに使用される、キャッシュされた ResourceManager のインスタンスを返します。
+               /// </summary>
+               [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+               internal static global::System.Resources.ResourceManager ResourceManager {
+                       get {
+                               if ((resourceMan == null)) {
+                                       global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ShortenTray.Properties.Resources", typeof(Resources).Assembly);
+                                       resourceMan = temp;
+                               }
+                               return resourceMan;
+                       }
+               }
+
+               /// <summary>
+               ///   厳密に型指定されたこのリソース クラスを使用して、すべての検索リソースに対し、
+               ///   現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
+               /// </summary>
+               [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+               internal static global::System.Globalization.CultureInfo Culture {
+                       get {
+                               return resourceCulture;
+                       }
+                       set {
+                               resourceCulture = value;
+                       }
+               }
+       }
+}
diff --git a/ShortenTray/Properties/Resources.resx b/ShortenTray/Properties/Resources.resx
new file mode 100644 (file)
index 0000000..af7dbeb
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/ShortenTray/Properties/Settings.Designer.cs b/ShortenTray/Properties/Settings.Designer.cs
new file mode 100644 (file)
index 0000000..ba6f902
--- /dev/null
@@ -0,0 +1,28 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:2.0.50727.5466
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace ShortenTray.Properties
+{
+
+
+       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+       [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
+       internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+       {
+
+               private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+               public static Settings Default {
+                       get {
+                               return defaultInstance;
+                       }
+               }
+       }
+}
diff --git a/ShortenTray/Properties/Settings.settings b/ShortenTray/Properties/Settings.settings
new file mode 100644 (file)
index 0000000..3964565
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>
diff --git a/ShortenTray/Setting.cs b/ShortenTray/Setting.cs
new file mode 100644 (file)
index 0000000..e048a14
--- /dev/null
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace ShortenTray
+{
+       public class ApplicationSetting
+       {
+               public string user;
+               public string apikey;
+       }
+}
diff --git a/ShortenTray/SettingForm.Designer.cs b/ShortenTray/SettingForm.Designer.cs
new file mode 100644 (file)
index 0000000..5e8f011
--- /dev/null
@@ -0,0 +1,160 @@
+namespace ShortenTray
+{
+       partial class SettingForm
+       {
+               /// <summary>
+               /// 必要なデザイナ変数です。
+               /// </summary>
+               private System.ComponentModel.IContainer components = null;
+
+               /// <summary>
+               /// 使用中のリソースをすべてクリーンアップします。
+               /// </summary>
+               /// <param name="disposing">マネージ リソースが破棄される場合 true、破棄されない場合は false です。</param>
+               protected override void Dispose(bool disposing) {
+                       if (disposing && (components != null)) {
+                               components.Dispose();
+                       }
+                       base.Dispose(disposing);
+               }
+
+               #region Windows フォーム デザイナで生成されたコード
+
+               /// <summary>
+               /// デザイナ サポートに必要なメソッドです。このメソッドの内容を
+               /// コード エディタで変更しないでください。
+               /// </summary>
+               private void InitializeComponent() {
+                       System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingForm));
+                       this.buttonOk = new System.Windows.Forms.Button();
+                       this.buttonCancel = new System.Windows.Forms.Button();
+                       this.groupBox1 = new System.Windows.Forms.GroupBox();
+                       this.label1 = new System.Windows.Forms.Label();
+                       this.label2 = new System.Windows.Forms.Label();
+                       this.textBoxUser = new System.Windows.Forms.TextBox();
+                       this.textBoxApiKey = new System.Windows.Forms.TextBox();
+                       this.linkLabel = new System.Windows.Forms.LinkLabel();
+                       this.groupBox1.SuspendLayout();
+                       this.SuspendLayout();
+                       // 
+                       // buttonOk
+                       // 
+                       this.buttonOk.Location = new System.Drawing.Point(152, 128);
+                       this.buttonOk.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.buttonOk.Name = "buttonOk";
+                       this.buttonOk.Size = new System.Drawing.Size(108, 32);
+                       this.buttonOk.TabIndex = 0;
+                       this.buttonOk.Text = "OK";
+                       this.buttonOk.UseVisualStyleBackColor = true;
+                       this.buttonOk.Click += new System.EventHandler(this.buttonOk_Click);
+                       // 
+                       // buttonCancel
+                       // 
+                       this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+                       this.buttonCancel.Location = new System.Drawing.Point(272, 128);
+                       this.buttonCancel.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.buttonCancel.Name = "buttonCancel";
+                       this.buttonCancel.Size = new System.Drawing.Size(112, 32);
+                       this.buttonCancel.TabIndex = 1;
+                       this.buttonCancel.Text = "キャンセル";
+                       this.buttonCancel.UseVisualStyleBackColor = true;
+                       this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
+                       // 
+                       // groupBox1
+                       // 
+                       this.groupBox1.Controls.Add(this.textBoxApiKey);
+                       this.groupBox1.Controls.Add(this.textBoxUser);
+                       this.groupBox1.Controls.Add(this.label2);
+                       this.groupBox1.Controls.Add(this.label1);
+                       this.groupBox1.Location = new System.Drawing.Point(8, 8);
+                       this.groupBox1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.groupBox1.Name = "groupBox1";
+                       this.groupBox1.Padding = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.groupBox1.Size = new System.Drawing.Size(376, 104);
+                       this.groupBox1.TabIndex = 2;
+                       this.groupBox1.TabStop = false;
+                       this.groupBox1.Text = "bit.lyの設定";
+                       // 
+                       // label1
+                       // 
+                       this.label1.AutoSize = true;
+                       this.label1.Location = new System.Drawing.Point(16, 36);
+                       this.label1.Name = "label1";
+                       this.label1.Size = new System.Drawing.Size(44, 18);
+                       this.label1.TabIndex = 0;
+                       this.label1.Text = "User :";
+                       // 
+                       // label2
+                       // 
+                       this.label2.AutoSize = true;
+                       this.label2.Location = new System.Drawing.Point(16, 68);
+                       this.label2.Name = "label2";
+                       this.label2.Size = new System.Drawing.Size(63, 18);
+                       this.label2.TabIndex = 1;
+                       this.label2.Text = "API Key :";
+                       // 
+                       // textBoxUser
+                       // 
+                       this.textBoxUser.Location = new System.Drawing.Point(88, 32);
+                       this.textBoxUser.Name = "textBoxUser";
+                       this.textBoxUser.Size = new System.Drawing.Size(128, 25);
+                       this.textBoxUser.TabIndex = 2;
+                       // 
+                       // textBoxApiKey
+                       // 
+                       this.textBoxApiKey.Location = new System.Drawing.Point(88, 64);
+                       this.textBoxApiKey.Name = "textBoxApiKey";
+                       this.textBoxApiKey.Size = new System.Drawing.Size(272, 25);
+                       this.textBoxApiKey.TabIndex = 3;
+                       // 
+                       // linkLabel
+                       // 
+                       this.linkLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+                       this.linkLabel.AutoSize = true;
+                       this.linkLabel.Location = new System.Drawing.Point(8, 136);
+                       this.linkLabel.Name = "linkLabel";
+                       this.linkLabel.Size = new System.Drawing.Size(129, 18);
+                       this.linkLabel.TabIndex = 10;
+                       this.linkLabel.TabStop = true;
+                       this.linkLabel.Text = "© 2012-2013 yuuAn.";
+                       this.linkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel_LinkClicked);
+                       // 
+                       // SettingForm
+                       // 
+                       this.AcceptButton = this.buttonOk;
+                       this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 18F);
+                       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+                       this.CancelButton = this.buttonCancel;
+                       this.ClientSize = new System.Drawing.Size(394, 172);
+                       this.Controls.Add(this.linkLabel);
+                       this.Controls.Add(this.groupBox1);
+                       this.Controls.Add(this.buttonCancel);
+                       this.Controls.Add(this.buttonOk);
+                       this.Font = new System.Drawing.Font("メイリオ", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+                       this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+                       this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+                       this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.MaximizeBox = false;
+                       this.MinimizeBox = false;
+                       this.Name = "SettingForm";
+                       this.Text = "ShortenTray v.1.0";
+                       this.Load += new System.EventHandler(this.SettingForm_Load);
+                       this.groupBox1.ResumeLayout(false);
+                       this.groupBox1.PerformLayout();
+                       this.ResumeLayout(false);
+                       this.PerformLayout();
+
+               }
+
+               #endregion
+
+               private System.Windows.Forms.Button buttonOk;
+               private System.Windows.Forms.Button buttonCancel;
+               private System.Windows.Forms.GroupBox groupBox1;
+               private System.Windows.Forms.Label label2;
+               private System.Windows.Forms.Label label1;
+               private System.Windows.Forms.TextBox textBoxApiKey;
+               private System.Windows.Forms.TextBox textBoxUser;
+               private System.Windows.Forms.LinkLabel linkLabel;
+       }
+}
\ No newline at end of file
diff --git a/ShortenTray/SettingForm.cs b/ShortenTray/SettingForm.cs
new file mode 100644 (file)
index 0000000..246f7c7
--- /dev/null
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using System.Diagnostics;
+
+namespace ShortenTray
+{
+       public partial class SettingForm : Form
+       {
+               private ApplicationSetting setting;
+
+               public SettingForm(ApplicationSetting setting) {
+                       this.setting = setting;
+                       InitializeComponent();
+               }
+
+               public ApplicationSetting GetSetting() {
+                       return this.setting;
+               }
+
+               private void SettingForm_Load(object sender, EventArgs e) {
+                       this.textBoxUser.Text = this.setting.user;
+                       this.textBoxApiKey.Text = this.setting.apikey;
+               }
+
+               private void buttonCancel_Click(object sender, EventArgs e) {
+                       this.DialogResult = DialogResult.Cancel;
+                       this.Close();
+               }
+
+               private void buttonOk_Click(object sender, EventArgs e) {
+                       this.setting.user = textBoxUser.Text;
+                       this.setting.apikey = textBoxApiKey.Text;
+                       this.DialogResult = DialogResult.OK;
+                       this.Close();
+               }
+
+               private void linkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
+                       Process.Start("http://www.yuuan.net/");
+               }
+       }
+}
diff --git a/ShortenTray/SettingForm.resx b/ShortenTray/SettingForm.resx
new file mode 100644 (file)
index 0000000..f582cf0
--- /dev/null
@@ -0,0 +1,294 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAYAMDAQAAEABABoBgAAZgAAACAgEAABAAQA6AIAAM4GAAAQEBAAAQAEACgBAAC2CQAAMDAAAAEA
+        CACoDgAA3goAACAgAAABAAgAqAgAAIYZAAAQEAAAAQAIAGgFAAAuIgAAKAAAADAAAABgAAAAAQAEAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAADAwMAAgICAAAAA
+        /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiIiIiIiIiIAACIgAAAAAAAAAAAAAAI93d3d3
+        d3cAd3AzB3cAAAAAAAAAAAAAAI93d3d3d3OwB3MzB3AzAAAAAAAAAAAAAI93d3d3d3OwMAMzAAMzAAAA
+        AAAAAAAAAI93/////3OwMzO/AzMzAAAAAAAAAAAAAI93h3d3cAM7AzP7AzPzAAAAAAAAAAAAAI93gP//
+        AzC/sAO/MA+/AzAAAAAAAAAAAI93gP//AzMD+/v7+/swMzAAAAAAAAAAAI93gP//AzM/vwAAAL+wMzAA
+        AAAAAAAAAI93gP//O/v78I94gAv7+/AAAAAAAAAAAI93gAAAMzO/D494gPC/AAAAAAAAAAAAAI93iIiI
+        j3A/8I94gAvzAAAAAAAAAAAAAI93d3d3d3A/v494gL+zAAAAAAAAAAAAAI93d3d3d3P78494gDv7AAAA
+        AAAAAAAAAI93d3d3d3O/AI94gAC/AAAAAAAAAAAAAI93/////3MzAIiIgHgAAAAAAAAAAAAAAI93h3d3
+        f3d/d4//cHgAAAAAAAAAAAAAAI93gPD/f3d/d3iIh3gAAAAAAAAAAAAAAI93gAcPf3d/d3d4B3gAAAAA
+        AAAAAAAAAI93gP9wf3d/d3d4B3gAAAAAAAAAAAAAAI93gP/3f3d/d3d4B3gAAAAAAAAAAAAAAI93gAAA
+        f3d/d3d4B3gAAAAAAAAAAAAAAI93iIiIj3d/////B3gAAAAAAAAAAAAAAI93d3d3d3d3d3d3d3gAAAAA
+        AAAAAAAAAI93d3d3d3d3d3d3d3gAAAAAAAAAAAAAAI93d3d3d3d3d3d3d3gAAAAAAAAAAAAAAI//////
+        //////////8AAAAAAAAAAAAAAIiIiIiIiIiIiIiIiIiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA////////
+        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/wAAAB/8AAP/A
+        AAAH/wAA/8AAAAP/AAD/wAAAAf8AAP/AAAAB/wAA/8AAAAH/AAD/wAAAAH8AAP/AAAAAPwAA/8AAAAA/
+        AAD/wAAAAD8AAP/AAAAAPwAA/8AAAAB/AAD/wAAAAf8AAP/AAAAB/wAA/8AAAAH/AAD/wAAAAf8AAP/A
+        AAAD/wAA/8AAAAf/AAD/wAAAB/8AAP/AAAAH/wAA/8AAAAf/AAD/wAAAB/8AAP/AAAAH/wAA/8AAAAf/
+        AAD/wAAAB/8AAP/AAAAH/wAA/8AAAAf/AAD/wAAAB/8AAP/AAAAH/wAA////////AAD///////8AAP//
+        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
+        AAAoAAAAIAAAAEAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAA
+        AACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMw
+        AAAAAAAAAAAAAAA7AAAzMAADMAAAAAAAAAAAOwMAMzAAMzAAAAAAAAAAADsDMzvwMzMwAAAAAAAIdwAz
+        sDM/sDM/MAAAAAAACHAzC/sAO/MA+/AzAAAAAAhwMzA/v7+/v7MDMwAAAAAIcDMz+/AAAAv7AzMAAAAA
+        CHO/v78I94gAv7+/AAAAAAhzMzvw+PeIDwvwAAAAAAAId3gD/wj3iAC/MAAAAAAACHd3A/v494gL+zAA
+        AAAAAAh3dz+/OPeIA7+wAAAAAAAId3878Aj3iAAL8AAAAAAACHd4Azd4iIgACIAAAAAAAAh3eA8P+P/3
+        AAAAAAAAAAAId3gAcPeIiIAAAAAAAAAACHd4D/cH93eAAAAAAAAAAAh3eA//d/d3gAAAAAAAAAAId3gA
+        AAf3d4AAAAAAAAAACHd4iIiI93eAAAAAAAAAAAh3d3d3d3d3gAAAAAAAAAAIiIiIiIiIiIAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAA//////////////////8P///nDn//www//8AAP/gAAB/4AAAP+AAAB/gA
+        AAf4AAAH+AAAB/gAAA/4AAA/+AAAP/gAAD/4AAA/+AACf/gAA//4AAP/+AAD//gAA//4AAP/+AAD//gA
+        A//4AAP///////////////////////////8oAAAAEAAAACAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A
+        /wD//wAA////AAAAAAAAAAAAiIiIiIAAAACHd3cAcDAAAId//zMAswOwh3gHCzDzOwCHeAAwv7+wMId4
+        ADvwAPswh3iDDwjwAwCHf/8DuPA7AId4BzsI8AMAh3gPM3iHAACHeAB/d3cAAId4iI93dwAAh3d3d3d3
+        AACHd3d3d3cAAIiIiIiIiAAAAAf/AAAH/wAAAf8AAAD/AAAB/wAAAP8AAAD/AAAA/wAAAf8AAAH/AAAH
+        /wAAB/8AAAf/AAAH/wAAB/8AAAf/ACgAAAAwAAAAYAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAD///8AAACAAACAgACAgAAAwMDAAMDcwADwyqYAQICAAEBAAAD/gAAAgEAAAABAgACA//8A//+AAP+A
+        gABAgP8AgYGBAAAAgQAAgYEAgYEAAAAAMwAAAGYAAACZAAAAzAAAMzMAADNmAAAz/wAAZswAAGb/AACZ
+        /wAAzMwAMwAzADMAZgAzAJkAMwDMADMzAAAzMzMAMzNmADMzmQAzM8wAMzP/ADNmZgAzZpkAdMr/ADNm
+        /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzDMAM8yZADPMzAAzzP8AM///AGYAAABmMwAAZjMzAGYz
+        ZgBmM5kAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswzAGbM
+        mQBmzMwATM7/AGb/MwBm/8wAmZkAAJkzmQCZMzMAmWYAAJlmMwCZM2YAmWaZAJlmzACZmTMAmZlmAJmZ
+        mQCZmcwAmZn/AJnMAACZzDMAZsxmAJnMmQCZzMwAmcz/AJnMZgCZ/5kAmf//AMwAmQDMMzMAzDNmAMwz
+        mQDMZgAAzGYzAJlmZgDMZpkAzGbMAMyZAADMmTMAzJlmAMyZmQDMmcwAzJn/AMzMAADMzDMAzMxmAMzM
+        mQDMzMwAzMz/AMz/AADM/zMAmf9mAMz/mQDM/8wAzP//AP8zMwD/M2YA/2YAAP9mMwDMZmYA/2aZAP9m
+        zAD/mQAA/5kzAP+ZZgD/mZkA/5nMAP+Z/wD/zAAA/8wzAP/MZgD/zJkA/8zMAP/M/wD//zMA//+ZAP//
+        zABmZv8AZv//AP//ZgDBwcEAX19fAHd3dwCGhoYAlpaWAMvLywCysrIA19fXAN3d3QDj4+MA6urqAPHx
+        8QD4+PgA8Pv/AKSgoACAgIAAAAD/AAD/AAD/AP8A//8AAHrp/wB9eAAAf39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwAAAAAA////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////0Cbm0D//////////////////////////////////////////////////////////5ubm5v/
+        ////////////////////////////////////////////////nJua/////5tGRpv/////m0BA////////
+        //////////////////////////////+nnZuamv///0c2Nkf///+bnZtAmv//////////////////////
+        //////////////+nnQeamppAm0c2NkeampudnQcHmv////////////////////////////8kJCQkJCSn
+        NjYwmppAm0Y2NkeampudRjU2B/////////////////////////////94nJycnJxLNjY2MUAHRjU2Nkea
+        mgc1NjY1Rv////////////////////////////+hoKCgp52dTDY2NjY2NjY2NjY2NjY2NjX/////////
+        //////////////////////+hoKCcQJqamkc2NjY2YWFhYWFMNjY2NUCampr/////////////////////
+        //////+hoHibQJqamkY2NjZhTEYCAilMNjY2NZqampqa//////////////////////////+hoKBHRjAw
+        MDE2NkxhS0swMAIHTDY2NjAwMDAw//////////////////////////+hoKBMTDY2NjY2NkxkTEswMAIp
+        MTY2NjY2NjY2//////////////////////////+hoKCgYWFhYWE2NkwMTEswMAIpNjY2NgdHR0f/////
+        //////////////////////+hoJujo6OgBzA2NjaXTEswMAIpNjY2KST/////////////////////////
+        //////+hoJufoqIEBwc2NjaXTEswMAIpNjY2MCQk//////////////////////////////+hoJufAAB4
+        MDY2NkwMTEswMAIpTEw2Ngck//////////////////////////////+hoJufAACiTDZMYHgMTEswMAIp
+        m0c2NjYH//////////////////////////////+hoJufAAAAoWF4oHgMTEswMAIpmyRHYTX/////////
+        //////////////////////+hoJubm5ubmwSgoHhkTGRgSzApmyT/////////////////////////////
+        //////+hoKCgoKCgoKCgoHhkfwxMTksHmyT///////////////////////////////////+hoKCgoKCg
+        oKCgoHgFZAwMS0tGmyT///////////////////////////////////+hoKCgoKCgoKCgoHh4eEpKSkp4
+        myT///////////////////////////////////+hoECioqKioqKgoHh4eHh4eHh4myT/////////////
+        //////////////////////+hoECfAJ0AoaKgoHh4eHh4eHh4myT/////////////////////////////
+        //////+hoECfnXidoaKgoJ+fn5+fn594myT///////////////////////////////////+hoECfAACd
+        oaKgoHh4eHh4eHh4myT///////////////////////////////////+hoECfoKCgoKKgoJ+fn5+fn594
+        myT///////////////////////////////////+hoEBAQEBAQJygoHh4eHh4eHh4myT/////////////
+        //////////////////////+hoKCgoKCgoKCgoHh4eHh4eHh4myT/////////////////////////////
+        //////+hoKCgoKCgoKCgoKCgoKCgoKCgmyT///////////////////////////////////+ioqKioqKi
+        oqKioqKioqKioqKiopr/////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////AAD///////8AAP///////wAA////////
+        AAD///////8AAP///////wAA////////AAD///+H//8AAP///4f//wAA///Hh4//AAD//4OHB/8AAP//
+        gAAH/wAA/+AAAAf/AAD/4AAAB/8AAP/gAAAf/wAA/+AAAAP/AAD/4AAAAf8AAP/gAAAB/wAA/+AAAAH/
+        AAD/4AAAA/8AAP/gAAAf/wAA/+AAAA//AAD/4AAAD/8AAP/gAAAP/wAA/+AAAB//AAD/4AAA//8AAP/g
+        AAD//wAA/+AAAP//AAD/4AAA//8AAP/gAAD//wAA/+AAAP//AAD/4AAA//8AAP/gAAD//wAA/+AAAP//
+        AAD/4AAA//8AAP/gAAD//wAA/+AAAP//AAD/4AAA//8AAP///////wAA////////AAD///////8AAP//
+        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA
+        AABAAAAAAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAIAAAICAAICAAADAwMAAwNzAAPDK
+        pgBAgIAAQEAAAP+AAACAQAAAAECAAID//wD//4AA/4CAAECA/wCBgYEAAACBAACBgQCBgQAAAAAzAAAA
+        ZgAAAJkAAADMAAAzMwAAM2YAADP/AABmzAAAZv8AAJn/AADMzAAzADMAMwBmADMAmQAzAMwAMzMAADMz
+        MwAzM2YAMzOZADMzzAAzM/8AM2ZmADNmmQB0yv8AM2b/ADOZAAAzmTMAM5lmADOZmQAzmcwAM5n/ADPM
+        MwAzzJkAM8zMADPM/wAz//8AZgAAAGYzAABmMzMAZjNmAGYzmQBmM/8AZmYAAGZmMwBmZmYAZmaZAGZm
+        zABmmQAAZpkzAGaZZgBmmZkAZpnMAGaZ/wBmzDMAZsyZAGbMzABMzv8AZv8zAGb/zACZmQAAmTOZAJkz
+        MwCZZgAAmWYzAJkzZgCZZpkAmWbMAJmZMwCZmWYAmZmZAJmZzACZmf8AmcwAAJnMMwBmzGYAmcyZAJnM
+        zACZzP8AmcxmAJn/mQCZ//8AzACZAMwzMwDMM2YAzDOZAMxmAADMZjMAmWZmAMxmmQDMZswAzJkAAMyZ
+        MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/
+        zADM//8A/zMzAP8zZgD/ZgAA/2YzAMxmZgD/ZpkA/2bMAP+ZAAD/mTMA/5lmAP+ZmQD/mcwA/5n/AP/M
+        AAD/zDMA/8xmAP/MmQD/zMwA/8z/AP//MwD//5kA///MAGZm/wBm//8A//9mAMHBwQBfX18Ad3d3AIaG
+        hgCWlpYAy8vLALKysgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAP8A
+        /wD//wAAeun/AH14AAB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AAAAAAD/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////0CcQP///////////////////////////////5ua
+        ////m0ab////m0BA//////////////////////+dm5qa//9HNkf//5udm5qa////////////////////
+        /50HmkCam0c2R5qam6cHB5r//////////////yQkJCQkSzYxB0CbNDZHmkBGMTU2Rv//////////////
+        eJycnJxLNjY2NjY2NjY2NjY2Nf////////////////+hoJxAmppHNjY2YWFhYUw2NjVAmpr/////////
+        /////6GgQECaQEY2NkxLRgIpTDY2NUCampr/////////////oaBMRzAwMTZMZExLMAIHTDY2NjY2Nf//
+        //////////+hoKBhNjY2NkxkTEswAikxNjYHR0f//////////////6FAoaOgBzA2NmRMSzACKTY2KST/
+        ////////////////oUCfogQwNTY2ZExLMAIpNjYwKST///////////////+hQJ8AomE2TGBkTEswAilM
+        NTY2B////////////////6FAnwAAoWEEoGRMSzACKZpHYTX/////////////////oUBAQEBABKCgZGFk
+        SzAHmiT///////////////////+hoKCgoKCgoKB4ZAxkS0aaJP///////////////////6GgoKCgoKCg
+        oHigSkpKoJok////////////////////oUChoqGhoqCgeHh4eHh4miT///////////////////+hQJ8E
+        pwCioKCfn5+fn3iaJP///////////////////6FAn6cAnaKgoHh4eHh4eJok////////////////////
+        oUCfoKCgoqCgn5+fn594miT///////////////////+hQEBAQECcoKB4eHh4eHiaJP//////////////
+        /////6GgoKCgoKCgoKCgoKCgoJok////////////////////oqKioqKioqKioqKioqKioZr/////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////////+P///z
+        jj//4Ywf/+AAH/wAAB/8AAB//AAAH/wAAA/8AAAP/AAAH/wAAH/8AAA//AAAP/wAAH/8AAH//AAB//wA
+        Af/8AAH//AAB//wAAf/8AAH//AAB//wAAf/8AAH///////////////////////////8oAAAAEAAAACAA
+        AAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAgAAAgIAAgIAAAMDAwADA3MAA8MqmAECA
+        gABAQAAA/4AAAIBAAAAAQIAAgP//AP//gAD/gIAAQID/AIGBgQAAAIEAAIGBAIGBAAAAADMAAABmAAAA
+        mQAAAMwAADMzAAAzZgAAM/8AAGbMAABm/wAAmf8AAMzMADMAMwAzAGYAMwCZADMAzAAzMwAAMzMzADMz
+        ZgAzM5kAMzPMADMz/wAzZmYAM2aZAHTK/wAzZv8AM5kAADOZMwAzmWYAM5mZADOZzAAzmf8AM8wzADPM
+        mQAzzMwAM8z/ADP//wBmAAAAZjMAAGYzMwBmM2YAZjOZAGYz/wBmZgAAZmYzAGZmZgBmZpkAZmbMAGaZ
+        AABmmTMAZplmAGaZmQBmmcwAZpn/AGbMMwBmzJkAZszMAEzO/wBm/zMAZv/MAJmZAACZM5kAmTMzAJlm
+        AACZZjMAmTNmAJlmmQCZZswAmZkzAJmZZgCZmZkAmZnMAJmZ/wCZzAAAmcwzAGbMZgCZzJkAmczMAJnM
+        /wCZzGYAmf+ZAJn//wDMAJkAzDMzAMwzZgDMM5kAzGYAAMxmMwCZZmYAzGaZAMxmzADMmQAAzJkzAMyZ
+        ZgDMmZkAzJnMAMyZ/wDMzAAAzMwzAMzMZgDMzJkAzMzMAMzM/wDM/wAAzP8zAJn/ZgDM/5kAzP/MAMz/
+        /wD/MzMA/zNmAP9mAAD/ZjMAzGZmAP9mmQD/ZswA/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/M
+        MwD/zGYA/8yZAP/MzAD/zP8A//8zAP//mQD//8wAZmb/AGb//wD//2YAwcHBAF9fXwB3d3cAhoaGAJaW
+        lgDLy8sAsrKyANfX1wDd3d0A4+PjAOrq6gDx8fEA+Pj4APD7/wCkoKAAgICAAAAA/wAA/wAA/wD/AP//
+        AAB66f8AfXgAAH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38Af39/AH9/
+        fwB/f38Af39/AH9/fwB/f38Af39/AH9/fwB/f38AAAAAAP//////////m0D/////////////m5r//0dH
+        //+cQP///yQkJKcwmms2NpqcNgf///94nJxLNjE2NjY2Njb/////oqCamkc2NkspBzYHmpr//6KgSzY2
+        NmFLAik2NjY2//+ioKBhNTZkSwIpNiT/////okCfRjY2ZEsCKTYHJP///6JAnwBheAxLAilGNv////+i
+        QEBAoHhkDEspJP//////oqCgoKCfn0p4myT//////6JAnwCgeHh4eJsk//////+iQJ8AoJ+fn3ibJP//
+        ////okBAQKB4eHh4myT//////6KgoKCgoKCgoJsk//////+ioqKioqKioqKimv//////PwCg8zMBAYAD
+        AQGAB/8AgAEAAIAB/wCABwAAgAP/AIAHAACAD/8AgA8AAIAP/wCADwAAgA//AIAPAACAD/8A
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/ShortenTray/ShortenTray.csproj b/ShortenTray/ShortenTray.csproj
new file mode 100644 (file)
index 0000000..3267e03
--- /dev/null
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{4909A17B-831C-452C-A050-7FCB7450E1AB}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>ShortenTray</RootNamespace>
+    <AssemblyName>ShortenTray</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Microsoft.JScript" />
+    <Reference Include="Microsoft.Vsa" />
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Deployment" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="MainForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="MainForm.Designer.cs">
+      <DependentUpon>MainForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <EmbeddedResource Include="MainForm.resx">
+      <DependentUpon>MainForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingForm.resx">
+      <DependentUpon>SettingForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <Compile Include="Setting.cs" />
+    <Compile Include="SettingForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="SettingForm.Designer.cs">
+      <DependentUpon>SettingForm.cs</DependentUpon>
+    </Compile>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
diff --git a/ShortenTray/ShortenTray.csproj.user b/ShortenTray/ShortenTray.csproj.user
new file mode 100644 (file)
index 0000000..7ff3943
--- /dev/null
@@ -0,0 +1 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
\ No newline at end of file
diff --git a/ShortenTray/bin/Debug/ShortenTray.exe b/ShortenTray/bin/Debug/ShortenTray.exe
new file mode 100644 (file)
index 0000000..041b2a8
Binary files /dev/null and b/ShortenTray/bin/Debug/ShortenTray.exe differ
diff --git a/ShortenTray/bin/Debug/ShortenTray.pdb b/ShortenTray/bin/Debug/ShortenTray.pdb
new file mode 100644 (file)
index 0000000..171d3ef
Binary files /dev/null and b/ShortenTray/bin/Debug/ShortenTray.pdb differ
diff --git a/ShortenTray/bin/Debug/ShortenTray.vshost.exe b/ShortenTray/bin/Debug/ShortenTray.vshost.exe
new file mode 100644 (file)
index 0000000..70862c7
Binary files /dev/null and b/ShortenTray/bin/Debug/ShortenTray.vshost.exe differ
diff --git a/ShortenTray/bin/Debug/ShortenTray.vshost.exe.manifest b/ShortenTray/bin/Debug/ShortenTray.vshost.exe.manifest
new file mode 100644 (file)
index 0000000..061c9ca
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
+  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
+    <security>
+      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
+        <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
+      </requestedPrivileges>
+    </security>
+  </trustInfo>
+</assembly>
diff --git a/ShortenTray/bin/Debug/ShortenTray.xml b/ShortenTray/bin/Debug/ShortenTray.xml
new file mode 100644 (file)
index 0000000..9a97264
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<ApplicationSetting xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <user>yuuan</user>
+  <apikey>R_ed63221ce9a48b2426b405cc8f7b0bc5</apikey>
+</ApplicationSetting>
\ No newline at end of file
diff --git a/ShortenTray/bin/Release/ShortenTray.exe b/ShortenTray/bin/Release/ShortenTray.exe
new file mode 100644 (file)
index 0000000..58639ee
Binary files /dev/null and b/ShortenTray/bin/Release/ShortenTray.exe differ
diff --git a/ShortenTray/bin/Release/ShortenTray.pdb b/ShortenTray/bin/Release/ShortenTray.pdb
new file mode 100644 (file)
index 0000000..c5cda11
Binary files /dev/null and b/ShortenTray/bin/Release/ShortenTray.pdb differ
diff --git a/ShortenTray/obj/Debug/ShortenTray.MainForm.resources b/ShortenTray/obj/Debug/ShortenTray.MainForm.resources
new file mode 100644 (file)
index 0000000..677e6b0
Binary files /dev/null and b/ShortenTray/obj/Debug/ShortenTray.MainForm.resources differ
diff --git a/ShortenTray/obj/Debug/ShortenTray.Properties.Resources.resources b/ShortenTray/obj/Debug/ShortenTray.Properties.Resources.resources
new file mode 100644 (file)
index 0000000..06c24d0
Binary files /dev/null and b/ShortenTray/obj/Debug/ShortenTray.Properties.Resources.resources differ
diff --git a/ShortenTray/obj/Debug/ShortenTray.SettingForm.resources b/ShortenTray/obj/Debug/ShortenTray.SettingForm.resources
new file mode 100644 (file)
index 0000000..d1552c9
Binary files /dev/null and b/ShortenTray/obj/Debug/ShortenTray.SettingForm.resources differ
diff --git a/ShortenTray/obj/Debug/ShortenTray.csproj.FileListAbsolute.txt b/ShortenTray/obj/Debug/ShortenTray.csproj.FileListAbsolute.txt
new file mode 100644 (file)
index 0000000..6f275bc
--- /dev/null
@@ -0,0 +1,9 @@
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Debug\ResolveAssemblyReference.cache
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Debug\ShortenTray.MainForm.resources
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Debug\ShortenTray.Properties.Resources.resources
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Debug\ShortenTray.csproj.GenerateResource.Cache
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\bin\Debug\ShortenTray.exe
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\bin\Debug\ShortenTray.pdb
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Debug\ShortenTray.exe
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Debug\ShortenTray.pdb
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Debug\ShortenTray.SettingForm.resources
diff --git a/ShortenTray/obj/Debug/ShortenTray.csproj.GenerateResource.Cache b/ShortenTray/obj/Debug/ShortenTray.csproj.GenerateResource.Cache
new file mode 100644 (file)
index 0000000..14e9787
Binary files /dev/null and b/ShortenTray/obj/Debug/ShortenTray.csproj.GenerateResource.Cache differ
diff --git a/ShortenTray/obj/Debug/ShortenTray.exe b/ShortenTray/obj/Debug/ShortenTray.exe
new file mode 100644 (file)
index 0000000..041b2a8
Binary files /dev/null and b/ShortenTray/obj/Debug/ShortenTray.exe differ
diff --git a/ShortenTray/obj/Debug/ShortenTray.pdb b/ShortenTray/obj/Debug/ShortenTray.pdb
new file mode 100644 (file)
index 0000000..171d3ef
Binary files /dev/null and b/ShortenTray/obj/Debug/ShortenTray.pdb differ
diff --git a/ShortenTray/obj/Release/ShortenTray.MainForm.resources b/ShortenTray/obj/Release/ShortenTray.MainForm.resources
new file mode 100644 (file)
index 0000000..677e6b0
Binary files /dev/null and b/ShortenTray/obj/Release/ShortenTray.MainForm.resources differ
diff --git a/ShortenTray/obj/Release/ShortenTray.Properties.Resources.resources b/ShortenTray/obj/Release/ShortenTray.Properties.Resources.resources
new file mode 100644 (file)
index 0000000..06c24d0
Binary files /dev/null and b/ShortenTray/obj/Release/ShortenTray.Properties.Resources.resources differ
diff --git a/ShortenTray/obj/Release/ShortenTray.SettingForm.resources b/ShortenTray/obj/Release/ShortenTray.SettingForm.resources
new file mode 100644 (file)
index 0000000..d1552c9
Binary files /dev/null and b/ShortenTray/obj/Release/ShortenTray.SettingForm.resources differ
diff --git a/ShortenTray/obj/Release/ShortenTray.csproj.FileListAbsolute.txt b/ShortenTray/obj/Release/ShortenTray.csproj.FileListAbsolute.txt
new file mode 100644 (file)
index 0000000..16f74fb
--- /dev/null
@@ -0,0 +1,11 @@
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\bin\Release\ShortenTray.exe
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\bin\Release\ShortenTray.pdb
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Release\ResolveAssemblyReference.cache
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Release\ShortenTray.MainForm.resources
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Release\ShortenTray.Properties.Resources.resources
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Release\ShortenTray.SettingForm.resources
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Release\ShortenTray.csproj.GenerateResource.Cache
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Release\ShortenTray.exe
+E:\Programming Sources\Windows Application\Visual C# 2008\ShortenTray\ShortenTray\obj\Release\ShortenTray.pdb
+E:\Programming Sources\Subversion Repositories\ShortenTray\ShortenTray\obj\Release\ShortenTray.exe
+E:\Programming Sources\Subversion Repositories\ShortenTray\ShortenTray\obj\Release\ShortenTray.pdb
diff --git a/ShortenTray/obj/Release/ShortenTray.csproj.GenerateResource.Cache b/ShortenTray/obj/Release/ShortenTray.csproj.GenerateResource.Cache
new file mode 100644 (file)
index 0000000..0c4d9d1
Binary files /dev/null and b/ShortenTray/obj/Release/ShortenTray.csproj.GenerateResource.Cache differ
diff --git a/ShortenTray/obj/Release/ShortenTray.exe b/ShortenTray/obj/Release/ShortenTray.exe
new file mode 100644 (file)
index 0000000..58639ee
Binary files /dev/null and b/ShortenTray/obj/Release/ShortenTray.exe differ
diff --git a/ShortenTray/obj/Release/ShortenTray.pdb b/ShortenTray/obj/Release/ShortenTray.pdb
new file mode 100644 (file)
index 0000000..c5cda11
Binary files /dev/null and b/ShortenTray/obj/Release/ShortenTray.pdb differ