diff --git a/Hummingbird Nest/Form1.Designer.cs b/Hummingbird Nest/Form1.Designer.cs new file mode 100644 index 0000000..fe506fe --- /dev/null +++ b/Hummingbird Nest/Form1.Designer.cs @@ -0,0 +1,280 @@ +namespace Hummingbird_Nest +{ + partial class Main + { + /// + /// Variable del diseñador requerida. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Limpiar los recursos que se estén utilizando. + /// + /// true si los recursos administrados se deben eliminar; false en caso contrario, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Código generado por el Diseñador de Windows Forms + + /// + /// Método necesario para admitir el Diseñador. No se puede modificar + /// el contenido del método con el editor de código. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main)); + this.tabContainter = new System.Windows.Forms.TabControl(); + this.tabHum = new System.Windows.Forms.TabPage(); + this.tabListen = new System.Windows.Forms.TabPage(); + this.gbHumInfo = new System.Windows.Forms.GroupBox(); + this.gbHumPic = new System.Windows.Forms.GroupBox(); + this.tbHumInfo = new System.Windows.Forms.TextBox(); + this.tbHumPic = new System.Windows.Forms.TextBox(); + this.btHumInfo = new System.Windows.Forms.Button(); + this.btHumPic = new System.Windows.Forms.Button(); + this.btHum = new System.Windows.Forms.Button(); + this.gbListen = new System.Windows.Forms.GroupBox(); + this.btListenFile = new System.Windows.Forms.Button(); + this.tbListenFile = new System.Windows.Forms.TextBox(); + this.btListen = new System.Windows.Forms.Button(); + this.OFDListen = new System.Windows.Forms.OpenFileDialog(); + this.SFDListen = new System.Windows.Forms.SaveFileDialog(); + this.OFDHumInfo = new System.Windows.Forms.OpenFileDialog(); + this.OFDHumPic = new System.Windows.Forms.OpenFileDialog(); + this.SFDHum = new System.Windows.Forms.SaveFileDialog(); + this.tabContainter.SuspendLayout(); + this.tabHum.SuspendLayout(); + this.tabListen.SuspendLayout(); + this.gbHumInfo.SuspendLayout(); + this.gbHumPic.SuspendLayout(); + this.gbListen.SuspendLayout(); + this.SuspendLayout(); + // + // tabContainter + // + this.tabContainter.Appearance = System.Windows.Forms.TabAppearance.FlatButtons; + this.tabContainter.Controls.Add(this.tabHum); + this.tabContainter.Controls.Add(this.tabListen); + this.tabContainter.Dock = System.Windows.Forms.DockStyle.Fill; + this.tabContainter.HotTrack = true; + this.tabContainter.Location = new System.Drawing.Point(0, 0); + this.tabContainter.Name = "tabContainter"; + this.tabContainter.SelectedIndex = 0; + this.tabContainter.Size = new System.Drawing.Size(373, 171); + this.tabContainter.TabIndex = 0; + // + // tabHum + // + this.tabHum.Controls.Add(this.btHum); + this.tabHum.Controls.Add(this.gbHumPic); + this.tabHum.Controls.Add(this.gbHumInfo); + this.tabHum.Location = new System.Drawing.Point(4, 25); + this.tabHum.Name = "tabHum"; + this.tabHum.Padding = new System.Windows.Forms.Padding(3); + this.tabHum.Size = new System.Drawing.Size(365, 142); + this.tabHum.TabIndex = 0; + this.tabHum.Text = "Hum"; + // + // tabListen + // + this.tabListen.Controls.Add(this.btListen); + this.tabListen.Controls.Add(this.gbListen); + this.tabListen.Location = new System.Drawing.Point(4, 25); + this.tabListen.Name = "tabListen"; + this.tabListen.Padding = new System.Windows.Forms.Padding(3); + this.tabListen.Size = new System.Drawing.Size(365, 142); + this.tabListen.TabIndex = 1; + this.tabListen.Text = "Listen"; + // + // gbHumInfo + // + this.gbHumInfo.Controls.Add(this.btHumInfo); + this.gbHumInfo.Controls.Add(this.tbHumInfo); + this.gbHumInfo.Dock = System.Windows.Forms.DockStyle.Top; + this.gbHumInfo.Location = new System.Drawing.Point(3, 3); + this.gbHumInfo.Name = "gbHumInfo"; + this.gbHumInfo.Size = new System.Drawing.Size(359, 50); + this.gbHumInfo.TabIndex = 0; + this.gbHumInfo.TabStop = false; + this.gbHumInfo.Text = "File to hide"; + // + // gbHumPic + // + this.gbHumPic.Controls.Add(this.btHumPic); + this.gbHumPic.Controls.Add(this.tbHumPic); + this.gbHumPic.Dock = System.Windows.Forms.DockStyle.Top; + this.gbHumPic.Location = new System.Drawing.Point(3, 53); + this.gbHumPic.Name = "gbHumPic"; + this.gbHumPic.Size = new System.Drawing.Size(359, 49); + this.gbHumPic.TabIndex = 1; + this.gbHumPic.TabStop = false; + this.gbHumPic.Text = "Picture to hide file in"; + // + // tbHumInfo + // + this.tbHumInfo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbHumInfo.Location = new System.Drawing.Point(6, 19); + this.tbHumInfo.Name = "tbHumInfo"; + this.tbHumInfo.ReadOnly = true; + this.tbHumInfo.Size = new System.Drawing.Size(266, 20); + this.tbHumInfo.TabIndex = 0; + // + // tbHumPic + // + this.tbHumPic.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbHumPic.Location = new System.Drawing.Point(6, 19); + this.tbHumPic.Name = "tbHumPic"; + this.tbHumPic.ReadOnly = true; + this.tbHumPic.Size = new System.Drawing.Size(266, 20); + this.tbHumPic.TabIndex = 0; + // + // btHumInfo + // + this.btHumInfo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btHumInfo.Location = new System.Drawing.Point(278, 17); + this.btHumInfo.Name = "btHumInfo"; + this.btHumInfo.Size = new System.Drawing.Size(75, 23); + this.btHumInfo.TabIndex = 1; + this.btHumInfo.Text = "Browse..."; + this.btHumInfo.UseVisualStyleBackColor = true; + this.btHumInfo.Click += new System.EventHandler(this.btHumInfo_Click); + // + // btHumPic + // + this.btHumPic.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btHumPic.Location = new System.Drawing.Point(278, 17); + this.btHumPic.Name = "btHumPic"; + this.btHumPic.Size = new System.Drawing.Size(75, 23); + this.btHumPic.TabIndex = 1; + this.btHumPic.Text = "Browse..."; + this.btHumPic.UseVisualStyleBackColor = true; + this.btHumPic.Click += new System.EventHandler(this.btHumPic_Click); + // + // btHum + // + this.btHum.Location = new System.Drawing.Point(147, 108); + this.btHum.Name = "btHum"; + this.btHum.Size = new System.Drawing.Size(75, 23); + this.btHum.TabIndex = 2; + this.btHum.Text = "Hum!!!"; + this.btHum.UseVisualStyleBackColor = true; + this.btHum.Click += new System.EventHandler(this.btHum_Click); + // + // gbListen + // + this.gbListen.Controls.Add(this.btListenFile); + this.gbListen.Controls.Add(this.tbListenFile); + this.gbListen.Dock = System.Windows.Forms.DockStyle.Top; + this.gbListen.Location = new System.Drawing.Point(3, 3); + this.gbListen.Name = "gbListen"; + this.gbListen.Size = new System.Drawing.Size(359, 50); + this.gbListen.TabIndex = 1; + this.gbListen.TabStop = false; + this.gbListen.Text = "Select file"; + // + // btListenFile + // + this.btListenFile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btListenFile.Location = new System.Drawing.Point(278, 17); + this.btListenFile.Name = "btListenFile"; + this.btListenFile.Size = new System.Drawing.Size(75, 23); + this.btListenFile.TabIndex = 1; + this.btListenFile.Text = "Browse..."; + this.btListenFile.UseVisualStyleBackColor = true; + this.btListenFile.Click += new System.EventHandler(this.btListenFile_Click); + // + // tbListenFile + // + this.tbListenFile.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbListenFile.Location = new System.Drawing.Point(6, 19); + this.tbListenFile.Name = "tbListenFile"; + this.tbListenFile.ReadOnly = true; + this.tbListenFile.Size = new System.Drawing.Size(266, 20); + this.tbListenFile.TabIndex = 0; + // + // btListen + // + this.btListen.Location = new System.Drawing.Point(145, 59); + this.btListen.Name = "btListen"; + this.btListen.Size = new System.Drawing.Size(75, 23); + this.btListen.TabIndex = 2; + this.btListen.Text = "Listen!!!"; + this.btListen.UseVisualStyleBackColor = true; + this.btListen.Click += new System.EventHandler(this.btListen_Click); + // + // OFDListen + // + this.OFDListen.Filter = "Bitmap|*.bmp"; + // + // SFDListen + // + this.SFDListen.Filter = "All files|*.*"; + // + // OFDHumInfo + // + this.OFDHumInfo.Filter = "All files|*.*"; + // + // OFDHumPic + // + this.OFDHumPic.Filter = "Bitmap|*.bmp"; + // + // SFDHum + // + this.SFDHum.Filter = "Bitmap|*.bmp"; + // + // Main + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(373, 171); + this.Controls.Add(this.tabContainter); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "Main"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Hummingbird"; + this.tabContainter.ResumeLayout(false); + this.tabHum.ResumeLayout(false); + this.tabListen.ResumeLayout(false); + this.gbHumInfo.ResumeLayout(false); + this.gbHumInfo.PerformLayout(); + this.gbHumPic.ResumeLayout(false); + this.gbHumPic.PerformLayout(); + this.gbListen.ResumeLayout(false); + this.gbListen.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl tabContainter; + private System.Windows.Forms.TabPage tabHum; + private System.Windows.Forms.TabPage tabListen; + private System.Windows.Forms.GroupBox gbHumPic; + private System.Windows.Forms.Button btHumPic; + private System.Windows.Forms.TextBox tbHumPic; + private System.Windows.Forms.GroupBox gbHumInfo; + private System.Windows.Forms.Button btHumInfo; + private System.Windows.Forms.TextBox tbHumInfo; + private System.Windows.Forms.Button btHum; + private System.Windows.Forms.Button btListen; + private System.Windows.Forms.GroupBox gbListen; + private System.Windows.Forms.Button btListenFile; + private System.Windows.Forms.TextBox tbListenFile; + private System.Windows.Forms.OpenFileDialog OFDListen; + private System.Windows.Forms.SaveFileDialog SFDListen; + private System.Windows.Forms.OpenFileDialog OFDHumInfo; + private System.Windows.Forms.OpenFileDialog OFDHumPic; + private System.Windows.Forms.SaveFileDialog SFDHum; + } +} + diff --git a/Hummingbird Nest/Form1.cs b/Hummingbird Nest/Form1.cs new file mode 100644 index 0000000..e240e89 --- /dev/null +++ b/Hummingbird Nest/Form1.cs @@ -0,0 +1,168 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.IO; + +namespace Hummingbird_Nest +{ + public partial class Main : Form + { + public Main() + { + InitializeComponent(); + } + + private void btListen_Click(object sender, EventArgs e) + { + if (File.Exists(OFDListen.FileName)) + { + if (SFDListen.ShowDialog() == DialogResult.OK) + { + FileInfo fiFile = new FileInfo(OFDListen.FileName); + BinaryReader brFile = new BinaryReader(fiFile.OpenRead()); + + byte[] header = brFile.ReadBytes(54); + + int inicio = header[10] + (header[11] << 8) + (header[12] << 16) + (header[13] << 24); + int tamano = header[6] + (header[7] << 8) + (header[8] << 16) + (header[9] << 24); + + BinaryWriter bwDump = new BinaryWriter(new FileStream(SFDListen.FileName, FileMode.Create)); + + brFile.ReadBytes(inicio - 54); + + byte temp = 0; + for (int i = 0; i < tamano; i++) + { + temp = 0; + byte[] tupla = brFile.ReadBytes(8); + for (int j = 0; j < tupla.Length; j++) + { + temp += (byte)((tupla[j] % 2) << j); + } + bwDump.Write(temp); + } + bwDump.Flush(); + bwDump.Close(); + brFile.Close(); + MessageBox.Show("File was successfully created", "Goal achieved", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + else + { + MessageBox.Show("Source file does not exist", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + } + + private void btListenFile_Click(object sender, EventArgs e) + { + if (OFDListen.ShowDialog() == DialogResult.OK) + { + tbListenFile.Text = OFDListen.FileName; + } + } + + private void btHumInfo_Click(object sender, EventArgs e) + { + if (OFDHumInfo.ShowDialog() == DialogResult.OK) + { + tbHumInfo.Text = OFDHumInfo.FileName; + } + } + + private void btHumPic_Click(object sender, EventArgs e) + { + if (OFDHumPic.ShowDialog() == DialogResult.OK) + { + tbHumPic.Text = OFDHumPic.FileName; + } + } + + private void btHum_Click(object sender, EventArgs e) + { + if (File.Exists(OFDHumInfo.FileName) && File.Exists(OFDHumPic.FileName)) + { + if (SFDHum.ShowDialog() == DialogResult.OK) + { + FileInfo fiInfo = new FileInfo(OFDHumInfo.FileName); + FileInfo fiPic = new FileInfo(OFDHumPic.FileName); + BinaryReader brInfo = new BinaryReader(fiInfo.OpenRead()); + BinaryReader brPic = new BinaryReader(fiPic.OpenRead()); + + byte[] header = brPic.ReadBytes(54); + + int inicio = header[10] + (header[11] << 8) + (header[12] << 16) + (header[13] << 24); + int tamanoPic = header[34] + (header[35] << 8) + (header[36] << 16) + (header[37] << 24); + int tamanoInfo = (int)fiInfo.Length; + + if (tamanoInfo*8<=tamanoPic) + { + header[6] = (byte)(tamanoInfo % 256); + header[7] = (byte)((tamanoInfo >> 8) % 256); + header[8] = (byte)((tamanoInfo >> 16) % 256); + header[9] = (byte)((tamanoInfo >> 24) % 256); + + BinaryWriter bwDump = new BinaryWriter(new FileStream(SFDHum.FileName, FileMode.Create)); + + bwDump.Write(header); + bwDump.Write(brPic.ReadBytes(inicio - 54)); + bwDump.Flush(); + + byte byteInfo = 0; + byte bytePic = 0; + int bit = 0; + + for (int i = 0; i < tamanoInfo; i++) + { + byteInfo=brInfo.ReadByte(); + for (int j = 0; j < 8; j++) + { + bytePic = brPic.ReadByte(); + bit = (byteInfo >> j) % 2; + + if (bytePic % 2 == bit) + { + bwDump.Write(bytePic); + } + else + { + if (bit == 1) + { + bwDump.Write(++bytePic); + } + else + { + bwDump.Write(--bytePic); + } + } + } + } + bwDump.Write(brPic.ReadBytes((int)(fiPic.Length - (tamanoInfo * 8)))); + bwDump.Flush(); + bwDump.Close(); + brPic.Close(); + brInfo.Close(); + MessageBox.Show("File was successfully created", "Goal achieved", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + else + { + MessageBox.Show("Bitmap is too small to fit the information", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + else + { + MessageBox.Show("A target file must be defined", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + else + { + MessageBox.Show("Source files do not exist", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} \ No newline at end of file diff --git a/Hummingbird Nest/Form1.resx b/Hummingbird Nest/Form1.resx new file mode 100644 index 0000000..c559096 --- /dev/null +++ b/Hummingbird Nest/Form1.resx @@ -0,0 +1,272 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 124, 17 + + + 445, 17 + + + 228, 17 + + + 346, 17 + + + + + AAABAAMAICAAAAEAIACoEAAANgAAABgYAAABACAAiAkAAN4QAAAQEAAAAQAgAGgEAABmGgAAKAAAACAA + AABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAMAAAABwAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAACIAAAAeAAAADAAA + AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADQAAABUAAAAUAAAADAAAAAMAAAAKCiiv/wUT + VVAAAAAkAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAsAAAAPwAAAD0AAAAoAAAADAAA + AAIJJaJuCiiv/wgehIEAAAAlAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAG1h0OMRigD3/YoA9/1Nr + M6QAAAAUAAAAAAAAAAIJJKBpCiiv/wcdgYEAAAAmAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAIAAAADQAAABQ+USdZaYo//42+ + Uf+Pw2v/YYA8/wAAABYAAAAAAAAAAAAAAAIJJaF9Ciiv/wcdfoIAAAAnAAAAEAAAAAMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAACQAAABEAAAAXAAAAHwAAACcAAAAwAAAAOiQv + FmNwijv/saYm/87Skf9dfjr/AAAAEwAAAAAAAAAAAAAAAAAAAAQKJqi3Ciiv/wccfYIAAAAtAAAAFAAA + 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 + AAD4AQAA+AEAAPjBAAD9wQAA/+EAAP/5AAA= + + + \ No newline at end of file diff --git a/Hummingbird Nest/Hummingbird Nest.csproj b/Hummingbird Nest/Hummingbird Nest.csproj new file mode 100644 index 0000000..70bc088 --- /dev/null +++ b/Hummingbird Nest/Hummingbird Nest.csproj @@ -0,0 +1,135 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {6156AC38-6A5F-4826-AA6B-D57A308472E1} + WinExe + Properties + Hummingbird_Nest + Hummingbird Nest + v4.0 + Client + 512 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + hummingbird.ico + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + False + Microsoft .NET Framework 4 Client Profile %28x86 y x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + Windows Installer 3.1 + true + + + + + \ No newline at end of file diff --git a/Hummingbird Nest/Program.cs b/Hummingbird Nest/Program.cs new file mode 100644 index 0000000..7063d33 --- /dev/null +++ b/Hummingbird Nest/Program.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace Hummingbird_Nest +{ + static class Program + { + /// + /// Punto de entrada principal para la aplicación. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Main()); + } + } +} diff --git a/Hummingbird Nest/Properties/AssemblyInfo.cs b/Hummingbird Nest/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..282a239 --- /dev/null +++ b/Hummingbird Nest/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// La información general sobre un ensamblado se controla mediante el siguiente +// conjunto de atributos. Cambie estos atributos para modificar la información +// asociada con un ensamblado. +[assembly: AssemblyTitle("Hummingbird Nest")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Hummingbird Nest")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Si establece ComVisible como false, los tipos de este ensamblado no estarán visibles +// para los componentes COM. Si necesita obtener acceso a un tipo de este ensamblado desde +// COM, establezca el atributo ComVisible como true en este tipo. +[assembly: ComVisible(false)] + +// El siguiente GUID sirve como identificador de typelib si este proyecto se expone a COM +[assembly: Guid("fdf2218c-450e-4872-ba5d-b9106d00ad11")] + +// La información de versión de un ensamblado consta de los cuatro valores siguientes: +// +// Versión principal +// Versión secundaria +// Número de compilación +// Revisión +// +// Puede especificar todos los valores o establecer como predeterminados los números de versión de compilación y de revisión +// mediante el asterisco ('*'), como se muestra a continuación: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Hummingbird Nest/Properties/Resources.Designer.cs b/Hummingbird Nest/Properties/Resources.Designer.cs new file mode 100644 index 0000000..d9ade52 --- /dev/null +++ b/Hummingbird Nest/Properties/Resources.Designer.cs @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// +// Este código fue generado por una herramienta. +// Versión de runtime:4.0.30319.296 +// +// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si +// se vuelve a generar el código. +// +//------------------------------------------------------------------------------ + +namespace Hummingbird_Nest.Properties { + using System; + + + /// + /// Clase de recurso con establecimiento inflexible de tipos, para buscar cadenas traducidas, etc. + /// + // StronglyTypedResourceBuilder generó automáticamente esta clase + // a través de una herramienta como ResGen o Visual Studio. + // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen + // con la opción /str o vuelva a generar su proyecto de VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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() { + } + + /// + /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. + /// + [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("Hummingbird_Nest.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las + /// búsquedas de recursos mediante esta clase de recurso con establecimiento inflexible de tipos. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + internal static System.Drawing.Icon hummingbird { + get { + object obj = ResourceManager.GetObject("hummingbird", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + } +} diff --git a/Hummingbird Nest/Properties/Resources.resx b/Hummingbird Nest/Properties/Resources.resx new file mode 100644 index 0000000..73a0deb --- /dev/null +++ b/Hummingbird Nest/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\resources\hummingbird.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Hummingbird Nest/Properties/Settings.Designer.cs b/Hummingbird Nest/Properties/Settings.Designer.cs new file mode 100644 index 0000000..80d3468 --- /dev/null +++ b/Hummingbird Nest/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.296 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Hummingbird_Nest.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.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/Hummingbird Nest/Properties/Settings.settings b/Hummingbird Nest/Properties/Settings.settings new file mode 100644 index 0000000..abf36c5 --- /dev/null +++ b/Hummingbird Nest/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Hummingbird Nest/Settings.cs b/Hummingbird Nest/Settings.cs new file mode 100644 index 0000000..ec1b67d --- /dev/null +++ b/Hummingbird Nest/Settings.cs @@ -0,0 +1,28 @@ +namespace Hummingbird_Nest.Properties { + + + // Esta clase le permite controlar eventos específicos en la clase de configuración: + // El evento SettingChanging se desencadena antes de cambiar un valor de configuración. + // El evento PropertyChanged se desencadena después de cambiar el valor de configuración. + // El evento SettingsLoaded se desencadena después de cargar los valores de configuración. + // El evento SettingsSaving se desencadena antes de guardar los valores de configuración. + internal sealed partial class Settings { + + public Settings() { + // // Para agregar los controladores de eventos para guardar y cambiar la configuración, quite la marca de comentario de las líneas: + // + // this.SettingChanging += this.SettingChangingEventHandler; + // + // this.SettingsSaving += this.SettingsSavingEventHandler; + // + } + + private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) { + // Agregar código para administrar aquí el evento SettingChangingEvent. + } + + private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) { + // Agregar código para administrar aquí el evento SettingsSaving. + } + } +} diff --git a/Hummingbird Nest/hummingbird.ico b/Hummingbird Nest/hummingbird.ico new file mode 100644 index 0000000..6206302 Binary files /dev/null and b/Hummingbird Nest/hummingbird.ico differ diff --git a/Hummingbird Nest/resources/hummingbird.ico b/Hummingbird Nest/resources/hummingbird.ico new file mode 100644 index 0000000..6206302 Binary files /dev/null and b/Hummingbird Nest/resources/hummingbird.ico differ diff --git a/Hummingbird.sln b/Hummingbird.sln new file mode 100644 index 0000000..cf27135 --- /dev/null +++ b/Hummingbird.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hummingbird Nest", "Hummingbird Nest\Hummingbird Nest.csproj", "{6156AC38-6A5F-4826-AA6B-D57A308472E1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6156AC38-6A5F-4826-AA6B-D57A308472E1}.Debug|x86.ActiveCfg = Debug|x86 + {6156AC38-6A5F-4826-AA6B-D57A308472E1}.Debug|x86.Build.0 = Debug|x86 + {6156AC38-6A5F-4826-AA6B-D57A308472E1}.Release|x86.ActiveCfg = Release|x86 + {6156AC38-6A5F-4826-AA6B-D57A308472E1}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal