一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Backend

Windows7 IIS7下以FastCgi和ISAPI方法安装配置PHP5教程

说到PHP环境配置与安装,通常以Apache搭载PHP配置为主,随着PHP版本不断更新,对Windows IIS平台的支持也越来越好,在Windows IIS平台上配置安装PHP环境也越来越方便。 在完成Windows 7上搭建Apache+PHP+Mysql环境搭建后,我在Windows 7 IIS7平台上对PHP5.2和PHP5.3进行了配置安装,PHP5.3之前版本在Windows IIS平台上的PHP配置方式主要以ISAPI方式进行,而PHP5.3支持IIS以FastCgi方式运行PHP,这两个PHP5版本的配置安装还是有不小的区别,下面详细介绍ISAPI和FastCgi两种方式在IIS上进行PHP配置的方法。 准备工作 在完成IIS上进行PHP5安装配置工作之前,首先需要下载PHP5.2和PHP5.3,PHP5.3以php-5.3.2-Win32-VC9-x86为准。 Windows7 IIS7安装 在进行IIS7 PHP安装配置之前,首先需要安装IIS7,Windows7默认并没有安装IIS,安装过程如下: 首先进入控制面板,点击程序和功能,再点击左侧打开和关闭Windows功能,勾选Internet Information Services可承载的Web核心,确定安装。 在完成安装后,在勾选Internet信息服务,选择安装必要的IIS功能,注意由于在配置PHP5.2和PHP5.3时,IIS7中是以ISAPI和FastCgi方式配置PHP的,所以Cgi和ISAPI扩展和ISAPI筛选器务必勾选(此处由于我首先以ISAPI方式配置PHP5.2,我没有勾选Cgi),如图: 安装IIS7 在完成Windows7 IIS7的安装后,即可在控制面板中的管理工具中看到Internet信息服务管理器选项。 ISAPI方式 第一步:php.ini配置 解压php-5.2.13-Win32-VC6-x86.zip,重命名为php52iis,将其复制到C盘根目录下,将php.ini-list文件名更改为php.ini,打开php.ini进行配置,注意extension_dir的目录指向必须准确,即 extension_dir = "C:/php52iis/ext" 另外在PHP5.2版本中没有date.timezone选项,所以无需设置。 在完成PHP5.2中php.ini的配置工作后,将其复制至C:WINDOWS目录下,同时将PHP52iis目录下的libmcrypt.dll,libmysql.dll,php5ts.dll三个文件到C:/windows/System32目录下。 第二步:以ISAPI方式配置PHP5.2 打开IIS,选择网站下的Default Web Site中的ISAPI筛选器进行PHP配置工作,即 添加ISAPI筛选器,选择PHP相应的DLL文件然后选择处理程序映射,进行添加脚本映射操作,即 在完成上述IIS7的PHP5配置后,有需要说明一下,默认IIS7下的网站,其绑定的端口为80端口,网站目录为%SystemDrive%inetpubwwwroot,如果你向我一样在此之前安装配置了Apache+PHP的环境,则需要修改默认网站绑定的端口及网站目录,如将80端口改为8080,网站目录指向D:PHPWeb。或者添加一个新网站,即先添加应用程序池,再添加一个网站。   添加默认文档 在完成新网站添加后,请确保处理程序映射中有添加的脚本映射,如果没有,请重复添加脚本映射操作即可。 第三步:重启IIS7服务器 在D:PHPWeb目录下新建一个index.php文件,内容如下 <? phpinfo(); ?> 在游览器中输入http://localhost:8080/,查看PHP5.2配置信息。 至此在Windows7 IIS7上安装配置PHP5.2就算完成了。   FastCgi方式 在Windows7 IIS7上配置PHP5.3,主要以FastCgi方式进行配置,大体上与PHP5.2的配置基本一样。首先解压php-5.3.2-Win32-VC9-x86,重命名为php53iis并将其复制到C盘根目录。 第一步:添加网站 具体添加过程请参考IIS PHP5.2的配置。 第二步:添加FastCgi模块映射 点击处理程序映射,进行添加模块操作,即 配置IIS以FastCgi方式运行PHP5.3 第三步:php.ini配置 首先将php.ini-development重命名为php.ini,并将 fastcgi.impersonate=1 默认为0,如果使用IIS,你需要开启 cgi.fix_pathinfo=1 cgi.force_redirect=0 默认开启,如果你使用IIS,可以将其关闭 其次指定extension_dir目录和date.timezone,即 extension_dir = "C:/php53iis/ext" date.timezone= Asia/Shanghai 其他PHP.INI配置与PHP5.2的配置一样,区别在于,在Windows7 IIS7上配置安装PHP时,并不需要将php.ini及其他文件复制到C:/windows及C:/windows/System32目录下,简单很多 第四步:重启IIS7服务器 同时访问http://localhost:8080/即可。 FastCGI进程意外退出如何解决? 在使用Windows7 IIS7进行PHP配置安装过程中,如果PHP配置不正确,会出现FastCGI进程意外退出出错信息,此时你可以在DOS下使用 C:php53iisphp.exe -v 进行调试查看,一般情况下会将PHP配置的错误信息报出,你只要根据此信息修改相关PHP配置即可。 至此在Windows7 IIS7平台上进行PHP5.2和PHP5.3的配置安装工作就介绍完了,应该讲随着PHP版本的提高,PHP的配置工作也越来越简单化。

龙生   19 Feb 2013
View Details

Asp.net Web Applicatoin实现自定义HttpModule拦截异常处理

  Asp.net的NamePipe机制给我们提供了很多扩展性. 使用HttpModule我们可能实现的有: 强制站点范围的Cookie策略 集中化监控与日志 编写设置与删除HTTP头 控制response输出,如删除多余空白字符 Session管理 认证与受权   下面我们来看如何实现自定义异常处理:  

  上面的代码实现了IHttpModule接口, 实现基于HttpApplication.Error事件, 接着我们自定义输出了一些信息,包括Form,QueryString. 最后把原来的Error信息清除了,这样你看到以前那个黄页了. 这个自定义的Module可以用于调试Web应用程序使用. Web.config中配置:

  实际开发中,我们可以做的事儿很多,对这些信息记日志,发邮件. 如下, 我们演示使用Enterprise Library 做异常处理并日志记录,部分代码如下:

  注意上面的代码, 为了运行代码您需要引用以下程序集 Enterprise Library Share Common LibraryMicrosoft.Practices.ServiceLocationLogging Application BlockException Handling Application BlockException Handling Logging Provider 这里我们使用Fluent API配置, 因此没有配置XML文件. 所以不需要Web.Config中配置任何信息. 代码中有注释. 为了测试我们使用一个PAGE故意Throw 一个ArgumentNullException. 通过Server.GetLastError()获取Exception, 这时由名为MyPolicy策略处理异常. 对于ArgumentNullException把它们记录日志到名为Exception分类中,这个日志文件位于d:\\logs\\ExceptionLog.log.实际开发你完全按照你的需要来自定义策略. 然后这个日志文件中写出的内容是这样的:

由于我们日志模块我们配置还需要写Rollinglog.log文件,内容如下:

 

 

转自:http://www.cnblogs.com/wintersun/archive/2011/11/12/2246513.html

龙生   19 Feb 2013
View Details

.net网站出现:不能使用 ;文件已在使用中

  今天分析iislog 发现一堆 “不能使用 ;文件已在使用中”   fuck…. 还不少呢!Google了一下,。找到了问题所在 整站,是asp+acc 的。。。所以只给了acc的数据库权限。。数据库目录是只读的、。 解决办法 数据库目录,给webuser加上写权限。。。立刻生成了个.ldb 。。。 顺便解释下,什么是ldb ldb 文件是由共享数据库的使用者自动创建以及删除得。.LDB 文件建立并存储计算机名、用户名以及放置扩展域锁的。 .LDB 文件一般与 .MDB 同名,并且与 .MDB 文件在相同目录,在 .MDB 文件被打开时建立并锁定。 举个例子,如果你打开 c:\northwind.mdb 文件后 c:\northwind.ldb 文件会自动被建立并被锁定。 当最后一个用户关闭共享数据库时 .ldb 文件会被自动删除。但是当用户没有正常关闭数据库或者数据库已经被标记为损坏,那么 .LDB 文件不会被自动删除, 因为 .LDB 文件中存储着数据库损坏时谁正在使用该数据库。 权限问题: 记得要给予 .LDB 文件所在的文件夹一定的权限。–我就没给。。虽然可以用,但是影响了性能。。 如果你准备共享一个数据库,该 .MDB 文件应该被放置在一个用户拥有读取、写入、建立、删除权限的目录中(NTSF格式)。 即使你要求每个用户有不同的文件权限(比如,只读或者可读写),所有能够共享该数据的用户对该目录都应该拥有读取、写入、建立的权限,但是你可以分配用户对某个 .MDB 文件只拥有只读权限。 注意:如果用独占方式打开某个数据库,那么 MS JET DB 将不会建立 .LDB 文件,此时用户对目录的权限只要求有读取和写入两个权限即可。 .ldb 文件的内容: MS JET DB ENGINE 会为每个以共享方式打开数据库的使用者在 .LDB 文件中创建一个条目,每个条目的大小是 64 字节。 前面 32 字节保存计算机名,后面 32 字节保存用户名。JET DB ENGINE 支持的最大用户数是 255,因此 .LDB 文件的大小不会超过 16 KB。 当一个用户关闭一个共享数据库时,该用户在 .LDB 文件中的条目不会立即被删除,可是该条目会在下一个用户打开这个数据库时被覆盖。 这也就意味着你不能通过 .LDB 文件来唯一确定谁是某个数据库的当前使用者。 .LDB 文件的使用方法: JET DB ENGINE 使用 .LDB 文件中的信息来确定谁锁定了数据,谁正在写入被其他人锁定的数据。 如果 JET DB ENGINE 发现有其他用户的锁定冲突, 它会读取 .LDB 文件以获取计算机名与用户名谁锁定了文件或者记录。 在多数锁定冲突情况下,你会在存储记录时得到一个 “写入冲突”的提示并且取消你所做的修改。 在有些情况下你会得到如下提示: Couldn”t lock table <table name>; currently in use by user <security name> on computer <computer name>. 注意:上述关于 .LDB 文件的信息与数据库文件无关。如果一个 .LDB 文件损坏,数据库文件仍然能够工作正常。 但是写入冲突的提示消息中<security name>这个部分你可能会看见一串不知所云的文字。 参考: 在 Access 2000 中,你可以用 VBA 来输出某个数据库的所有登陆用户的信息。 关于此代码请参考: 198755 ACC2000: Checking Who Logged into Database with Jet UserRoster 转自:http://rogermmg.blog.163.com/blog/static/117472889201112343341825/  

龙生   19 Feb 2013
View Details

c#连接MySql数据库的两种方法

  1、用MySQLDriverCS连接MySQL数据库 先下载和安装MySQLDriverCS,地址: http://sourceforge.net/projects/mysqldrivercs/ 在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中 注:我下载的是版本是 MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Odbc; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using MySQLDriverCS; namespace mysql {     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         }         private void Form1_Load(object sender, EventArgs e)         {             MySQLConnection conn = null;             conn = new MySQLConnection(new MySQLConnectionString(“localhost”, ”inv”, ”root”, ”831025″).AsString);             conn.Open();             MySQLCommand commn = new MySQLCommand(“set names gb2312″, conn);             commn.ExecuteNonQuery();             string sql = ”select * from exchange “;             MySQLDataAdapter mda = new MySQLDataAdapter(sql, conn);             DataSet ds = new DataSet();             mda.Fill(ds, ”table1″);             this.dataGrid1.DataSource = ds.Tables["table1"];             conn.Close();         }     } }   2、通过ODBC访问mysql数据库:   参考:http://www.microsoft.com/china/community/Column/63.mspx   1.      安装Microsoft ODBC.net:我安装的是mysql-connector-odbc-3.51.22-win32.msi 2.      安装MDAC 2.7或者更高版本:我安装的是mdac_typ.exe 2.7简体中文版 3.      安装MySQL的ODBC驱动程序:我安装的是 odbc_net.msi 4.      管理工具 -> 数据源ODBC –>配置DSN… 5.      解决方案管理中添加引用 Microsoft.Data.Odbc.dll(1.0.3300) 6.      代码中增加引用 using Microsoft.Data.Odbc;   using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Linq;   //vs2005好像没有这个命名空间,在c#2008下测试自动生成的 using System.Text; using System.Windows.Forms; using Microsoft.Data.Odbc; namespace mysql {     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         }         private void Form1_Load(object sender, EventArgs e)         {             string MyConString = ”DRIVER={MySQL ODBC 3.51 Driver};” +                                  ”SERVER=localhost;” +                                  ”DATABASE=inv;” +                                  ”UID=root;” +                                  ”PASSWORD=831025;” +                                  ”OPTION=3″;             OdbcConnection MyConnection = new OdbcConnection(MyConString);             MyConnection.Open();             Console.WriteLine(“”n success, connected successfully !”n”);             string query = ”insert into test values( ‘hello’, ‘lucas’, ‘liu’)”;             OdbcCommand cmd = new OdbcCommand(query, MyConnection);             //处理异常:插入重复记录有异常 try{   cmd.ExecuteNonQuery(); } catch(Exception ex){                  Console.WriteLine(“record duplicate.”); }finally{ […]

龙生   19 Feb 2013
View Details

C# 对文本文件的读写

计算机在最初只支持ASCII编码,但是后来为了支持其他语言中的字符(比如汉字)以及一些特殊字符(比如€),就引入了Unicode字符集。基于Unicode字符集的编码方式有很多,比如UTF-7、UTF-8、Unicode以及UTF-32。在Windows操作系统中,一个文本文件的前几个字节是用来指定该文件的编码方式的。如果你使用NotePad或WordPad来打开一个文本文件,你并不用担心该文件的编码方式,因为这些应用程序会先读取文件的前几个字节来确定该文件的编码方式,然后用正确的编码将文本中的每个字符显示出来。下面的图中,可以看到当用NotePad记事本保存一个文档时,可以选择的编码(Encoding)方式有哪些。  用.Net读取文本文件或写入文本文件,你都不须要担心编码方式。.Net已经将这些封装好了。在读取一个文本文件的时候,如果你已经知道文本使用的是什么编码方式,你可以指定使用哪种编码方式读取文本,否则如果不指定编码方式,.Net会读取文本的前几个字节来确定使用哪种编码方式读取文件内容的。在写入文本文件的时候,你也可以指定你想使用的编码方式。如果你没有指定编码,.Net会根据写入的文本是否含有特殊字符来决定编码方式。如果没有特殊字符,就采用ASCII编码,如果有特殊字符,就采用UTF-8编码。   (一) 读取文件 如果你要读取的文件内容不是很多,可以使用 File.ReadAllText(FilePath) 或指定编码方式 File.ReadAllText(FilePath, Encoding)的方法。它们都一次将文本内容全部读完,并返回一个包含全部文本内容的字符串 string str = File.ReadAllText(@"c:\temp\ascii.txt"); // 也可以指定编码方式 string str2 = File.ReadAllText(@"c:\temp\ascii.txt", Encoding.ASCII); 也可以使用方法File.ReadAllLines。该方法返回一个字符串数组。每一行都是一个数组元素。 string[] strs = File.ReadAllLines(@"c:\temp\ascii.txt"); // 也可以指定编码方式 string[] strs2 = File.ReadAllLines(@"c:\temp\ascii.txt", Encoding.ASCII); 当文本的内容比较大时,我们就不要将文本内容一次读完,而应该采用流(Stream)的方式来读取内容。.Net为我们封装了StreamReader类。初始化StreamReader类有很多种方式。下面我罗列出几种  StreamReader sr1 = new StreamReader(@"c:\temp\utf-8.txt"); // 同样也可以指定编码方式 StreamReader sr2 = new StreamReader(@"c:\temp\utf-8.txt", Encoding.UTF8); FileStream fs = new FileStream(@"C:\temp\utf-8.txt", FileMode.Open, FileAccess.Read, FileShare.None); StreamReader sr3 = new StreamReader(fs); StreamReader sr4 = new StreamReader(fs, Encoding.UTF8); FileInfo myFile = new FileInfo(@"C:\temp\utf-8.txt"); // OpenText 创建一个UTF-8 编码的StreamReader对象 StreamReader sr5 = myFile.OpenText(); // OpenText 创建一个UTF-8 编码的StreamReader对象 StreamReader sr6 = File.OpenText(@"C:\temp\utf-8.txt");  初始化完成之后,你可以每次读一行,也可以每次读一个字符 ,还可以每次读几个字符,甚至也可以一次将所有内容读完。  // 读一行 string nextLine = sr.ReadLine(); // 读一个字符 int nextChar = sr.Read(); // 读100个字符 int nChars = 100; char[] charArray = new char[nChars]; int nCharsRead = sr.Read(charArray, 0, nChars);       // 全部读完 string restOfStream = sr.ReadToEnd();  使用完StreamReader之后,不要忘记关闭它: sr.Closee(); 假如我们需要一行一行的读,将整个文本文件读完,下面看一个完整的例子:  StreamReader sr = File.OpenText(@"C:\temp\ascii.txt"); string nextLine; while ((nextLine = sr.ReadLine()) != null) {     Console.WriteLine(nextLine); } sr.Close();    (二) 写入文件 写文件和读文件一样,如果你要写入的内容不是很多,可以使用File.WriteAllText方法来一次将内容全部写如文件。如果你要将一个字符串的内容写入文件,可以用File.WriteAllText(FilePath) 或指定编码方式 File.WriteAllText(FilePath, Encoding)方法。 string str1 = "Good Morning!"; File.WriteAllText(@"c:\temp\test\ascii.txt", str1); // 也可以指定编码方式 File.WriteAllText(@"c:\temp\test\ascii-2.txt", str1, Encoding.ASCII); 如果你有一个字符串数组,你要将每个字符串元素都写入文件中,可以用File.WriteAllLines方法: string[] strs = { "Good Morning!", "Good Afternoon!" }; File.WriteAllLines(@"c:\temp\ascii.txt", strs); File.WriteAllLines(@"c:\temp\ascii-2.txt", strs, Encoding.ASCII); 使用File.WriteAllText或File.WriteAllLines方法时,如果指定的文件路径不存在,会创建一个新文件;如果文件已经存在,则会覆盖原文件。   当要写入的内容比较多时,同样也要使用流(Stream)的方式写入。.Net封装的类是StreamWriter。初始化StreamWriter类同样有很多方式:  // 如果文件不存在,创建文件; 如果存在,覆盖文件 StreamWriter sw1 = new StreamWriter(@"c:\temp\utf-8.txt"); // 也可以指定编码方式 // true 是 append text, false 为覆盖原文件 StreamWriter sw2 = new StreamWriter(@"c:\temp\utf-8.txt", true, Encoding.UTF8); // FileMode.CreateNew: 如果文件不存在,创建文件;如果文件已经存在,抛出异常 FileStream fs = new FileStream(@"C:\temp\utf-8.txt", FileMode.CreateNew, FileAccess.Write, FileShare.Read); // UTF-8 为默认编码 StreamWriter sw3 = new StreamWriter(fs); StreamWriter sw4 = new StreamWriter(fs, Encoding.UTF8); // 如果文件不存在,创建文件; 如果存在,覆盖文件 FileInfo myFile = new FileInfo(@"C:\temp\utf-8.txt"); StreamWriter sw5 = myFile.CreateText();  初始化完成后,可以用StreamWriter对象一次写入一行,一个字符,一个字符数组,甚至一个字符数组的一部分。  // 写一个字符            sw.Write('a'); // 写一个字符数组 char[] charArray = new char[100]; // initialize these characters sw.Write(charArray); // 写一个字符数组的一部分 sw.Write(charArray, 10, 15);  同样,StreamWriter对象使用完后,不要忘记关闭。sw.Close(); 最后来看一个完整的使用StreamWriter一次写入一行的例子:  FileInfo myFile = new FileInfo(@"C:\temp\utf-8.txt"); StreamWriter sw = myFile.CreateText(); string[] strs = { "早上好", "下午好" };            foreach (var s in strs) {     sw.WriteLine(s); } sw.Close();    转自:http://www.cnblogs.com/jfzhu/archive/2012/11/16/2772576.html

龙生   19 Feb 2013
View Details

C#folderbrowserdialog和openfiledialog的使用方法

openfiledialog的使用方法 OpenFileDialog file = new OpenFileDialog(); //file.Title = “打开(Open)”;//弹出对话框的框名称 //file.Filter = “文本文件(*.txt)|*.txt”;//限制弹出对话框显示文本类型 //file.Filter = “所有文件(*.*)|*.*”;//限制弹出对话框显示文件类型 file.ShowDialog(); textBox2.Text = file.SafeFileName; ————————————— folderbrowserdialog的使用方法 FolderBrowserDialog fbd = new FolderBrowserDialog(); //fbd.SelectedPath = @”F:….”;//设置当前选择的路径 //fbd.ShowNewFolderButton = false;//是否显示新建文件夹按钮 //fbd.Description = “請選擇您將要匯出的路徑”;//描述弹出框功能 //fbd.RootFolder = Environment.SpecialFolder.Personal;//打开到个人文件夹 fbd.ShowDialog(); textBox1.Text = fbd.SelectedPath;   转自:http://blog.sina.com.cn/s/blog_7d2de80301010ak3.html  

龙生   19 Feb 2013
View Details

开机时出现 Abnormal termination

问题如题。 解决:安装Acronis Disk Director Suite 后,并且软件的提交操作中只有重启和取消两种操作,如果点击重启,根本不会对硬盘分区,就直接重启了。如果点击取消,则根本不会出现任何操作。无论对分区怎么操作都是重启,在重启时报错: Abnormal Termination..Abnormal Termination的意思是“异常终止”,说明Acronis Disk Director Suite 10.00.2160没有办法完成分区操作就已经终止了修改方法看这里:注册表中HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager下有个主键:BootExecute,它原来的值是:autocheck autochk *但安装了Acronis Disk Director Suite 中文版后,它变成了autocheck autochk *autopartntautopartntautopartnt把新增的三个autopartnt删除,恢复成:autocheck autochk *,再进行分区修改就正确了如果安装了Pqmagic在出错后每次启动出错,应该也是修改这个地方

