asp.net 图标提取以及图标转换的实例代码
asp.net 图标提取以及图标转换的实例代码
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Drawi...

复制代码 代码如下:

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);

}

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类