利用Webbrowser将网页截图,把网页显示效果保存为图片
相关代码如下
Size mySize = webBrowser1.Document.Window.Size;
Bitmap myPic = new Bitmap(mySize.Width, mySize.Height);
Rectangle myRec = new Rectangle(0, 0, mySize.Width, mySize.Height);
webBrowser1.Size = mySize;
webBrowser1.DrawToBitmap(myPic, myRec);
myPic.Save("c:\\a.jpg");
1.添加图片资源
项目-项目属性-资源,再选择图片,添加资源,这样就可以添加资源了
2.读取图片资源
(System.Drawing.Image)Properties.Resources.ResourceManager.GetObject("Free");
这个数据是存在“Resources.resx”文件中的
// 数组重新排序,类似洗牌 arrayWebMan = RandomSort(arrayWebMan);
public static T[] SortRandom<T>(T[] array)
{
int len = array.Length;
Hashtable ht = new Hashtable();
Random rand = new Random();
for (int i = 0; i < len; i++)
{
ht.Add(rand.Next(0, 1000000), array[i]); // 这里Hashtable就会就随机值而进行排序
}
T[] reArray = new T[len];
int j = 0;
foreach (DictionaryEntry de in ht)
{
reArray[j] = (T)de.Value;
j++;
}
return reArray;
}
HashTable 类 System.Collections 命名空间中定义
HashTable 类储存对像后会改变其顺序,和储存排序无关,其排序和Key值有关
Hashtable ht = new Hashtable();
ht.Add("Key1", "Value1");
ht.Add("Key2", "Value2");
ht.Add("Key3", "Value3");
ht.Add("Key4", "Value4");
ht.Add("Key5", "Value5");
// 遍历
foreach(DictionaryEntry de in ht)
{
richTextBox1.AppendText(de.Key + ":" + de.Value);
richTextBox1.AppendText("\r\n");
}
FolderBrowserDialog
用于选择目录
FolderBrowserDialog folderBrowser = new FolderBrowserDialog();
folderBrowser.SelectedPath = @"F:\web\"; // 设置打开目录选择对话框时默认的目录
folderBrowser.ShowNewFolderButton = false; //是否显示新建文件夹按钮
folderBrowser.Description = "请选择IIS的根目录";//描述弹出框功能
folderBrowser.RootFolder = Environment.SpecialFolder.MyDocuments; // 打开到我的文档
folderBrowser.ShowDialog(); // 打开目录选择对话框
textBoxPath.Text = folderBrowser.SelectedPath; // 返回用户选择的目录地址
一、创建服务程序
1、新建一个项目,从一个可用的项目模板列表当中选择Windows服务模板,模板会获得两个文件Service组件和Program.cs
2、添加专用的安装组件,切换到设计模式,右键->添加安装程序,生成了安装文件,这里你将看到两个组件:ServiceInstaller和ServiceProcessInstaller
3、选中ServiceProcessInstaller组件,设置Account属性,一般情况下,选择 Local System
4、选中ServiceInstaller组件,设置StartType属性,有三种选择自动/手动/禁用(Automatic/Manual/Disabled)
到这里,想要建立的服务实际上已经结束,只需要在服务组件的OnStart和OnStop等函数中加上个人的业务处理
二、添加服务安装程序
创建一个Windows服务,你必须还要把一个服务安装程序添加到你的Windows服务当中,这样就要用到.NET FramWork的一个命令行工具:InstallUtil.exe来进行安装你的服务。
1、关闭杀毒软件等安全软件,这些可能会导致安装失败
2、运行 Visual Studio 2005 命令提示
3、Installutil F:\EXE\Service1.exe
三、删除服务
1、关闭杀毒软件等安全软件,这些可能会导致安装失败
2、运行 Visual Studio 2005 命令提示
3、Installutil -u F:\EXE\Service1.exe
Ticks
是一个很大的长整数,单位是 100 毫微秒。表示自 0001 年 1 月 1 日午夜 12:00:00 以来已经过的时间的以 100 毫微秒为间隔的间隔数
1 毫秒 = 10^-3 秒,
1 微秒 = 10^-6 秒,
1 毫微秒 = 10^-9 秒,
100 毫微秒 = 10^-7 秒。
Dll文件生成后,如没有源代码,又要修改其中内容
可以用微软自带的ildasm和ilasm程序
先用ildasm将dll文件反编译成il文件
ildasm Test.dll /out=Test.il
会生成Test.res和Test.il两个文件
il文件可以用文本编辑器修改,要注意其中的语法
改完后再用ilasm将il文件重新编译成dll文件
ilasm /dll /res:Test.res Test.il /out:Test.dll
本人测试时因为ildasm和ilasm程序都是从网上下载来的,因为版本不一样,总是不成功,走了不少弯路
用这样方式修改唯一不方便的是il文件语法不好理解,一版修改少量的可以用,大量修改也不合适。
用Reflector将dll文件反编译成cs文件,也可以修改,这样好改,可是不好编译回去,有时会报错
所以选则用Reflector还是用ildasm和ilasm,更据需求各自选择