输入法排序修改工具开源发布

一个解决MM疑难杂症的工具之一,用于修改输入法的切换顺序

使用方法
软件修改完成之后重启计算机即可

下载地址:http://imetool.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35316

工作原理
通过修改注册表 HKEY_USERS\.DEFAULT\keyboard layout\preload 来实现

源代码下载地址:http://imetool.codeplex.com/

纯属学术研究欢迎转载

配置Visual Studio 2008来调试.NET Framework源码的基本步骤

首先,这个功能在Visual Studio 2008 Express版里不支持。

1)安装Visual Studio 2008 QFE。这个QFE只是更新一个Visual Studio调试器的DLL,以便可以获取源代码,更多细节参加下载页面。

2)运行Visual Studio 2008依次展开Tools->Options->Debugging->General。如果你在Visual Basic Profile环境下运行,你需要将lower left of the Options Dialog标记为“Show All Settings”,然后继续(其它配置没有这个选项)。

设置以下两个设置:

◆关闭“Enable Just My Code”设置
◆打开“Enable Source Server Support”设置

你的设置会如下面所示:

3)下一步,选择“Symbols”页,然后设置符号下载URL和缓存位置。设置以下三个配置:

◆设置符号文件位置为:http://referencesource.microsoft.com/symbols
◆设置缓存位置。保证你的账户能读写这个位置。
◆打开“Search the above locations only when symbols are loaded manually”选项。

设置完毕后,应该如下图所示:

设置完毕。

调试进入框架的源代码。

通过这个例子,我们从一个空的C# Windows Application project开始,同样它可以在VB,Web或WPF工程上工作。创建这个工程:

在Form_Load上设置个断点:

运行你的工程命中断点,到调用堆栈窗口(CTRL+ALT+C).在调用堆栈里,右键单击System.Windows.Forms.dll,然后选择“Load Symbols”。这样会给System.Windows.Forms程序集加载符号,大小大概10M,所以下载速度就看看你的网络连接速度怎么样了。注意:在这个过程中Visual Studio会没有任何响应的。但是,这个下载对每个程序集来说只需要一次。这个符号(PDB)文件会缓存在你的机器上,在你刚才定义的文件夹里。

这样就会从服务器上下载这个DLL的符号了,你可以在状态栏里看到一些信息反映这个。注意:这个完成后调用帧字体会变成黑色,并且行号也可用了。注意:在每次调试会话中你都需要右键单击然后选择“Load Symbols”(但是,第二次的时候,这个符号已经缓存在本地了,所以无需再下载它们)。要了解更多信息请欣赏下面的高级用篇。

你已经下载了Windows Forms DLL的符号,现在可以查看代码了。你可以Step In上面的的代码行,也可以在调用堆栈里双击某一帧。在这里我们Step In(F11)。

在第一次进入代码的时候,我们会显示EULA。花点时间阅读EULA,如果你同意点击ACCEPT,然后这个源代码就会下载下来。

就这样,你可以调试.net框架源代码了。

现在,对每个你想调试的程序集,只要重复上面的步骤就可以了(注意:你只会看到一次EULA,不是每次都会看到的)。

有的时候,你要调试的程序集并不在调用堆栈上,比如下面这个例子:

在你调试进入Graphics.DrawRectangle,你需要加载System.Drawing.dll的符号。打开Modules Window(CTRL+ALT+U)。这个列表会显示调试中所有加载的模块(DLLs).在列表中找到System.Drawing.DLL,右键单击,然后选择Load Symbols。

注意:一旦符号文件下载了,符号文件会显示在“Symbol File”列中。

你现在可以使用F11进入Graphics.DrawRectangle的代码了。在这个case中,你会先进入PaintEventArgs.Graphics属性的代码。

设定IIS使用32bit模式或64bit模式

有的时候IIS就是一定要使用32位, 仅管是装在64位的计算机上, 如何设定呢?

在64位的计算机上, 将 IIS 6.0 设定为32位模式运行
cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 true

在64位的计算机上, 将 IIS 6.0 设定为64位模式运行
cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 False

ASP.Net控件客户端ID

今天帮人解决了一个问题,大致原因是对方服务器ASP.Net控件产生的客户端ID与我的服务器产生的不同,导致JS执行和Request提交接收数据有误
如我的是DataGrid1:_ctl3:tid,而对方的却是DataGrid1$ctl03$tid,代码是同样的
虽然我强行修改了DLL帮人解决了这个问题,但仍然觉得有必要去深究
根据MSDN的记载:
Control.ClientID 属性(获取由 ASP.NET 生成的服务器控件标识符。)
除了用来分隔 ID 值的是下划线字符而不是 IdSeparator 属性指定的字符以外,为控件生成的 ClientID 值与 UniqueID 值相同。默认情况下,IdSeparator 属性设置为冒号字符 (:)。由于 ClientID 值不包含冒号字符,因此,它可以用于不支持包含冒号的 ID 的 ECMAScript。
Control.UniqueID 属性(获取服务器控件的唯一的、以分层形式限定的标识符。)
分隔符字符。默认为“$”。
对比一下今天遇到的情况,发现同样的代码,由服务器端发往客户端的ID取值,我的是ClientID,而他的却是UniqueID
印象中大学时的课本、机房的实验,得出的ID都是以“$”分隔的,但我现在的实际情况和MSDN的记载却是以“:”分隔的
为什么会有这样的区别?ClientID的取值与服务器的设置、.Net的版本号之间又要什么关系(我的系统和环境一直都是保持最新的)?如果改变IdSeparator的值?自定义控件时如果定义ClientID的生成规则?
这些好像在我借给别人的黑皮书中有说明
先把问题记录下来,等别人还我书后再去寻找这些解答
.Net Framework Changelog这个也应该看一下(忽然想起来的)

用AJAX优化DVBBS 8.0首页调用

动网的首页调用是方便,但如果调用过多的话首页加载会很慢,所以考虑使用AJAX异步调用来优化下

我的详细做法如下:

1、找到Dv_News.asp中的

Sub OutPut(Strings)
  Response.Write "document.write('"
  Response.Write Strings
  Response.Write "');"
  Response.Write vbNewline
End Sub 

将它改为

Sub OutPut(Strings)
 Response.Charset="gb2312"
 Response.Write Strings
End Sub

并另存为Dv_News1.asp

2、创建一个ajax.js文件,内容如下:

[code:js]

var spinner = "<img src='/images/spinner.gif' alt='正在加载' />";

///
/// Return a XMLHTTPRequest in a browser independent fashion.
///
function GetXMLHttp()
{
    var xmlhttp=false;
   
    try
    {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
        try
        {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E)
        {
            xmlhttp = false;
        }
    }

    // Mozilla then?
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
       xmlhttp = new XMLHttpRequest();
    }
   
    return xmlhttp;
}

[/code]

3、将

<script type="text/javascript" src="js/ajax.js"></script>

标签添加到首页<head></head>处

4、将原来的首页调用

<script src="Dv_News.asp?GetName=defnewpic"></script>

替换为

<div id="indexs_defnewpic"></div>

(注意它们的ID)

5、创建ajax_get.js文件内容如下:

[code:js]

function getSEIndex(se)
{
    var xmlhttp = GetXMLHttp();
    var div = document.getElementById("indexs_" + se);

    div.innerHTML = spinner + "正在加载信息...";

    xmlhttp.open("GET", "/Dv_News1.asp?GetName=" + se, true);
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4)
        {
            div.innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.send(null)
}

function NewsShow()
{
 getSEIndex('defnewpic');
 //按需要继续添加
}

NewsShow(); 

[/code]

另:如果你需要每隔一段时间更新一个首页可以在末尾添加上这一句

setInterval("NewsShow()",60000);

6、将

<script type="text/javascript" src="js/ajax_get.js"></script>

标签添加到首页</body>标签的前面

这样优化就弄好了,优化成果请参考:http://www.redguan.com/

相关讨论请移步到:http://bbs.lishewen.com.cn/showforum-14.aspx

谷歌浏览器飞一般的JS执行速度

谷歌今早公布了自己的浏览器Chrome,该浏览器保持了Google一贯简洁的作风,并号称使用了JavaScript V8 引擎,可以通过多线程的虚拟机可以加速Javascript的执行,到底有多快一试便知

