程序附件


using
System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using System.IO; using System.Resources; using System.Reflection; using System.Runtime.InteropServices; namespace newExtIcon { public partial class MainForm : Form { public Assembly asm = Assembly.GetExecutingAssembly(); public MainForm() { InitializeComponent(); } void MainForm_Load(object sender ,EventArgs e) { lbl_display.Text ="No Work !"; } void btnExtractClick(object sender, EventArgs e) { Random rd = new Random(); openFileDialog1.Filter="应用程序|*.dll;*.exe|所有程序|*.*"; if(openFileDialog1.ShowDialog()== DialogResult.OK) { Icon icon = Icon.ExtractAssociatedIcon(openFileDialog1.FileName); FileStream fileStream = new FileStream("d:\\"+rd.Next(1,100000)+".ico",FileMode.Create); icon.Save(fileStream); fileStream.Close(); lbl_display.Text="Work Done!"; } else { return ; } } void BtnChangeClick(object sender, EventArgs e) { Size sz = new Size(32,32); Random rd = new Random(); openFileDialog1.Filter="图片|*.jpg;*.png;*.bmp|所有程序|*.*"; //openFileDialog1.Filter="图片|*.jpg;*.png;*.bmp|应用程序|*.dll;*.exe"; if(openFileDialog1.ShowDialog()== DialogResult.OK) { using(Bitmap bm = new Bitmap(openFileDialog1.FileName)) { using(Bitmap IconBM = new Bitmap(bm,sz)) { using(Icon icon_t = Icon.FromHandle(IconBM.GetHicon())) { FileStream fileStream = new FileStream("d:\\"+rd.Next(1,100000)+".ico",FileMode.Create); icon_t.Save(fileStream); fileStream.Close(); lbl_display.Text="Work Done!"; } } } } else { return ; } } void Pic_Click(object sender, System.EventArgs e) { int int_index = Convert.ToInt32(((PictureBox)sender).Tag) ; switch(int_index) { case 1: this.Close(); Application.Exit(); break; case 2: WindowState = FormWindowState.Minimized; break; default : break; } } void Pic_Hover(object sender,EventArgs e) { string name_1 = "btn_close_hightligth.png"; string name_2 ="btn_mini_highlight.png"; Bitmap bm_1 = new Bitmap(asm.GetManifestResourceStream(name_1)); Bitmap bm_2 = new Bitmap(asm.GetManifestResourceStream(name_2)); int int_index = Convert.ToInt32(((PictureBox)sender).Tag) ; switch(int_index) { case 1: pictureBox1.BackgroundImage=bm_1; break; case 2: pictureBox2 .BackgroundImage = bm_2; break; default : break; } } void Pic_Leave(object sender,EventArgs e) { string name_1 = "btn_close_down.png"; string name_2 ="btn_mini_down.png"; Bitmap bm_1 = new Bitmap(asm.GetManifestResourceStream(name_1)); Bitmap bm_2 = new Bitmap(asm.GetManifestResourceStream(name_2)); //GetMainfestResourceStream获取的是流 int int_index = Convert.ToInt32(((PictureBox)sender).Tag) ; switch(int_index) { case 1: pictureBox1.BackgroundImage=bm_1; break; case 2: pictureBox2 .BackgroundImage = bm_2; break; default : break; } } private const int WM_NCLBUTTONDOWN = 0xA1; private const int HTCAPTION = 2; [DllImport("user32.dll")] private static extern int SendMessage (int hwnd, int wMsg, int wParam, int lParam); [DllImport("user32.dll")] private static extern int ReleaseCapture(); private void form_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { //为当前的应用程序释放鼠标捕获 ReleaseCapture(); //发送消息,让系统误以为你在标题拦上按下鼠标 SendMessage((int)this.Handle,WM_NCLBUTTONDOWN,HTCAPTION,0); } } }