OSDN Git Service

The first commit in git.
authoryuuAn <berkana@yuuan.net>
Wed, 14 Aug 2013 11:33:31 +0000 (20:33 +0900)
committeryuuAn <berkana@yuuan.net>
Wed, 14 Aug 2013 11:33:31 +0000 (20:33 +0900)
56 files changed:
TraPutty.sln [new file with mode: 0644]
TraPutty/HiddenForm.Designer.cs [new file with mode: 0644]
TraPutty/HiddenForm.cs [new file with mode: 0644]
TraPutty/HiddenForm.resx [new file with mode: 0644]
TraPutty/MainForm.Designer.cs [new file with mode: 0644]
TraPutty/MainForm.cs [new file with mode: 0644]
TraPutty/MainForm.resx [new file with mode: 0644]
TraPutty/OptionForm.Designer.cs [new file with mode: 0644]
TraPutty/OptionForm.cs [new file with mode: 0644]
TraPutty/OptionForm.resx [new file with mode: 0644]
TraPutty/Program.cs [new file with mode: 0644]
TraPutty/Properties/AssemblyInfo.cs [new file with mode: 0644]
TraPutty/Properties/Resources.Designer.cs [new file with mode: 0644]
TraPutty/Properties/Resources.resx [new file with mode: 0644]
TraPutty/Properties/Settings.Designer.cs [new file with mode: 0644]
TraPutty/Properties/Settings.settings [new file with mode: 0644]
TraPutty/Setting.cs [new file with mode: 0644]
TraPutty/SettingForm.Designer.cs [new file with mode: 0644]
TraPutty/SettingForm.cs [new file with mode: 0644]
TraPutty/SettingForm.resx [new file with mode: 0644]
TraPutty/TraPutty.csproj [new file with mode: 0644]
TraPutty/TraPutty.csproj.user [new file with mode: 0644]
TraPutty/Win32API.cs [new file with mode: 0644]
TraPutty/bin/Debug/TraPutty.exe [new file with mode: 0644]
TraPutty/bin/Debug/TraPutty.pdb [new file with mode: 0644]
TraPutty/bin/Debug/TraPutty.vshost.exe [new file with mode: 0644]
TraPutty/bin/Debug/TraPutty.vshost.exe.manifest [new file with mode: 0644]
TraPutty/bin/Debug/TraPutty.xml [new file with mode: 0644]
TraPutty/bin/Debug/TransparentizeWindow.vshost.exe.manifest [new file with mode: 0644]
TraPutty/bin/Release/TraPutty.exe [new file with mode: 0644]
TraPutty/bin/Release/TraPutty.pdb [new file with mode: 0644]
TraPutty/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll [new file with mode: 0644]
TraPutty/obj/Debug/TraPutty.MainForm.resources [new file with mode: 0644]
TraPutty/obj/Debug/TraPutty.Properties.Resources.resources [new file with mode: 0644]
TraPutty/obj/Debug/TraPutty.SettingForm.resources [new file with mode: 0644]
TraPutty/obj/Debug/TraPutty.csproj.FileListAbsolute.txt [new file with mode: 0644]
TraPutty/obj/Debug/TraPutty.csproj.GenerateResource.Cache [new file with mode: 0644]
TraPutty/obj/Debug/TraPutty.exe [new file with mode: 0644]
TraPutty/obj/Debug/TraPutty.pdb [new file with mode: 0644]
TraPutty/obj/Debug/TransparentizePutty.MainForm.resources [new file with mode: 0644]
TraPutty/obj/Debug/TransparentizePutty.Properties.Resources.resources [new file with mode: 0644]
TraPutty/obj/Debug/TransparentizePutty.SettingForm.resources [new file with mode: 0644]
TraPutty/obj/Debug/TransparentizeWindow.Form1.resources [new file with mode: 0644]
TraPutty/obj/Debug/TransparentizeWindow.Properties.Resources.resources [new file with mode: 0644]
TraPutty/obj/Debug/TransparentizeWindow.csproj.FileListAbsolute.txt [new file with mode: 0644]
TraPutty/obj/Debug/TransparentizeWindow.csproj.GenerateResource.Cache [new file with mode: 0644]
TraPutty/obj/Release/TempPE/Properties.Resources.Designer.cs.dll [new file with mode: 0644]
TraPutty/obj/Release/TraPutty.exe [new file with mode: 0644]
TraPutty/obj/Release/TraPutty.pdb [new file with mode: 0644]
TraPutty/obj/Release/TransparentizePutty.MainForm.resources [new file with mode: 0644]
TraPutty/obj/Release/TransparentizePutty.Properties.Resources.resources [new file with mode: 0644]
TraPutty/obj/Release/TransparentizePutty.SettingForm.resources [new file with mode: 0644]
TraPutty/obj/Release/TransparentizeWindow.Form1.resources [new file with mode: 0644]
TraPutty/obj/Release/TransparentizeWindow.Properties.Resources.resources [new file with mode: 0644]
TraPutty/obj/Release/TransparentizeWindow.csproj.FileListAbsolute.txt [new file with mode: 0644]
TraPutty/obj/Release/TransparentizeWindow.csproj.GenerateResource.Cache [new file with mode: 0644]