这次测试使用的是Javascript performance test(http://wd-testnet.world-direct.at/mozilla/dhtml/funo/jsTimeTest.htm)对各种基本运算进行一百万次的计算,下面是IE7和Chrome的测试结果

 

由上面看出,谷歌浏览器有20倍于IE的JS执行速度,前景非常乐观,微软如果再不在性能方面加强就有危险了

什么是肩客?打字日赚是骗人的吗?——请小心骗子网站

     肩客就是通过互联网把自己的智慧、知识、能力、经验转换成实际收益的人。按肩客网自己的说明看起来又象是威客,至少目前还没有出现真正能赚钱的肩客网站。“肩客”只是骗子想另立门户,乱搞出来的名字。

      肩客平台-为肩客提供网络工作任务、教学、交流、结算一体化的工作平台。正规的肩客平台应当是和威客平台一样,作为第三方,起第三方的保障作用,不直接参与发布任务或完成任务。任何一家肩客平台或是威客平台,是由自己发布任务的都是骗子网站。大家要看清威客平台的角色,此角色就和支付宝一样,不参与网上产品销售,而是作为第三方,为商家和消费者提供信用保障,如果离开了第三方的信用保障体系,那么所有的交易都有可能是骗人的。

      最近出现的肩客网都是由不久前的威客明星骗子网站演变而来,骗子只是换了包装,改头换脸,而重操旧业,实际上威客明星和肩客网骗人的本质是一样的。

      目前出现的一家肩客网和一家威客明星已经被确认为骗子网站,加入需要交钱,实际上他们没有起第三方的信用保障,而是直接发布任务骗人,和真正的威客平台是有本质区别的。

      现在国内还没有任何一家真正意义上的肩客网站,现有的肩客网全是骗子,欺骗会员加入时全按以下要求:

要求1、肩客工作平台软件下载 下载 如何下载,要求下载的软件带有木马,会感染QQ或是盗其它的账号,以便骗子网站恶意传播骗���信息。
要求2、免费下载飞信,为什么指定要求下载飞信呢?因为骗子骗人下戴飞信后,骗子就可以获得佣金了,实际上肩客网并没有兼职任务可做,有的也只是欺骗会员们为骗子站点作宣传!
要求3、免费申请139邮箱,指定要求注册139邮箱也是为了获取佣金,实际上肩客网并没有兼职任务可做。

要求4、要求留下手机号,并回复短信开通指定业务,也是为了获取佣金提成,实际上肩客网并没有兼职任务可做。

      目前绝大多数网络兼职、打字日赚的网站皆是骗子网站。

      凡是加入就要交钱的肩客网都是骗子,大家要小心,千万不要浪费钱加入!就算不交钱也是要求你加入这注册那的。另外凡是没有正规备案号的网站都要小心,因为骗子害怕暴露身份,不敢备案。加入就要下载不明软件的,都要小心中木马。

看到不少人中招,在QQ乱发垃圾信息,特意撰写此文,欢迎转载

Windows Scripting 范例 学习手册 杂志 免费下载

TechNet 中心佛心来的 多年 Windows Scripting 范例 学习手册 杂志 一口气大赠送

不论你是 Developer 或是 IT Pro 一定都要下载来拜

Over 160 articles from the TechNet Script Center collected in a single .CHM file.

Collection of Sesame Script columns published in the TechNet Script Center.

The first three years of the Hey, Scripting Guy! column, gathered in one fully-searchable archive.

批量结束进程的方法

有些时候,我们会中一种病毒,它会在操作系统能同时开3、4个进程,当你在任务管理器中结束其中之一的时候,另外那几个又会把你结束的进程打开,这时我们就是要用批量去同时结束这些进程。
其中方法有两种:

1、使用TaskKill命令
首先,我们先打开任务管理器,记下我们要结束进程的Pid值
如: 1230  1241  1253
然后,切换到命令提示符,输入
taskkill /pid 1230 /pid 1241 /pid 1253
就可以达到目的了
TaskKill命令的具体语法请参考这里

2、使用批处理程序
同样我们先要记下要结束进程的Pid值
用记事本新建一个文本文档
输入:
@echo off
ntsd -c q -p 3516
ntsd -c q -p 2924

注:3516 2924为PID值,每添加一行ntsd -c q -p 2924就结束一个进程

编辑完成后,保存并重命名为a.bat,运行