using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;
namespace WallChange
{
///
/// Summary description for Form1.
///
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.Button button2;
public const int SPI_SETDESKWALLPAPER = 20;
public const int SPIF_SENDCHANGE = 0x2;
public int picIndex ;
private System.ComponentModel.IContainer components;
private System.Windows.Forms.CheckedListBox mycheckedListBox;
private System.Windows.Forms.Button btnDel;
private System.Windows.Forms.Timer timer1;
string fileName;
string localPath;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.ComboBox cmbTime;
private int GlobalTimer;
private int timerInterval;
int[] myArray;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
GlobalTimer = 0;
timerInterval = 20;
myArray = new int[] {1, 2, 5, 10, 30 ,60 ,120 ,1440, 2880};
localPath = System.IO.Directory.GetCurrentDirectory();
picIndex = 0;
}
///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
this.button1 = new System.Windows.Forms.Button();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.button2 = new System.Windows.Forms.Button();
this.mycheckedListBox = new System.Windows.Forms.CheckedListBox();
this.btnDel = new System.Windows.Forms.Button();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.label1 = new System.Windows.Forms.Label();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.cmbTime = new System.Windows.Forms.ComboBox();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(64, 8);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(64, 24);
this.button1.TabIndex = 0;
this.button1.Text = "Change";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(8, 8);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(48, 24);
this.button2.TabIndex = 2;
this.button2.Text = "&Open";
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// mycheckedListBox
//
this.mycheckedListBox.ColumnWidth = 300;
this.mycheckedListBox.HorizontalScrollbar = true;
this.mycheckedListBox.Location = new System.Drawing.Point(8, 48);
this.mycheckedListBox.Name = "mycheckedListBox";
this.mycheckedListBox.Size = new System.Drawing.Size(440, 154);
this.mycheckedListBox.Sorted = true;
this.mycheckedListBox.TabIndex = 3;
this.mycheckedListBox.SelectedIndexChanged += new System.EventHandler(this.mycheckedListBox_SelectedIndexChanged);
//
// btnDel
//
this.btnDel.Location = new System.Drawing.Point(136, 8);
this.btnDel.Name = "btnDel";
this.btnDel.Size = new System.Drawing.Size(64, 24);
this.btnDel.TabIndex = 4;
this.btnDel.Text = "Delete";
this.btnDel.Click += new System.EventHandler(this.btnDel_Click);
//
// timer1
//
this.timer1.Enabled = true;
this.timer1.Interval = 5000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// label1
//
this.label1.Location = new System.Drawing.Point(376, 8);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(72, 24);
this.label1.TabIndex = 5;
this.label1.Text = "Written By : Kfir Arbel";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// checkBox1
//
this.checkBox1.Location = new System.Drawing.Point(208, 8);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(80, 24);
this.checkBox1.TabIndex = 6;
this.checkBox1.Text = "Random";
//
// cmbTime
//
this.cmbTime.Items.AddRange(new object[] {
"1 min",
"2 min",
"5 min",
"10 min",
"30 min",
"1 hour",
"2 hour",
"1 Day",
"2 Day"});
this.cmbTime.Location = new System.Drawing.Point(280, 8);
this.cmbTime.Name = "cmbTime";
this.cmbTime.Size = new System.Drawing.Size(72, 21);
this.cmbTime.TabIndex = 7;
this.cmbTime.Text = "Time";
this.cmbTime.SelectedIndexChanged += new System.EventHandler(this.cmbTime_SelectedIndexChanged);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(472, 221);
this.Controls.Add(this.cmbTime);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.label1);
this.Controls.Add(this.btnDel);
this.Controls.Add(this.mycheckedListBox);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "Form1";
this.Text = "WallPaper";
this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
}
#endregion
///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
//if (File.Exists(textBox1.Text))
//{
fSetBMP();
int nResult = WinAPI.SystemParametersInfo(SPI_SETDESKWALLPAPER,1,fileName,SPIF_SENDCHANGE);
UpdateFile();
}
private void fSetBMP()
{
picIndex = (picIndex + 1) % mycheckedListBox.CheckedItems.Count;
if (checkBox1.Checked == true )
{
Random rnd = new Random();
picIndex = ( rnd.Next(mycheckedListBox.CheckedItems.Count))
% mycheckedListBox.CheckedItems.Count;
}
mycheckedListBox.SelectedIndex = picIndex;
if (fileName.EndsWith (".jpg") ||
fileName.EndsWith (".JPG") ||
fileName.EndsWith (".Jpg") ||
fileName.EndsWith (".jpeg") ||
fileName.EndsWith (".JPEG") ||
fileName.EndsWith (".Jpeg")
)
{
Bitmap theImage = new Bitmap(fileName);
theImage.Save (localPath + "/new.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
fileName = localPath + "/new.bmp";
}
}
private void UpdateFile()
{
using (FileStream fs = new FileStream (localPath + "/My.ini", FileMode.OpenOrCreate))
{
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.Flush();
m_streamWriter.BaseStream.Seek(0,SeekOrigin.Begin);
m_streamWriter.WriteLine(picIndex.ToString());
m_streamWriter.Flush();
m_streamWriter.Close();
}
}
private void button2_Click(object sender, System.EventArgs e)
{
//change the initial directory if required.
openFileDialog1.InitialDirectory = @"c:/";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
fileName = openFileDialog1.FileName;
mycheckedListBox.Items.Add (fileName,CheckState.Checked);
UpdateFile();
// using (FileStream fs = new FileStream ("My.ini", FileMode.OpenOrCreate))
// {
//
// StreamWriter m_streamWriter = new StreamWriter(fs);
// m_streamWriter.Flush();
// m_streamWriter.BaseStream.Seek(0,SeekOrigin.Begin);
// //m_streamWriter.WriteLine(DateTime.Now.ToString() + ":");
// m_streamWriter.WriteLine(picIndex.ToString());
//
// for (int i=0; i< mycheckedListBox.CheckedItems.Count;i++)
// {
// //listBox1.Items.Add(mycheckedListBox.CheckedItems[i]);
// m_streamWriter.WriteLine(mycheckedListBox.Items[i].ToString());
// }
// m_streamWriter.Flush();
// m_streamWriter.Close();
// }
}
}
private void Form1_Load(object sender, System.EventArgs e)
{
if (File.Exists("My.ini"))
{
using (FileStream fs = new FileStream ("My.ini", FileMode.OpenOrCreate))
{
StreamReader m_streamReader = new StreamReader(fs);
m_streamReader.BaseStream.Seek(0,SeekOrigin.Begin);
string strLine = m_streamReader.ReadLine();
picIndex = Int32.Parse(strLine);
m_streamReader.Close();
}
}
mycheckedListBox.Items.Clear();
fSetList("*.bmp");
fSetList("*.jpg");
fSetList("*.jpeg");
mycheckedListBox.SelectedIndex = picIndex;
fileName = mycheckedListBox.Items[picIndex].ToString();
}
private void fSetList(string strExt)
{
string[] dirs = Directory.GetFiles(localPath , strExt );
foreach (string dir in dirs)
{
if (dir.Equals (localPath + "/new.bmp") == false)
{
mycheckedListBox.Items.Add (dir ,CheckState.Checked);
}
}
}
public bool m_bcheckChangePossible = true;
private void mycheckedListBox_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (m_bcheckChangePossible)
fileName = mycheckedListBox.SelectedItem.ToString();
}
private void btnDel_Click(object sender, System.EventArgs e)
{
m_bcheckChangePossible = false;
int Index = mycheckedListBox.SelectedIndex;
mycheckedListBox.Items.RemoveAt(Index);
fileName = mycheckedListBox.SelectedIndex.ToString();
m_bcheckChangePossible = true;
}
private void timer1_Tick(object sender, System.EventArgs e)
{
GlobalTimer = GlobalTimer + 1;
if (GlobalTimer > timerInterval)
{
// int nResult ;
// if (fileName.EndsWith (".jpg"))
// {
// Bitmap theImage = new Bitmap(fileName);
// theImage.Save (localPath + "/new.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
// fileName = localPath + "/new.bmp";
// }
// //if (File.Exists(textBox1.Text))
// //{
// nResult = WinAPI.SystemParametersInfo(SPI_SETDESKWALLPAPER,1,fileName,SPIF_SENDCHANGE);
// picIndex = (picIndex + 1 ) % mycheckedListBox.CheckedItems.Count;
// mycheckedListBox.SelectedIndex = picIndex;
fSetBMP();
int nResult = WinAPI.SystemParametersInfo(SPI_SETDESKWALLPAPER,1,fileName,SPIF_SENDCHANGE);
UpdateFile();
GlobalTimer = 0;
}
}
private void cmbTime_SelectedIndexChanged(object sender, System.EventArgs e)
{
timerInterval = myArray [cmbTime.SelectedIndex] * 12;
}
}
public class WinAPI
{
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int SystemParametersInfo (int uAction , int uParam , string lpvParam , int fuWinIni) ;
public const int SPI_SETDESKWALLPAPER = 20;
public const int SPIF_SENDCHANGE = 0x2;
}
}
|