龙生   19 Feb 2013
View Details

解决:’ping’ 不是内部或外部命令,也不是可运行的程序

  自从安装了ssh工具后,可爱的ping命令就不能用了,真郁闷…… 然后就把ssh工具卸载了,还是不能用,于是百度~解决。 原因:某些软件把自己添加到环境变量中时,却把系统的环境变量覆盖了,重新把系统的环境变量加上就可以了: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\system32\WBEM  

龙生   19 Feb 2013
View Details

Windows服务的手动添加和删除方法

    服务,是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是低层(接近硬件)程序。其实,服务就是一种特殊的应用程序,它从服务启动开始就一直处于运行状态,而普通应用程序在运行之后就处于休眠状态,直到用户再次对其进行操作;在WinXP里,服务是在系统加载以后就自动启动的,而不需要登陆,但自动运行的普通应用程序是在WinXP加载并登录以后才执行的。 对于安装服务,一般分为两种情况: 情况一:安装可以作为服务运行的程序成为WinXP的服务; 情况二:安装不可以作为服务运行的程序(即普通的应用程序)成为WinXP的服务。 使用安装工具:srvinstw.exe和srvany.exe,Win2000资源工具包中提供的工具; 下面是手工添加服务的方法,适用找不到添加工具的时候手工添加服务。 通过修改注册表来添加服务: 在注册表编辑器,展开分支“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”,在右侧窗格中显示的就是本机安装的服务项。如果要新建服务,只须点击“编辑→新建→项”,然后为此项命名,如“test”;然后右击该项,选择“新建→字符串值”或“新建→Dword值”即可。 添加一个服务项目具体需要添加的键值如下: “DisplayName”,字符串值,对应服务名称; “Description”,字符串值,对应服务描述; “ImagePath”,字符串值,对应该服务程序所在的路径; “ObjectName”,字符串值,值为“LocalSystem”,表示本地登录; “ErrorControl”,Dword值,值为“1”; “Start”,Dword值,值为2表示自动运行,值为3表示手动运行,值为4表示禁止; “Type”,Dword值,应用程序对应10,其它对应20。 另外,还要在“test”项下新建一个“Enum”项。如果有些必须通过srvany来加载的还必须添加另外的Parameters子项在该项中提供详细的要加为服务的程序所在的路径。而上面的那个路径就需要指到srvany所在的路径。 上面提到的是如何添加服务,怎么删除windows服务呢,请继续看: 一、Windows服务 Windows服务也称为Windows Service,它是Windows操作系统和Windows网络的基础,属于系统核心的一部分,它支持着整个Windows的各种操作。诸如DNS客户端、打印程序、Windows更新服务、计划任务、Windows时间服务、告警器等服务,它们关系到机器能否正确运行。如果不能适当地管理这些服务,就会影响到机器的正常操作。 一个服务首先是一个Win32可执行程序,或者是是rundll32.exe来运行一个.dll的方式形成的进程。 跟普通应用程序不一样,如打开WORD,有一个界面出来,但服务没有用户界面。也不能通过直接双击运行相应的.exe程序来运行。那Windows又是如何控制一个服务的? Windows的服务由更上一级的services.exe这个服务来管理,由它来管理,负责进行服务的启动、停止、运行,暂停等。我们最常用的操作就是通过Windows的服务MMC界面来完成相关操作。 二、如何删除Windows服务 现在的流氓软件,越来越多把自己注册为一个服务。在Hijackthis的扫描日志中,一般会把非Windows系统的服务以023的方式列出来,如下面这段: O23 – 未知 – Service: BKMARKS [提供传输协议的数据安全保护机制,有效维护数据传输中的安全及完整。] – C:\WINDOWS\SYSTEM32\RUNDLL.EXE O23 – 未知 – Service: ewido anti-spyware 4.0 guard [ewido anti-spyware 4.0 guard] – D:\Program Files\ewido anti-spyware 4.0\guard.exe O23 – 未知 – Service: KSD2Service [KSD2Service] – C:\WINDOWS\system32\SVCH0ST.exe 对于这些流氓软件,需要删除相关的.exe文件,使它不能再运行,或者直接清除这个服务本身,使计算机重启的时候,它不会再启动。 删除的办法有两个: 办法一: 用sc.exe这个Windows命令 开始——运行——cmd.exe,然后输入sc就可以看到了。使用办法很简单:sc delete “服务名”(如sc deleteService 83F9085F) 如针对上面的: sc delete KSD2Service 方法二:直接进行注册表编辑(不推荐) 打开注册表编辑器,找到下面的键值:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,一般服务会以相同的名字在这里显示一个主健,直接删除相关的键值便可。(HKEY_CURRENT_USER\SYSTEM \CurrentControlSet\Services 下可能也有,可在注册表中查找删除) 三、特殊情况 1、如果服务显示的是rundll32.exe,并且这个文件是位于system32目录下,那么就不能删除这个rundll32.exe文件,它是Windows系统的文件。这时只要清除相关的服务就可以了 2、如果一个服务删除了马上又自动建立了,说明后台有进程在监视、保护。需要先在进程管理器中杀掉相应的进程,或者启动后按F8,到安全模式下删除。 转自:http://www.8844.com/html/IT_jiaocheng/ruanjian/chengxu/Windows/system/2011/10-21/378635.html  