diff --git a/TraPutty.sln b/TraPutty.sln
new file mode 100644 (file)
index 0000000..d5a1b5e
--- /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}") = "TraPutty", "TraPutty\TraPutty.csproj", "{903F909B-DC95-4371-AD89-5AE0D17E7D35}"
+EndProject
+Global
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               Debug|Any CPU = Debug|Any CPU
+               Release|Any CPU = Release|Any CPU
+       EndGlobalSection
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {903F909B-DC95-4371-AD89-5AE0D17E7D35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {903F909B-DC95-4371-AD89-5AE0D17E7D35}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {903F909B-DC95-4371-AD89-5AE0D17E7D35}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {903F909B-DC95-4371-AD89-5AE0D17E7D35}.Release|Any CPU.Build.0 = Release|Any CPU
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
+       EndGlobalSection
+EndGlobal
diff --git a/TraPutty/HiddenForm.Designer.cs b/TraPutty/HiddenForm.Designer.cs
new file mode 100644 (file)
index 0000000..c0138a6
--- /dev/null
@@ -0,0 +1,35 @@
+namespace TransparentizePutty
+{
+       partial class HiddenForm
+       {
+               /// <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();
+                       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+                       this.Text = "HiddenForm";
+               }
+
+               #endregion
+       }
+}
\ No newline at end of file
diff --git a/TraPutty/HiddenForm.cs b/TraPutty/HiddenForm.cs
new file mode 100644 (file)
index 0000000..42d8fff
--- /dev/null
@@ -0,0 +1,18 @@
+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;
+
+namespace TransparentizePutty
+{
+       public partial class HiddenForm : Form
+       {
+               public HiddenForm() {
+                       InitializeComponent();
+               }
+       }
+}
diff --git a/TraPutty/HiddenForm.resx b/TraPutty/HiddenForm.resx
new file mode 100644 (file)
index 0000000..19dc0dd
--- /dev/null
@@ -0,0 +1,120 @@
+<?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>
+</root>
\ No newline at end of file
diff --git a/TraPutty/MainForm.Designer.cs b/TraPutty/MainForm.Designer.cs
new file mode 100644 (file)
index 0000000..4a1daa1
--- /dev/null
@@ -0,0 +1,112 @@
+namespace TraPutty
+{
+    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.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
+                       this.contextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
+                       this.imageList = new System.Windows.Forms.ImageList(this.components);
+                       this.timer = new System.Windows.Forms.Timer(this.components);
+                       this.labelTitle = new System.Windows.Forms.Label();
+                       this.SuspendLayout();
+                       // 
+                       // notifyIcon
+                       // 
+                       this.notifyIcon.ContextMenuStrip = this.contextMenuStrip;
+                       this.notifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon.Icon")));
+                       this.notifyIcon.Text = "とらぷてぃ。";
+                       this.notifyIcon.Visible = true;
+                       this.notifyIcon.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon_MouseDoubleClick);
+                       // 
+                       // contextMenuStrip
+                       // 
+                       this.contextMenuStrip.Name = "contextMenuStrip";
+                       this.contextMenuStrip.Size = new System.Drawing.Size(61, 4);
+                       this.contextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip_Opening);
+                       // 
+                       // imageList
+                       // 
+                       this.imageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList.ImageStream")));
+                       this.imageList.TransparentColor = System.Drawing.Color.Transparent;
+                       this.imageList.Images.SetKeyName(0, "application.png");
+                       this.imageList.Images.SetKeyName(1, "applicationTransparent.ico");
+                       // 
+                       // timer
+                       // 
+                       this.timer.Interval = 500;
+                       this.timer.Tick += new System.EventHandler(this.timer_Tick);
+                       // 
+                       // labelTitle
+                       // 
+                       this.labelTitle.BackColor = System.Drawing.Color.White;
+                       this.labelTitle.Dock = System.Windows.Forms.DockStyle.Fill;
+                       this.labelTitle.Font = new System.Drawing.Font("メイリオ", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+                       this.labelTitle.ForeColor = System.Drawing.Color.RoyalBlue;
+                       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 = 1;
+                       this.labelTitle.Text = "とらぷてぃ。";
+                       this.labelTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+                       this.labelTitle.Click += new System.EventHandler(this.labelTitle_Click);
+                       // 
+                       // MainForm
+                       // 
+                       this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 18F);
+                       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+                       this.ClientSize = new System.Drawing.Size(144, 52);
+                       this.Controls.Add(this.labelTitle);
+                       this.Enabled = false;
+                       this.Font = new System.Drawing.Font("メイリオ", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+                       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 = "とらぷてぃ。";
+                       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.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+               private System.Windows.Forms.NotifyIcon notifyIcon;
+               private System.Windows.Forms.ContextMenuStrip contextMenuStrip;
+               private System.Windows.Forms.ImageList imageList;
+               private System.Windows.Forms.Timer timer;
+               private System.Windows.Forms.Label labelTitle;
+    }
+}
+
diff --git a/TraPutty/MainForm.cs b/TraPutty/MainForm.cs
new file mode 100644 (file)
index 0000000..94d8a8b
--- /dev/null
@@ -0,0 +1,240 @@
+using System;
+using System.Collections;
+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;
+using System.Xml.Serialization;
+using System.IO;
+
+namespace TraPutty
+{
+    public partial class MainForm : Form
+    {
+               private class ProcessInfo
+               {
+                       public bool transparent = false;
+                       public IntPtr hWnd = IntPtr.Zero;
+                       public string name;
+                       public string title;
+                       public bool exists = true;
+
+                       public ProcessInfo(IntPtr hWnd, string name, string title) {
+                               this.hWnd = hWnd;
+                               this.name = name;
+                               this.title = title;
+                       }
+
+                       public ProcessInfo(Process process) {
+                               Update(process);
+                       }
+
+                       public void Update(Process process) {
+                               this.hWnd = process.MainWindowHandle;
+                               this.name = process.ProcessName;
+                               this.title = process.MainWindowTitle;
+                               this.exists = true;
+                       }
+               }
+
+               private List<ProcessInfo> processList = new List<ProcessInfo>();
+               private ApplicationSetting setting = new ApplicationSetting();
+
+               private void SaveSetting() {
+                       try {
+                               XmlSerializer sirializer = new XmlSerializer(typeof(ApplicationSetting));
+                               FileStream stream = new FileStream("TraPutty.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("TraPutty.xml", FileMode.Open);
+                               this.setting = (ApplicationSetting)serializer.Deserialize(stream);
+                       }
+                       catch {
+                               this.setting = new ApplicationSetting();
+                       }
+               }
+
+               private void ResetProcessesInfo() {
+                       for (int i = 0; i < processList.Count; i++) {
+                               processList[i].exists = false;
+                       }
+
+                       Process[] processes = Process.GetProcesses();
+                       foreach (Process process in processes) {
+                               if (process.MainWindowHandle != IntPtr.Zero) {
+                                       bool ng = false;
+                                       foreach (string ngword in this.setting.ngwords) {
+                                               if (process.ProcessName.Equals(ngword, StringComparison.CurrentCultureIgnoreCase)) ng = true;
+                                       }
+                                       if (!ng) {
+                                               bool exists = false;
+                                               for (int i = 0; i < processList.Count; i++) {
+                                                       ProcessInfo processInfo = processList[i];
+                                                       if (processInfo.hWnd == process.MainWindowHandle) {
+                                                               int exStyle = Win32API.GetWindowLong(processInfo.hWnd, Win32API.GWL_EXSTYLE);
+                                                               if ((exStyle & (int)Win32API.WS_EX.LAYERED) != 0) {
+                                                                       byte alpha;
+                                                                       Win32API.GetLayeredWindowAttributes(processInfo.hWnd, 0, out alpha, 0);
+                                                                       processInfo.transparent = (alpha != 255) ? true : false;
+                                                               }
+                                                               processInfo.Update(process);
+                                                               exists = true;
+                                                               break;
+                                                       }
+                                               }
+                                               if (!exists) {
+                                                       ProcessInfo pi = new ProcessInfo(process);
+                                                       this.processList.Add(pi);
+
+                                                       if (this.setting.puttysAreTransparent) {
+                                                               SetTransparentForPutty(pi, true);
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+
+                       processList.Sort(delegate(ProcessInfo x, ProcessInfo y) {
+                               return x.name.CompareTo(y.name);
+                       });
+
+                       for (int i = 0; i < processList.Count; i++ ) {
+                               if (!processList[i].exists) {
+                                       processList.Remove(processList[i]);
+                               }
+                       }
+               }
+
+               private bool SetTransparent(IntPtr hWnd, bool transparent) {
+                       if (transparent) {
+                               int exStyle = Win32API.GetWindowLong(hWnd, Win32API.GWL_EXSTYLE);
+                               Win32API.SetWindowLong(hWnd, Win32API.GWL_EXSTYLE, exStyle | (int)Win32API.WS_EX.LAYERED);
+
+                               return Win32API.SetLayeredWindowAttributes(hWnd, 0, this.setting.alphaValue, Win32API.LWA_ALPHA);
+                       }
+                       else {
+                               return Win32API.SetLayeredWindowAttributes(hWnd, 0, 255, Win32API.LWA_ALPHA);
+                       }
+               }
+
+               private void SetTransparentForAllPutty() {
+                       this.setting.puttysAreTransparent = !this.setting.puttysAreTransparent;
+                       foreach (ProcessInfo process in processList) {
+                               this.SetTransparentForPutty(process, this.setting.puttysAreTransparent);
+                       }
+               }
+
+               private void SetTransparentForPutty(ProcessInfo process, bool transparent) {
+                       if (process.name.Equals("putty", StringComparison.CurrentCultureIgnoreCase)) {
+                               if (this.setting.notTransparentPuttySetting && IsSetting(process))
+                                       transparent = false;
+                               SetTransparent(process.hWnd, transparent);
+                       }
+               }
+
+               private bool IsSetting(ProcessInfo process) {
+                       if (process.title.Equals("PuTTY 設定"))
+                               return true;
+                       if (process.title.Equals("PuTTY Configuration"))
+                               return true;
+                       return false;
+               }
+
+               public MainForm() {
+                       InitializeComponent();
+                       this.Enabled = false;
+               }
+
+               private void MainForm_Load(object sender, EventArgs e) {
+                       LoadSettings();
+                       ResetProcessesInfo();
+                       timer.Enabled = true;
+               }
+
+               private void MainForm_FormClosed(object sender, FormClosedEventArgs e) {
+                       SaveSetting();
+               }
+
+               private void contextMenuStrip_Opening(object sender, CancelEventArgs e) {
+                       this.Cursor = Cursors.WaitCursor;
+
+                       ToolStripSeparator menuSep1 = new ToolStripSeparator();
+                       ToolStripSeparator menuSep2 = new ToolStripSeparator();
+                       ToolStripMenuItem menuOption = new ToolStripMenuItem("設定(&S)...");
+                       menuOption.Click += new EventHandler(this.menuItemOption_Click);
+                       ToolStripMenuItem menuExit = new ToolStripMenuItem("終了(&X)");
+                       menuExit.Click += new EventHandler(this.menuItemExit_Click);
+
+                       ResetProcessesInfo();
+                       contextMenuStrip.Items.Clear();
+                       contextMenuStrip.ImageList = this.imageList;
+
+                       foreach (ProcessInfo process in this.processList) {
+                               if (process.exists) {
+                                       ToolStripMenuItem item = new ToolStripMenuItem(process.name);
+                                       item.ToolTipText = process.title;
+                                       item.Tag = process;
+                                       item.ImageIndex = (process.transparent) ? 1 : 0;
+                                       item.Checked = process.transparent;
+                                       item.Text += (process.transparent) ? " *" : "";
+                                       item.Click += new EventHandler(this.menuItemProcess_Click);
+                                       contextMenuStrip.Items.Add(item);
+                               }
+                       }
+
+                       contextMenuStrip.Items.Add(menuSep1);
+                       contextMenuStrip.Items.Add(menuOption);
+                       contextMenuStrip.Items.Add(menuSep2);
+                       contextMenuStrip.Items.Add(menuExit);
+
+                       this.Cursor = Cursors.Default;
+               }
+
+               private void menuItemOption_Click(object sender, EventArgs e) {
+                       SettingForm dialog = new SettingForm(this.setting);
+                       DialogResult result = dialog.ShowDialog(this);
+                       if (result == DialogResult.OK) {
+                               this.setting = dialog.GetSetting();
+                               SaveSetting();
+                       }
+               }
+
+               private void menuItemExit_Click(object sender, EventArgs e) {
+                       notifyIcon.Visible = false;
+                       this.Close();
+               }
+
+               private void menuItemProcess_Click(object sender, EventArgs e) {
+                       ToolStripMenuItem item = (ToolStripMenuItem)sender;
+                       ProcessInfo processInfo = (ProcessInfo)item.Tag;
+
+                       bool transparent = !processInfo.transparent;
+                       if (SetTransparent(processInfo.hWnd, transparent)) {
+                               processInfo.transparent = transparent;
+                       }
+               }
+
+               private void notifyIcon_MouseDoubleClick(object sender, MouseEventArgs e) {
+                       SetTransparentForAllPutty();
+               }
+
+               private void timer_Tick(object sender, EventArgs e) {
+                       ResetProcessesInfo();
+               }
+
+               private void labelTitle_Click(object sender, EventArgs e) {
+                       this.Hide();
+               }
+    }
+}
diff --git a/TraPutty/MainForm.resx b/TraPutty/MainForm.resx
new file mode 100644 (file)
index 0000000..acb7c11
--- /dev/null
@@ -0,0 +1,204 @@
+<?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>129, 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>
+        AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAbE85AP///wD7+PcA+PLuAPTr5gDx5N4A7d3WAOrXzQDm0MUA48m9AN/CtQDcvKwA2LWkANWu
+        nADRp5QAypqDAP+ZmgDMZmcAAMz/ADSZ/wD/zZkA/5kAAImo/wAAM/8AM8tnAAGZAADmiR4ArVQAAO2p
+        XwA+Pv8AAAAAAGBgYADbzlkAtLS0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAA/9TUAP+blQD/fX0A+HV1APFtbQDrZWUA5F5eANZOTgDPTEwAwkpKAJsjJwB6MjIAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
+        AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8vLy8vLy8vLy8vLy8AABAQEBAQ
+        EBAQEBAQEBAvAAAsERcbGhocHBwcHBwsLwAALBEW+BsVGBcZGRkWLC8AACwR9xP4FS8WLy8vFiwvAAAs
+        ERT3FBUVFRUVFRYsLwAALBEULxkUFhQWFhYWLC8AACwR+DAvEy8TLy8vFSwvAAAsERL4FBISEhISEhQs
+        LwAALBERERERERERERERLC8AACsrKysrKysrKysrKysvAAAqKioqKioqKioqKjEqAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAAwAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIAB
+        AACAAQAAgAEAAIABAACAAwAA//8AAP//AAA=
+</value>
+  </data>
+  <metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>286, 17</value>
+  </metadata>
+  <data name="imageList.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
+        LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA8
+        CAAAAk1TRnQBSQFMAgEBAgEAAXABAAFwAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+        AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
+        AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
+        AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
+        AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
+        AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
+        AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
+        ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
+        AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
+        AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
+        AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
+        AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
+        AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
+        AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
+        AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
+        AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
+        ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
+        Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
+        AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
+        AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
+        AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
+        ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
+        Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
+        AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
+        AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
+        AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
+        AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
+        AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
+        AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/4EAAQcFtAPPBa4BBwEA
+        AewC7QzsIQABtA3/Aa4BAAGSDQAB7CEAAbQN/wGuAQABkg0AAewhAAG0Df8BrgEAAZINAAHsIQABtA3/
+        Ac8BAAH3DQAB7CEAAbQN/wHPAQAB9w0AAewhAAG0Cv8C9AH/Ac8BAAH3DQAB7CEAAbQI/wT0Af8BtAEA
+        Ae8NAAHsIQABtAf/AvQD8wH/AbQBAAHvDQAB7CEAAbQN/wG0AQAB7w0AAewhAA+0AQAO7wHtIQABtQ0J
+        AbQBAAHvDQcB7SEAAfEBuwu0AbUB8QEAAewF7wP3BZIB7GEAAUIBTQE+BwABPgMAASgDAAFAAwABEAMA
+        AQEBAAEBBQABgBcAA/8BAAT/BAAE/wUAAQEBAAEBBQABAQF/Af0FAAEBAX8B/QUAAQEBfwH9BQABAQF/
+        Af0FAAEBAX8B/QUAAQEBfwH9BQABAQF/Af0FAAEBAX8B/QUAAQEBfwH9BQABAQEAAQEFAAEBAQABAQUA
+        AQEBAAEBBAAE/wQACw==
+</value>
+  </data>
+  <metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>395, 17</value>
+  </metadata>
+</root>
\ No newline at end of file
diff --git a/TraPutty/OptionForm.Designer.cs b/TraPutty/OptionForm.Designer.cs
new file mode 100644 (file)
index 0000000..49fcf32
--- /dev/null
@@ -0,0 +1,211 @@
+namespace TransparentizePutty
+{
+    partial class OptionForm
+    {
+        /// <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(OptionForm));
+                       this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
+                       this.contextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
+                       this.imageList = new System.Windows.Forms.ImageList(this.components);
+                       this.label1 = new System.Windows.Forms.Label();
+                       this.groupBox1 = new System.Windows.Forms.GroupBox();
+                       this.chkNotTransparentPuttySetting = new System.Windows.Forms.CheckBox();
+                       this.numTransparent = new System.Windows.Forms.NumericUpDown();
+                       this.buttonOk = new System.Windows.Forms.Button();
+                       this.buttonCancel = new System.Windows.Forms.Button();
+                       this.linkLabel = new System.Windows.Forms.LinkLabel();
+                       this.timer = new System.Windows.Forms.Timer(this.components);
+                       this.groupBox1.SuspendLayout();
+                       ((System.ComponentModel.ISupportInitialize)(this.numTransparent)).BeginInit();
+                       this.SuspendLayout();
+                       // 
+                       // notifyIcon
+                       // 
+                       this.notifyIcon.ContextMenuStrip = this.contextMenuStrip;
+                       this.notifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon.Icon")));
+                       this.notifyIcon.Text = "とらぷてぃ。";
+                       this.notifyIcon.Visible = true;
+                       this.notifyIcon.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon_MouseDoubleClick);
+                       // 
+                       // contextMenuStrip
+                       // 
+                       this.contextMenuStrip.Name = "contextMenuStrip";
+                       this.contextMenuStrip.Size = new System.Drawing.Size(61, 4);
+                       this.contextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip_Opening);
+                       // 
+                       // imageList
+                       // 
+                       this.imageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList.ImageStream")));
+                       this.imageList.TransparentColor = System.Drawing.Color.Transparent;
+                       this.imageList.Images.SetKeyName(0, "application.png");
+                       this.imageList.Images.SetKeyName(1, "applicationTransparent.ico");
+                       // 
+                       // label1
+                       // 
+                       this.label1.Location = new System.Drawing.Point(8, 24);
+                       this.label1.Name = "label1";
+                       this.label1.Size = new System.Drawing.Size(121, 30);
+                       this.label1.TabIndex = 1;
+                       this.label1.Text = "透過度 (0-254) : ";
+                       this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+                       // 
+                       // groupBox1
+                       // 
+                       this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                                               | System.Windows.Forms.AnchorStyles.Left)
+                                               | System.Windows.Forms.AnchorStyles.Right)));
+                       this.groupBox1.Controls.Add(this.chkNotTransparentPuttySetting);
+                       this.groupBox1.Controls.Add(this.numTransparent);
+                       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, 113);
+                       this.groupBox1.TabIndex = 0;
+                       this.groupBox1.TabStop = false;
+                       this.groupBox1.Text = "設定";
+                       // 
+                       // chkNotTransparentPuttySetting
+                       // 
+                       this.chkNotTransparentPuttySetting.AutoSize = true;
+                       this.chkNotTransparentPuttySetting.Location = new System.Drawing.Point(8, 72);
+                       this.chkNotTransparentPuttySetting.Name = "chkNotTransparentPuttySetting";
+                       this.chkNotTransparentPuttySetting.Size = new System.Drawing.Size(165, 22);
+                       this.chkNotTransparentPuttySetting.TabIndex = 3;
+                       this.chkNotTransparentPuttySetting.Text = "PuTTY 設定を透過しない";
+                       this.chkNotTransparentPuttySetting.UseVisualStyleBackColor = true;
+                       // 
+                       // numTransparent
+                       // 
+                       this.numTransparent.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+                       this.numTransparent.Location = new System.Drawing.Point(295, 24);
+                       this.numTransparent.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.numTransparent.Maximum = new decimal(new int[] {
+            254,
+            0,
+            0,
+            0});
+                       this.numTransparent.Name = "numTransparent";
+                       this.numTransparent.Size = new System.Drawing.Size(65, 25);
+                       this.numTransparent.TabIndex = 2;
+                       this.numTransparent.Value = new decimal(new int[] {
+            210,
+            0,
+            0,
+            0});
+                       // 
+                       // buttonOk
+                       // 
+                       this.buttonOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+                       this.buttonOk.Location = new System.Drawing.Point(168, 129);
+                       this.buttonOk.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.buttonOk.Name = "buttonOk";
+                       this.buttonOk.Size = new System.Drawing.Size(103, 32);
+                       this.buttonOk.TabIndex = 3;
+                       this.buttonOk.Text = "OK";
+                       this.buttonOk.UseVisualStyleBackColor = true;
+                       this.buttonOk.Click += new System.EventHandler(this.buttonOk_Click);
+                       // 
+                       // buttonCancel
+                       // 
+                       this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+                       this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+                       this.buttonCancel.Location = new System.Drawing.Point(280, 129);
+                       this.buttonCancel.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.buttonCancel.Name = "buttonCancel";
+                       this.buttonCancel.Size = new System.Drawing.Size(103, 32);
+                       this.buttonCancel.TabIndex = 4;
+                       this.buttonCancel.Text = "キャンセル";
+                       this.buttonCancel.UseVisualStyleBackColor = true;
+                       this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
+                       // 
+                       // 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, 137);
+                       this.linkLabel.Name = "linkLabel";
+                       this.linkLabel.Size = new System.Drawing.Size(96, 18);
+                       this.linkLabel.TabIndex = 5;
+                       this.linkLabel.TabStop = true;
+                       this.linkLabel.Text = "© 2012 yuuAn.";
+                       this.linkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel_LinkClicked);
+                       // 
+                       // timer
+                       // 
+                       this.timer.Interval = 500;
+                       this.timer.Tick += new System.EventHandler(this.timer_Tick);
+                       // 
+                       // Form1
+                       // 
+                       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.buttonCancel);
+                       this.Controls.Add(this.groupBox1);
+                       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.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.MaximizeBox = false;
+                       this.MinimizeBox = false;
+                       this.Name = "Form1";
+                       this.ShowInTaskbar = false;
+                       this.Text = "とらぷてぃ。 v.1.4";
+                       this.Load += new System.EventHandler(this.Form1_Load);
+                       this.Shown += new System.EventHandler(this.Form1_Shown);
+                       this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
+                       this.groupBox1.ResumeLayout(false);
+                       this.groupBox1.PerformLayout();
+                       ((System.ComponentModel.ISupportInitialize)(this.numTransparent)).EndInit();
+                       this.ResumeLayout(false);
+                       this.PerformLayout();
+
+        }
+
+        #endregion
+
+               private System.Windows.Forms.NotifyIcon notifyIcon;
+               private System.Windows.Forms.ContextMenuStrip contextMenuStrip;
+               private System.Windows.Forms.ImageList imageList;
+               private System.Windows.Forms.Label label1;
+               private System.Windows.Forms.GroupBox groupBox1;
+               private System.Windows.Forms.NumericUpDown numTransparent;
+               private System.Windows.Forms.Button buttonOk;
+               private System.Windows.Forms.Button buttonCancel;
+               private System.Windows.Forms.LinkLabel linkLabel;
+               private System.Windows.Forms.Timer timer;
+               private System.Windows.Forms.CheckBox chkNotTransparentPuttySetting;
+    }
+}
+
diff --git a/TraPutty/OptionForm.cs b/TraPutty/OptionForm.cs
new file mode 100644 (file)
index 0000000..2f9e984
--- /dev/null
@@ -0,0 +1,258 @@
+using System;
+using System.Collections;
+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;
+using System.Xml.Serialization;
+using System.IO;
+
+namespace TransparentizePutty
+{
+    public partial class OptionForm : Form
+    {
+               private class ProcessInfo
+               {
+                       public bool transparent = false;
+                       public IntPtr hWnd = IntPtr.Zero;
+                       public string name;
+                       public string title;
+                       public bool exists = true;
+
+                       public ProcessInfo(IntPtr hWnd, string name, string title) {
+                               this.hWnd = hWnd;
+                               this.name = name;
+                               this.title = title;
+                       }
+
+                       public ProcessInfo(Process process) {
+                               Update(process);
+                       }
+
+                       public void Update(Process process) {
+                               this.hWnd = process.MainWindowHandle;
+                               this.name = process.ProcessName;
+                               this.title = process.MainWindowTitle;
+                               this.exists = true;
+                       }
+               }
+
+               public class ApplicationSetting
+               {
+                       [System.Xml.Serialization.XmlElement("alpha")]
+                       public byte alphaValue = 210;
+                       public bool puttysAreTransparent = false;
+                       public bool notTransparentPuttySetting = false;
+                       public string[] ngwords = new string[] {"sidebar", "Saezuri"};
+               }
+
+               private List<ProcessInfo> processList = new List<ProcessInfo>();
+               private ApplicationSetting setting = new ApplicationSetting();
+               private bool allowExit = false;
+
+               private void SaveSetting() {
+                       try {
+                               XmlSerializer sirializer = new XmlSerializer(typeof(ApplicationSetting));
+                               FileStream stream = new FileStream("TraPutty.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("TraPutty.xml", FileMode.Open);
+                               this.setting = (ApplicationSetting)serializer.Deserialize(stream);
+                       }
+                       catch {
+                               this.setting = new ApplicationSetting();
+                       }
+               }
+
+               private void ResetProcessesInfo() {
+                       for (int i = 0; i < processList.Count; i++) {
+                               processList[i].exists = false;
+                       }
+
+                       Process[] processes = Process.GetProcesses();
+                       foreach (Process process in processes) {
+                               if (process.MainWindowHandle != IntPtr.Zero) {
+                                       bool ng = false;
+                                       foreach (string ngword in this.setting.ngwords) {
+                                               if (process.ProcessName.Equals(ngword, StringComparison.CurrentCultureIgnoreCase)) ng = true;
+                                       }
+                                       if (!ng) {
+                                               bool exists = false;
+                                               for (int i = 0; i < processList.Count; i++) {
+                                                       ProcessInfo processInfo = processList[i];
+                                                       if (processInfo.hWnd == process.MainWindowHandle) {
+                                                               int exStyle = Win32API.GetWindowLong(processInfo.hWnd, Win32API.GWL_EXSTYLE);
+                                                               if ((exStyle & (int)Win32API.WS_EX.LAYERED) != 0) {
+                                                                       byte alpha;
+                                                                       Win32API.GetLayeredWindowAttributes(processInfo.hWnd, 0, out alpha, 0);
+                                                                       processInfo.transparent = (alpha != 255) ? true : false;
+                                                               }
+                                                               processInfo.Update(process);
+                                                               exists = true;
+                                                               break;
+                                                       }
+                                               }
+                                               if (!exists) {
+                                                       ProcessInfo pi = new ProcessInfo(process);
+                                                       this.processList.Add(pi);
+
+                                                       if (this.setting.puttysAreTransparent) {
+                                                               SetTransparentForPutty(pi, true);
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+
+                       processList.Sort(delegate(ProcessInfo x, ProcessInfo y) {
+                               return x.name.CompareTo(y.name);
+                       });
+
+                       for (int i = 0; i < processList.Count; i++ ) {
+                               if (!processList[i].exists) {
+                                       processList.Remove(processList[i]);
+                               }
+                       }
+               }
+
+               private bool SetTransparent(IntPtr hWnd, bool transparent) {
+                       if (transparent) {
+                               int exStyle = Win32API.GetWindowLong(hWnd, Win32API.GWL_EXSTYLE);
+                               Win32API.SetWindowLong(hWnd, Win32API.GWL_EXSTYLE, exStyle | (int)Win32API.WS_EX.LAYERED);
+
+                               return Win32API.SetLayeredWindowAttributes(hWnd, 0, this.setting.alphaValue, Win32API.LWA_ALPHA);
+                       }
+                       else {
+                               return Win32API.SetLayeredWindowAttributes(hWnd, 0, 255, Win32API.LWA_ALPHA);
+                       }
+               }
+
+               private void SetTransparentForAllPutty() {
+                       this.setting.puttysAreTransparent = !this.setting.puttysAreTransparent;
+                       foreach (ProcessInfo process in processList) {
+                               this.SetTransparentForPutty(process, this.setting.puttysAreTransparent);
+                       }
+               }
+
+               private void SetTransparentForPutty(ProcessInfo process, bool transparent) {
+                       if (process.name.Equals("putty", StringComparison.CurrentCultureIgnoreCase)) {
+                               if (this.setting.notTransparentPuttySetting && process.title.Equals("PuTTY 設定"))
+                                       transparent = false;
+                               SetTransparent(process.hWnd, transparent);
+                       }
+               }
+
+               public OptionForm() {
+                       InitializeComponent();
+               }
+
+               private void Form1_Load(object sender, EventArgs e) {
+                       LoadSettings();
+                       ResetProcessesInfo();
+                       timer.Enabled = true;
+               }
+
+               private void Form1_Shown(object sender, EventArgs e) {
+                       this.Hide();
+               }
+
+               private void contextMenuStrip_Opening(object sender, CancelEventArgs e) {
+                       this.Cursor = Cursors.WaitCursor;
+
+                       ToolStripSeparator menuSep1 = new ToolStripSeparator();
+                       ToolStripSeparator menuSep2 = new ToolStripSeparator();
+                       ToolStripMenuItem menuOption = new ToolStripMenuItem("設定(&S)");
+                       menuOption.Click += new EventHandler(this.menuItemOption_Click);
+                       ToolStripMenuItem menuExit = new ToolStripMenuItem("終了(&X)");
+                       menuExit.Click += new EventHandler(this.menuItemExit_Click);
+
+                       ResetProcessesInfo();
+                       contextMenuStrip.Items.Clear();
+                       contextMenuStrip.ImageList = this.imageList;
+
+                       foreach (ProcessInfo process in this.processList) {
+                               if (process.exists) {
+                                       ToolStripMenuItem item = new ToolStripMenuItem(process.name);
+                                       item.ToolTipText = process.title;
+                                       item.Tag = process;
+                                       item.ImageIndex = (process.transparent) ? 1 : 0;
+                                       item.Checked = process.transparent;
+                                       item.Text += (process.transparent) ? " *" : "";
+                                       item.Click += new EventHandler(this.menuItemProcess_Click);
+                                       contextMenuStrip.Items.Add(item);
+                               }
+                       }
+
+                       contextMenuStrip.Items.Add(menuSep1);
+                       contextMenuStrip.Items.Add(menuOption);
+                       contextMenuStrip.Items.Add(menuSep2);
+                       contextMenuStrip.Items.Add(menuExit);
+
+                       this.Cursor = Cursors.Default;
+               }
+
+               private void menuItemOption_Click(object sender, EventArgs e) {
+                       this.numTransparent.Value = (int)this.setting.alphaValue;
+                       this.chkNotTransparentPuttySetting.Checked = this.setting.notTransparentPuttySetting;
+                       this.Enabled = true;
+                       this.Show();
+                       this.Activate();
+               }
+
+               private void menuItemExit_Click(object sender, EventArgs e) {
+                       SaveSetting();
+                       this.allowExit = true;
+                       this.Close();
+               }
+
+               private void menuItemProcess_Click(object sender, EventArgs e) {
+                       ToolStripMenuItem item = (ToolStripMenuItem)sender;
+                       ProcessInfo processInfo = (ProcessInfo)item.Tag;
+
+                       bool transparent = !processInfo.transparent;
+                       if (SetTransparent(processInfo.hWnd, transparent)) {
+                               processInfo.transparent = transparent;
+                       }
+               }
+
+               private void buttonCancel_Click(object sender, EventArgs e) {
+                       this.Hide();
+               }
+
+               private void buttonOk_Click(object sender, EventArgs e) {
+                       this.setting.alphaValue = (byte)numTransparent.Value;
+                       this.setting.notTransparentPuttySetting = chkNotTransparentPuttySetting.Checked;
+                       this.Hide();
+               }
+
+               private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
+                       if (!this.allowExit) {
+                               e.Cancel = true;
+                               this.Hide();
+                       }
+               }
+
+               private void notifyIcon_MouseDoubleClick(object sender, MouseEventArgs e) {
+                       SetTransparentForAllPutty();
+               }
+
+               private void linkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
+                       Process.Start("http://www.yuuan.net/blog/");
+               }
+
+               private void timer_Tick(object sender, EventArgs e) {
+                       ResetProcessesInfo();
+               }
+    }
+}
diff --git a/TraPutty/OptionForm.resx b/TraPutty/OptionForm.resx
new file mode 100644 (file)
index 0000000..dd0059d
--- /dev/null
@@ -0,0 +1,204 @@
+<?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>129, 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>
+        AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAbE85AP///wD7+PcA+PLuAPTr5gDx5N4A7d3WAOrXzQDm0MUA48m9AN/CtQDcvKwA2LWkANWu
+        nADRp5QAypqDAP+ZmgDMZmcAAMz/ADSZ/wD/zZkA/5kAAImo/wAAM/8AM8tnAAGZAADmiR4ArVQAAO2p
+        XwA+Pv8AAAAAAGBgYADbzlkAtLS0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAA/9TUAP+blQD/fX0A+HV1APFtbQDrZWUA5F5eANZOTgDPTEwAwkpKAJsjJwB6MjIAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
+        AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8vLy8vLy8vLy8vLy8AABAQEBAQ
+        EBAQEBAQEBAvAAAsERcbGhocHBwcHBwsLwAALBEW+BsVGBcZGRkWLC8AACwR9xP4FS8WLy8vFiwvAAAs
+        ERT3FBUVFRUVFRYsLwAALBEULxkUFhQWFhYWLC8AACwR+DAvEy8TLy8vFSwvAAAsERL4FBISEhISEhQs
+        LwAALBERERERERERERERLC8AACsrKysrKysrKysrKysvAAAqKioqKioqKioqKjEqAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAAwAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIAB
+        AACAAQAAgAEAAIABAACAAwAA//8AAP//AAA=
+</value>
+  </data>
+  <metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>286, 17</value>
+  </metadata>
+  <data name="imageList.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
+        LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA8
+        CAAAAk1TRnQBSQFMAgEBAgEAAVgBAAFYAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+        AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
+        AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
+        AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
+        AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
+        AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
+        AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
+        ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
+        AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
+        AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
+        AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
+        AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
+        AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
+        AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
+        AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
+        AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
+        ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
+        Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
+        AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
+        AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
+        AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
+        ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
+        Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
+        AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
+        AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
+        AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
+        AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
+        AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
+        AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/4EAAQcFtAPPBa4BBwEA
+        AewC7QzsIQABtA3/Aa4BAAGSDQAB7CEAAbQN/wGuAQABkg0AAewhAAG0Df8BrgEAAZINAAHsIQABtA3/
+        Ac8BAAH3DQAB7CEAAbQN/wHPAQAB9w0AAewhAAG0Cv8C9AH/Ac8BAAH3DQAB7CEAAbQI/wT0Af8BtAEA
+        Ae8NAAHsIQABtAf/AvQD8wH/AbQBAAHvDQAB7CEAAbQN/wG0AQAB7w0AAewhAA+0AQAO7wHtIQABtQ0J
+        AbQBAAHvDQcB7SEAAfEBuwu0AbUB8QEAAewF7wP3BZIB7GEAAUIBTQE+BwABPgMAASgDAAFAAwABEAMA
+        AQEBAAEBBQABgBcAA/8BAAT/BAAE/wUAAQEBAAEBBQABAQF/Af0FAAEBAX8B/QUAAQEBfwH9BQABAQF/
+        Af0FAAEBAX8B/QUAAQEBfwH9BQABAQF/Af0FAAEBAX8B/QUAAQEBfwH9BQABAQEAAQEFAAEBAQABAQUA
+        AQEBAAEBBAAE/wQACw==
+</value>
+  </data>
+  <metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>395, 17</value>
+  </metadata>
+</root>
\ No newline at end of file
diff --git a/TraPutty/Program.cs b/TraPutty/Program.cs
new file mode 100644 (file)
index 0000000..208e3dc
--- /dev/null
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+
+namespace TraPutty
+{
+    static class Program
+    {
+        /// <summary>
+        /// アプリケーションのメイン エントリ ポイントです。
+        /// </summary>
+        [STAThread]
+        static void Main()
+        {
+            Application.EnableVisualStyles();
+            Application.SetCompatibleTextRenderingDefault(false);
+            Application.Run(new MainForm());
+        }
+    }
+}
diff --git a/TraPutty/Properties/AssemblyInfo.cs b/TraPutty/Properties/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..2218bf8
--- /dev/null
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// アセンブリに関する一般情報は以下の属性セットをとおして制御されます。
+// アセンブリに関連付けられている情報を変更するには、
+// これらの属性値を変更してください。
+[assembly: AssemblyTitle("TransparentizeWindow")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("TransparentizeWindow")]
+[assembly: AssemblyCopyright("Copyright ©  2012")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// ComVisible を false に設定すると、その型はこのアセンブリ内で COM コンポーネントから 
+// 参照不可能になります。COM からこのアセンブリ内の型にアクセスする場合は、
+// その型の ComVisible 属性を true に設定してください。
+[assembly: ComVisible(false)]
+
+// 次の GUID は、このプロジェクトが COM に公開される場合の、typelib の ID です
+[assembly: Guid("863c8b20-0588-42ab-a04d-393815f90e5a")]
+
+// アセンブリのバージョン情報は、以下の 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/TraPutty/Properties/Resources.Designer.cs b/TraPutty/Properties/Resources.Designer.cs
new file mode 100644 (file)
index 0000000..9cdce92
--- /dev/null
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     このコードはツールによって生成されました。
+//     ランタイム バージョン:2.0.50727.5472
+//
+//     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
+//     コードが再生成されるときに損失したりします。
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace TraPutty.Properties {
+    using System;
+    
+    
+    /// <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 (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TraPutty.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/TraPutty/Properties/Resources.resx b/TraPutty/Properties/Resources.resx
new file mode 100644 (file)
index 0000000..04e2214
--- /dev/null
@@ -0,0 +1,121 @@
+<?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.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+</root>
\ No newline at end of file
diff --git a/TraPutty/Properties/Settings.Designer.cs b/TraPutty/Properties/Settings.Designer.cs
new file mode 100644 (file)
index 0000000..e667c15
--- /dev/null
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     このコードはツールによって生成されました。
+//     ランタイム バージョン:2.0.50727.5472
+//
+//     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
+//     コードが再生成されるときに損失したりします。
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace TraPutty.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/TraPutty/Properties/Settings.settings b/TraPutty/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/TraPutty/Setting.cs b/TraPutty/Setting.cs
new file mode 100644 (file)
index 0000000..f34f53b
--- /dev/null
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace TraPutty
+{
+       public class ApplicationSetting
+       {
+               [System.Xml.Serialization.XmlElement("alpha")]
+               public byte alphaValue = 210;
+               public bool puttysAreTransparent = false;
+               public bool notTransparentPuttySetting = false;
+               public string[] ngwords = new string[] { "sidebar", "Saezuri" };
+       }
+}
diff --git a/TraPutty/SettingForm.Designer.cs b/TraPutty/SettingForm.Designer.cs
new file mode 100644 (file)
index 0000000..a04229f
--- /dev/null
@@ -0,0 +1,175 @@
+namespace TraPutty
+{
+       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.label1 = new System.Windows.Forms.Label();
+                       this.numTransparent = new System.Windows.Forms.NumericUpDown();
+                       this.chkNotTransparentPuttySetting = new System.Windows.Forms.CheckBox();
+                       this.groupBox1 = new System.Windows.Forms.GroupBox();
+                       this.buttonCancel = new System.Windows.Forms.Button();
+                       this.linkLabel = new System.Windows.Forms.LinkLabel();
+                       ((System.ComponentModel.ISupportInitialize)(this.numTransparent)).BeginInit();
+                       this.groupBox1.SuspendLayout();
+                       this.SuspendLayout();
+                       // 
+                       // buttonOk
+                       // 
+                       this.buttonOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+                       this.buttonOk.Location = new System.Drawing.Point(168, 128);
+                       this.buttonOk.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.buttonOk.Name = "buttonOk";
+                       this.buttonOk.Size = new System.Drawing.Size(103, 32);
+                       this.buttonOk.TabIndex = 7;
+                       this.buttonOk.Text = "OK";
+                       this.buttonOk.UseVisualStyleBackColor = true;
+                       this.buttonOk.Click += new System.EventHandler(this.buttonOk_Click);
+                       // 
+                       // label1
+                       // 
+                       this.label1.Location = new System.Drawing.Point(8, 24);
+                       this.label1.Name = "label1";
+                       this.label1.Size = new System.Drawing.Size(121, 30);
+                       this.label1.TabIndex = 1;
+                       this.label1.Text = "透過度 (0-254) : ";
+                       this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+                       // 
+                       // numTransparent
+                       // 
+                       this.numTransparent.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+                       this.numTransparent.Location = new System.Drawing.Point(295, 24);
+                       this.numTransparent.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.numTransparent.Maximum = new decimal(new int[] {
+            254,
+            0,
+            0,
+            0});
+                       this.numTransparent.Name = "numTransparent";
+                       this.numTransparent.Size = new System.Drawing.Size(65, 25);
+                       this.numTransparent.TabIndex = 2;
+                       this.numTransparent.Value = new decimal(new int[] {
+            210,
+            0,
+            0,
+            0});
+                       // 
+                       // chkNotTransparentPuttySetting
+                       // 
+                       this.chkNotTransparentPuttySetting.AutoSize = true;
+                       this.chkNotTransparentPuttySetting.Location = new System.Drawing.Point(8, 72);
+                       this.chkNotTransparentPuttySetting.Name = "chkNotTransparentPuttySetting";
+                       this.chkNotTransparentPuttySetting.Size = new System.Drawing.Size(165, 22);
+                       this.chkNotTransparentPuttySetting.TabIndex = 3;
+                       this.chkNotTransparentPuttySetting.Text = "PuTTY 設定を透過しない";
+                       this.chkNotTransparentPuttySetting.UseVisualStyleBackColor = true;
+                       // 
+                       // groupBox1
+                       // 
+                       this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                                               | System.Windows.Forms.AnchorStyles.Left)
+                                               | System.Windows.Forms.AnchorStyles.Right)));
+                       this.groupBox1.Controls.Add(this.chkNotTransparentPuttySetting);
+                       this.groupBox1.Controls.Add(this.numTransparent);
+                       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, 113);
+                       this.groupBox1.TabIndex = 6;
+                       this.groupBox1.TabStop = false;
+                       this.groupBox1.Text = "設定";
+                       // 
+                       // buttonCancel
+                       // 
+                       this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+                       this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+                       this.buttonCancel.Location = new System.Drawing.Point(280, 128);
+                       this.buttonCancel.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+                       this.buttonCancel.Name = "buttonCancel";
+                       this.buttonCancel.Size = new System.Drawing.Size(103, 32);
+                       this.buttonCancel.TabIndex = 8;
+                       this.buttonCancel.Text = "キャンセル";
+                       this.buttonCancel.UseVisualStyleBackColor = true;
+                       this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
+                       // 
+                       // 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 = 9;
+                       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.buttonCancel);
+                       this.Controls.Add(this.groupBox1);
+                       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 = "とらぷてぃ。 v.1.6";
+                       this.Load += new System.EventHandler(this.SettingForm_Load);
+                       ((System.ComponentModel.ISupportInitialize)(this.numTransparent)).EndInit();
+                       this.groupBox1.ResumeLayout(false);
+                       this.groupBox1.PerformLayout();
+                       this.ResumeLayout(false);
+                       this.PerformLayout();
+
+               }
+
+               #endregion
+
+               private System.Windows.Forms.Button buttonOk;
+               private System.Windows.Forms.Label label1;
+               private System.Windows.Forms.NumericUpDown numTransparent;
+               private System.Windows.Forms.CheckBox chkNotTransparentPuttySetting;
+               private System.Windows.Forms.GroupBox groupBox1;
+               private System.Windows.Forms.Button buttonCancel;
+               private System.Windows.Forms.LinkLabel linkLabel;
+
+
+
+
+
+       }
+}
\ No newline at end of file
diff --git a/TraPutty/SettingForm.cs b/TraPutty/SettingForm.cs
new file mode 100644 (file)
index 0000000..f9e537b
--- /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 TraPutty
+{
+       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.numTransparent.Value = (int)this.setting.alphaValue;
+                       this.chkNotTransparentPuttySetting.Checked = this.setting.notTransparentPuttySetting;
+               }
+
+               private void buttonCancel_Click(object sender, EventArgs e) {
+                       this.DialogResult = DialogResult.Cancel;
+                       this.Close();
+               }
+
+               private void buttonOk_Click(object sender, EventArgs e) {
+                       this.setting.alphaValue = (byte)numTransparent.Value;
+                       this.setting.notTransparentPuttySetting = chkNotTransparentPuttySetting.Checked;
+                       this.DialogResult = DialogResult.OK;
+                       this.Close();
+               }
+
+               private void linkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
+                       Process.Start("http://www.yuuan.net/");
+               }
+       }
+}
diff --git a/TraPutty/SettingForm.resx b/TraPutty/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/TraPutty/TraPutty.csproj b/TraPutty/TraPutty.csproj
new file mode 100644 (file)
index 0000000..7adf1ac
--- /dev/null
@@ -0,0 +1,151 @@
+<?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>{903F909B-DC95-4371-AD89-5AE0D17E7D35}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>TraPutty</RootNamespace>
+    <AssemblyName>TraPutty</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </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="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>
+      <DesignTime>True</DesignTime>
+    </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>
+    <Compile Include="Win32API.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows インストーラ 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Resources\" />
+  </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/TraPutty/TraPutty.csproj.user b/TraPutty/TraPutty.csproj.user
new file mode 100644 (file)
index 0000000..1287772
--- /dev/null
@@ -0,0 +1,17 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <PublishUrlHistory>publish\</PublishUrlHistory>
+    <InstallUrlHistory>
+    </InstallUrlHistory>
+    <SupportUrlHistory>
+    </SupportUrlHistory>
+    <UpdateUrlHistory>
+    </UpdateUrlHistory>
+    <BootstrapperUrlHistory>
+    </BootstrapperUrlHistory>
+    <ErrorReportUrlHistory>
+    </ErrorReportUrlHistory>
+    <FallbackCulture>ja-JP</FallbackCulture>
+    <VerifyUploadedFiles>false</VerifyUploadedFiles>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/TraPutty/Win32API.cs b/TraPutty/Win32API.cs
new file mode 100644 (file)
index 0000000..b52a2c6
--- /dev/null
@@ -0,0 +1,87 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Runtime.InteropServices;
+
+namespace TraPutty
+{
+       class Win32API
+       {
+               public const int GWL_ID = -12;
+               public const int GWL_STYLE = -16;
+               public const int GWL_EXSTYLE = -20;
+               public const int WS_EX_LAYERED = 0x80000;
+               public const int LWA_ALPHA = 0x2;
+               public const int LWA_COLORKEY = 0x1;
+
+               // Window Styles
+               public enum WS : uint {
+                       OVERLAPPED = 0,
+                       POPUP = 0x80000000,
+                       CHILD = 0x40000000,
+                       MINIMIZE = 0x20000000,
+                       VISIBLE = 0x10000000,
+                       DISABLED = 0x8000000,
+                       CLIPSIBLINGS = 0x4000000,
+                       CLIPCHILDREN = 0x2000000,
+                       MAXIMIZE = 0x1000000,
+                       CAPTION = 0xC00000,      // WS_BORDER or WS_DLGFRAME  
+                       BORDER = 0x800000,
+                       DLGFRAME = 0x400000,
+                       VSCROLL = 0x200000,
+                       HSCROLL = 0x100000,
+                       SYSMENU = 0x80000,
+                       THICKFRAME = 0x40000,
+                       GROUP = 0x20000,
+                       TABSTOP = 0x10000,
+                       MINIMIZEBOX = 0x20000,
+                       MAXIMIZEBOX = 0x10000,
+                       TILED = WS.OVERLAPPED,
+                       ICONIC = WS.MINIMIZE,
+                       SIZEBOX = WS.THICKFRAME,
+               }
+
+               // Extended Window Styles
+               public enum WS_EX : uint {
+                       DLGMODALFRAME = 0x0001,
+                       NOPARENTNOTIFY = 0x0004,
+                       TOPMOST = 0x0008,
+                       ACCEPTFILES = 0x0010,
+                       TRANSPARENT = 0x0020,
+                       MDICHILD = 0x0040,
+                       TOOLWINDOW = 0x0080,
+                       WINDOWEDGE = 0x0100,
+                       CLIENTEDGE = 0x0200,
+                       CONTEXTHELP = 0x0400,
+                       RIGHT = 0x1000,
+                       LEFT = 0x0000,
+                       RTLREADING = 0x2000,
+                       LTRREADING = 0x0000,
+                       LEFTSCROLLBAR = 0x4000,
+                       RIGHTSCROLLBAR = 0x0000,
+                       CONTROLPARENT = 0x10000,
+                       STATICEDGE = 0x20000,
+                       APPWINDOW = 0x40000,
+                       OVERLAPPEDWINDOW = (WS_EX.WINDOWEDGE | WS_EX.CLIENTEDGE),
+                       PALETTEWINDOW = (WS_EX.WINDOWEDGE | WS_EX.TOOLWINDOW | WS_EX.TOPMOST),
+                       LAYERED = 0x00080000,
+                       NOINHERITLAYOUT = 0x00100000, // Disable inheritence of mirroring by children
+                       LAYOUTRTL = 0x00400000, // Right to left mirroring
+                       COMPOSITED = 0x02000000,
+                       NOACTIVATE = 0x08000000,
+               }
+
+               [DllImport("user32.dll")]
+               public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
+
+               [DllImport("user32.dll")]
+               public static extern bool SetLayeredWindowAttributes(IntPtr hwnd, uint crKey, byte bAlpha, uint dwFlags);
+
+               [DllImport("user32.dll")]
+               public static extern bool GetLayeredWindowAttributes(IntPtr hwnd, uint crKey, out byte bAlpha, uint dwFlags);
+
+               [DllImport("user32.dll", SetLastError = true)]
+               public static extern int GetWindowLong(IntPtr hWnd, int nIndex);
+       }
+}
diff --git a/TraPutty/bin/Debug/TraPutty.exe b/TraPutty/bin/Debug/TraPutty.exe
new file mode 100644 (file)
index 0000000..8389350
Binary files /dev/null and b/TraPutty/bin/Debug/TraPutty.exe differ
diff --git a/TraPutty/bin/Debug/TraPutty.pdb b/TraPutty/bin/Debug/TraPutty.pdb
new file mode 100644 (file)
index 0000000..2d75068
Binary files /dev/null and b/TraPutty/bin/Debug/TraPutty.pdb differ
diff --git a/TraPutty/bin/Debug/TraPutty.vshost.exe b/TraPutty/bin/Debug/TraPutty.vshost.exe
new file mode 100644 (file)
index 0000000..70862c7
Binary files /dev/null and b/TraPutty/bin/Debug/TraPutty.vshost.exe differ
diff --git a/TraPutty/bin/Debug/TraPutty.vshost.exe.manifest b/TraPutty/bin/Debug/TraPutty.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/TraPutty/bin/Debug/TraPutty.xml b/TraPutty/bin/Debug/TraPutty.xml
new file mode 100644 (file)
index 0000000..767b392
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<ApplicationSetting xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <alpha>210</alpha>
+  <puttysAreTransparent>false</puttysAreTransparent>
+  <notTransparentPuttySetting>true</notTransparentPuttySetting>
+  <ngwords>
+    <string>sidebar</string>
+    <string>Saezuri</string>
+  </ngwords>
+</ApplicationSetting>
\ No newline at end of file
diff --git a/TraPutty/bin/Debug/TransparentizeWindow.vshost.exe.manifest b/TraPutty/bin/Debug/TransparentizeWindow.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/TraPutty/bin/Release/TraPutty.exe b/TraPutty/bin/Release/TraPutty.exe
new file mode 100644 (file)
index 0000000..bf3e95b
Binary files /dev/null and b/TraPutty/bin/Release/TraPutty.exe differ
diff --git a/TraPutty/bin/Release/TraPutty.pdb b/TraPutty/bin/Release/TraPutty.pdb
new file mode 100644 (file)
index 0000000..55cb88b
Binary files /dev/null and b/TraPutty/bin/Release/TraPutty.pdb differ
diff --git a/TraPutty/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/TraPutty/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
new file mode 100644 (file)
index 0000000..433c7f8
Binary files /dev/null and b/TraPutty/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ
diff --git a/TraPutty/obj/Debug/TraPutty.MainForm.resources b/TraPutty/obj/Debug/TraPutty.MainForm.resources
new file mode 100644 (file)
index 0000000..2eb11ae
Binary files /dev/null and b/TraPutty/obj/Debug/TraPutty.MainForm.resources differ
diff --git a/TraPutty/obj/Debug/TraPutty.Properties.Resources.resources b/TraPutty/obj/Debug/TraPutty.Properties.Resources.resources
new file mode 100644 (file)
index 0000000..06c24d0
Binary files /dev/null and b/TraPutty/obj/Debug/TraPutty.Properties.Resources.resources differ
diff --git a/TraPutty/obj/Debug/TraPutty.SettingForm.resources b/TraPutty/obj/Debug/TraPutty.SettingForm.resources
new file mode 100644 (file)
index 0000000..d1552c9
Binary files /dev/null and b/TraPutty/obj/Debug/TraPutty.SettingForm.resources differ
diff --git a/TraPutty/obj/Debug/TraPutty.csproj.FileListAbsolute.txt b/TraPutty/obj/Debug/TraPutty.csproj.FileListAbsolute.txt
new file mode 100644 (file)
index 0000000..89d1c79
--- /dev/null
@@ -0,0 +1,11 @@
+E:\Programming Sources\Windows Projects\traputty\TransparentizeWindow\bin\Debug\TraPutty.exe
+E:\Programming Sources\Windows Projects\traputty\TransparentizeWindow\bin\Debug\TraPutty.pdb
+E:\Programming Sources\Windows Projects\traputty\TransparentizeWindow\obj\Debug\ResolveAssemblyReference.cache
+E:\Programming Sources\Windows Projects\traputty\TransparentizeWindow\obj\Debug\TraPutty.MainForm.resources
+E:\Programming Sources\Windows Projects\traputty\TransparentizeWindow\obj\Debug\TraPutty.Properties.Resources.resources
+E:\Programming Sources\Windows Projects\traputty\TransparentizeWindow\obj\Debug\TraPutty.SettingForm.resources
+E:\Programming Sources\Windows Projects\traputty\TransparentizeWindow\obj\Debug\TraPutty.csproj.GenerateResource.Cache
+E:\Programming Sources\Windows Projects\traputty\TransparentizeWindow\obj\Debug\TraPutty.exe
+E:\Programming Sources\Windows Projects\traputty\TransparentizeWindow\obj\Debug\TraPutty.pdb
+E:\Programming Sources\Windows Projects\traputty\TraPutty\obj\Debug\TraPutty.exe
+E:\Programming Sources\Windows Projects\traputty\TraPutty\obj\Debug\TraPutty.pdb
diff --git a/TraPutty/obj/Debug/TraPutty.csproj.GenerateResource.Cache b/TraPutty/obj/Debug/TraPutty.csproj.GenerateResource.Cache
new file mode 100644 (file)
index 0000000..b65633e
Binary files /dev/null and b/TraPutty/obj/Debug/TraPutty.csproj.GenerateResource.Cache differ
diff --git a/TraPutty/obj/Debug/TraPutty.exe b/TraPutty/obj/Debug/TraPutty.exe
new file mode 100644 (file)
index 0000000..8389350
Binary files /dev/null and b/TraPutty/obj/Debug/TraPutty.exe differ
diff --git a/TraPutty/obj/Debug/TraPutty.pdb b/TraPutty/obj/Debug/TraPutty.pdb
new file mode 100644 (file)
index 0000000..2d75068
Binary files /dev/null and b/TraPutty/obj/Debug/TraPutty.pdb differ
diff --git a/TraPutty/obj/Debug/TransparentizePutty.MainForm.resources b/TraPutty/obj/Debug/TransparentizePutty.MainForm.resources
new file mode 100644 (file)
index 0000000..2eb11ae
Binary files /dev/null and b/TraPutty/obj/Debug/TransparentizePutty.MainForm.resources differ
diff --git a/TraPutty/obj/Debug/TransparentizePutty.Properties.Resources.resources b/TraPutty/obj/Debug/TransparentizePutty.Properties.Resources.resources
new file mode 100644 (file)
index 0000000..06c24d0
Binary files /dev/null and b/TraPutty/obj/Debug/TransparentizePutty.Properties.Resources.resources differ
diff --git a/TraPutty/obj/Debug/TransparentizePutty.SettingForm.resources b/TraPutty/obj/Debug/TransparentizePutty.SettingForm.resources
new file mode 100644 (file)
index 0000000..d1552c9
Binary files /dev/null and b/TraPutty/obj/Debug/TransparentizePutty.SettingForm.resources differ
diff --git a/TraPutty/obj/Debug/TransparentizeWindow.Form1.resources b/TraPutty/obj/Debug/TransparentizeWindow.Form1.resources
new file mode 100644 (file)
index 0000000..12eab6b
Binary files /dev/null and b/TraPutty/obj/Debug/TransparentizeWindow.Form1.resources differ
diff --git a/TraPutty/obj/Debug/TransparentizeWindow.Properties.Resources.resources b/TraPutty/obj/Debug/TransparentizeWindow.Properties.Resources.resources
new file mode 100644 (file)
index 0000000..06c24d0
Binary files /dev/null and b/TraPutty/obj/Debug/TransparentizeWindow.Properties.Resources.resources differ
diff --git a/TraPutty/obj/Debug/TransparentizeWindow.csproj.FileListAbsolute.txt b/TraPutty/obj/Debug/TransparentizeWindow.csproj.FileListAbsolute.txt
new file mode 100644 (file)
index 0000000..7a6c725
--- /dev/null
@@ -0,0 +1,17 @@
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\obj\Debug\ResolveAssemblyReference.cache
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\obj\Debug\TransparentizeWindow.csproj.GenerateResource.Cache
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\bin\Debug\TraPutty.exe
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\bin\Debug\TraPutty.pdb
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\obj\Debug\TraPutty.exe
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\obj\Debug\TraPutty.pdb
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\obj\Debug\TransparentizePutty.Form1.resources
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\obj\Debug\TransparentizePutty.Properties.Resources.resources
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\bin\Debug\TraPutty.exe
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\bin\Debug\TraPutty.pdb
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Debug\ResolveAssemblyReference.cache
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Debug\TransparentizePutty.Properties.Resources.resources
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Debug\TransparentizeWindow.csproj.GenerateResource.Cache
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Debug\TraPutty.exe
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Debug\TraPutty.pdb
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Debug\TransparentizePutty.SettingForm.resources
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Debug\TransparentizePutty.MainForm.resources
diff --git a/TraPutty/obj/Debug/TransparentizeWindow.csproj.GenerateResource.Cache b/TraPutty/obj/Debug/TransparentizeWindow.csproj.GenerateResource.Cache
new file mode 100644 (file)
index 0000000..2368993
Binary files /dev/null and b/TraPutty/obj/Debug/TransparentizeWindow.csproj.GenerateResource.Cache differ
diff --git a/TraPutty/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/TraPutty/obj/Release/TempPE/Properties.Resources.Designer.cs.dll
new file mode 100644 (file)
index 0000000..5fc6522
Binary files /dev/null and b/TraPutty/obj/Release/TempPE/Properties.Resources.Designer.cs.dll differ
diff --git a/TraPutty/obj/Release/TraPutty.exe b/TraPutty/obj/Release/TraPutty.exe
new file mode 100644 (file)
index 0000000..bf3e95b
Binary files /dev/null and b/TraPutty/obj/Release/TraPutty.exe differ
diff --git a/TraPutty/obj/Release/TraPutty.pdb b/TraPutty/obj/Release/TraPutty.pdb
new file mode 100644 (file)
index 0000000..55cb88b
Binary files /dev/null and b/TraPutty/obj/Release/TraPutty.pdb differ
diff --git a/TraPutty/obj/Release/TransparentizePutty.MainForm.resources b/TraPutty/obj/Release/TransparentizePutty.MainForm.resources
new file mode 100644 (file)
index 0000000..2eb11ae
Binary files /dev/null and b/TraPutty/obj/Release/TransparentizePutty.MainForm.resources differ
diff --git a/TraPutty/obj/Release/TransparentizePutty.Properties.Resources.resources b/TraPutty/obj/Release/TransparentizePutty.Properties.Resources.resources
new file mode 100644 (file)
index 0000000..06c24d0
Binary files /dev/null and b/TraPutty/obj/Release/TransparentizePutty.Properties.Resources.resources differ
diff --git a/TraPutty/obj/Release/TransparentizePutty.SettingForm.resources b/TraPutty/obj/Release/TransparentizePutty.SettingForm.resources
new file mode 100644 (file)
index 0000000..d1552c9
Binary files /dev/null and b/TraPutty/obj/Release/TransparentizePutty.SettingForm.resources differ
diff --git a/TraPutty/obj/Release/TransparentizeWindow.Form1.resources b/TraPutty/obj/Release/TransparentizeWindow.Form1.resources
new file mode 100644 (file)
index 0000000..12eab6b
Binary files /dev/null and b/TraPutty/obj/Release/TransparentizeWindow.Form1.resources differ
diff --git a/TraPutty/obj/Release/TransparentizeWindow.Properties.Resources.resources b/TraPutty/obj/Release/TransparentizeWindow.Properties.Resources.resources
new file mode 100644 (file)
index 0000000..06c24d0
Binary files /dev/null and b/TraPutty/obj/Release/TransparentizeWindow.Properties.Resources.resources differ
diff --git a/TraPutty/obj/Release/TransparentizeWindow.csproj.FileListAbsolute.txt b/TraPutty/obj/Release/TransparentizeWindow.csproj.FileListAbsolute.txt
new file mode 100644 (file)
index 0000000..4504454
--- /dev/null
@@ -0,0 +1,19 @@
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\obj\Release\ResolveAssemblyReference.cache
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\obj\Release\TransparentizeWindow.csproj.GenerateResource.Cache
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\bin\Release\TraPutty.exe
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\bin\Release\TraPutty.pdb
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\obj\Release\TraPutty.exe
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\obj\Release\TraPutty.pdb
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\obj\Release\TransparentizePutty.Form1.resources
+E:\Programming Sources\Windows Application\Visual C# 2008\TransparentizeWindow\TransparentizeWindow\obj\Release\TransparentizePutty.Properties.Resources.resources
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Release\TraPutty.exe
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Release\TraPutty.pdb
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\bin\Release\TraPutty.exe
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\bin\Release\TraPutty.pdb
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Release\ResolveAssemblyReference.cache
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Release\TransparentizePutty.Properties.Resources.resources
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Release\TransparentizeWindow.csproj.GenerateResource.Cache
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Release\TransparentizePutty.MainForm.resources
+E:\Programming Sources\Subversion Repositories\traputty\TransparentizeWindow\obj\Release\TransparentizePutty.SettingForm.resources
+E:\Programming Sources\Windows Projects\traputty\TransparentizeWindow\obj\Release\TraPutty.exe
+E:\Programming Sources\Windows Projects\traputty\TransparentizeWindow\obj\Release\TraPutty.pdb
diff --git a/TraPutty/obj/Release/TransparentizeWindow.csproj.GenerateResource.Cache b/TraPutty/obj/Release/TransparentizeWindow.csproj.GenerateResource.Cache
new file mode 100644 (file)
index 0000000..b65633e
Binary files /dev/null and b/TraPutty/obj/Release/TransparentizeWindow.csproj.GenerateResource.Cache differ