龙生   19 Feb 2013
View Details

windows server2008系统开启win7主题和Aero Peek桌面预览(manhaosslove亲测)

  条件:本人使用的是Chew-WGA.0.9破解的server 2008 r2 ,这个能照下面的开启win7主题和aero peek桌面预览 使用SK_Patch_v1_R2_Final破解的是oem完美激活,可惜此windows版本不支持主题 下列是说Chew-WGA.0.9破解的r2办法 1.管理工具—-服务管理器—功能—-添加功能—–打勾桌面体验(安装MediaPlayer和Windows7的功能部件)—-装完重启 2.管理工具—服务—启用Themes服务C:\windows\system32\svchost.exe,以后开启选自动! 3.鼠标右击桌面—个性化—选择使用Aero主题 4.把你的显卡驱动装好才能在性能设置里出现Aero Peek桌面预览题项选,本人使用的是艾尔莎8600GT显卡,不知道是否对显卡要求高不高,不过显卡驱动没装之前高级系统设置里你别想见到此项.哈哈顺手也把声卡驱动也装了,并在服务开启Windows Audio服务,并设置为自动. 5..计算机右击鼠标属性—–高级系统设置—-高级—-性能设置—-自定义—-钩选(启用Aero主题)—-结果在任务栏属性也就可以看到Aero Peek预览桌面是启用可选的. 6.修改Aero Peek桌面预览速度:运行—–cmd—-regedt32—-打开注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced下面新建DWORDS(32位)键值—命名Desktop Livel Preview Hover Time—-键值是500-2000(十进制) PS:已经开启过aero peek桌面预览的,觉得没过动过什么,却突然用不了aero peek了? 或者在高级设置里没法见到aero peek那项 解决办法:个性化—–更改主题重新选取Aero主题—–进去高级设置那就能见到aero peek那项了,点选,开启了aero peek后,你再更改桌面背影,选取多张图片,可以桌面幻灯片10秒—-1天多项选择更换桌面的图片! 转自:http://hi.baidu.com/manhaosslove/item/22d508882a69c85ee63d191d  

龙生   19 Feb 2013
View Details
1 257 258 259 280