【转】Windows自动启动程序的十大藏身之所

一、当前用户专有的启动文件夹

这是许多应用软件自动启动的常用位置,Windows自动启动放入该文件夹的所有快捷方式。用户启动文件夹一般在:\Documents and Settings\<用户名>\「开始」菜单\程序\启动,其中「<用户名>」是当前登录的用户帐户名称。

二、对所有用户有效的启动文件夹

这是寻找自动启动程序的第二个重要位置,不管用户用什么身份登录系统,放入该文件夹的快捷方式总是自动启动——这是它与用户专有的启动文件夹的区别所在。该文件夹一般在:\Documents and Settings\All Users\「开始」菜单\程序\启动。

三、Load注册键

介绍该注册键的数据不多,实际上它也能够自动启动程序。位置:HKEY_CURRENT_USER\Software\Mi crosoft\WindowsNT\CurrentVersion\Windows\load。

四、Userinit注册键

位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\Current Version\Winlogon\Userinit。这里也能够使系统启动时自动初始化程序。通常该注册键下面有一个user init.exe,但这个键允许指定用逗号分隔的多个程序,例如「userinit.exe,OSA.exe」(不含引 号)。

五、Explorer\Run注册键

和load、Userinit不同,Explorer\Run键在HKEY_CURRENT_USER和HKEY_LOCA L_MACHINE下都有,具体位置是:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run,和HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer \Run。

六、RunServicesOnce注册键

RunServicesOnce注册键用来启动服务程序,启动时间在用户登录之前,而且先于其他通过注册键启动的程序。Ru nServicesOnce注册键的位置是:HKEY_CURRENT_USER\Software\Microsoft\Wi ndows\CurrentVersion\RunServicesOnce,和HKEY_LOCAL_MACHINE\SOF TWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce。

七、RunServices注册键

RunServices注册键指定的程序紧接RunServicesOnce指定的程序之后运行,但两者都在用户登录之前。 RunServices的位置是:HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\RunServices,和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices。

八、RunOnce\Setup注册键

RunOnce\Setup指定了用户登录之后运行的程序,它的位置是:HKEY_CURRENT_USER\Softwa re\Microsoft\Windows\CurrentVersion\RunOnce\Setup,和HKEY_LOCA L_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\ Setup。

九、RunOnce注册键

安装程序通常用RunOnce键自动运行程序,它的位置在HKEY_LOCAL_MACHINE\SOFTWARE\Mic rosoft\Windows\CurrentVersion\RunOnce和HKEY_CURRENT_USER\Soft ware\Microsoft\Windows\CurrentVersion\RunOnce。HKEY_LOCAL_MAC HINE下面的RunOnce键会在用户登录之后立即运行程序,运行时机在其他Run键指定的程序之前。HKEY_CURREN T_USER下面的RunOnce键在操作系统处理其他Run键以及「启动」文件夹的内容之后运行。如果是XP,你还需要检查一下HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersio n\RunOnceEx。

十、Run注册键

Run是自动运行程序最常用的注册键,位置在:HKEY_CURRENT_USER\Software\Microsoft \Windows\CurrentVersion\Run,和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run。HKEY_CURRENT_USER下面的Run键紧接 HKEY_LOCAL_MACHINE下面的Run键运行,但两者都在处理「启动」文件夹之前。

[收藏]wordpress主题设计基础

想了解一下怎么样设计wordpress的主题,Google出这篇文章,收藏下来学习学习。

来源:http://www.freerainbow.cn

一、开发工具及相关资源
本地WordPress架设:Xampp(WordPress官方也推荐了这一软件组合,方便实用)。
代码:Dreamweaver(我选择它仅仅是出于习惯,你完全可以选择一个更称手的)。
图像:Photoshop、Illustrator、Fireworks之类之类。
版本控制:Google Code,在教育网利用svn往google code上传东西实在是太慢了,不过还是推荐。
浏览器测试:Firefox(当然,少不了Web Developer Toolbar)、Internet Explorer 7、Mutiple IEs(包含可独立运行的IE3——IE6)、Opera、Swift(基于WebKit引擎的浏览器,用于Safari兼容性测试)。
相关站点:
WordPress Codex
WordPress Hooks
WordPress Theme Viewer

二、WordPress主题结构——模板文件及其调用
传统的网页通常使用HTML来控制页面结构,并通过样式表(CSS)来控制页面的表现。WordPress也使用样式表来控制网页的表现,但其页面内容则 是由几个模板文件(Template Files)共同构建而成的。其中一些模板文件是全局性的,比如头信息和页脚模块,而有一些则只用于特殊场合。    这些模板文件通常由XHTML和简单的PHP代码构成,只要你有一些基本的网页知识,并且知道什么是“if…else…”,就不用太担心代码问题——当 然,掌握一些基本的XHTML、CSS、PHP和Javascript知识,还是大有好处的。在文章中,我会尽量少涉及模板之外的代码,很多东西,不是拿 来谈论的,比如网页标准,我们遵循它,使用它,就可以了。我们习惯性的将网页分解为 “头信息(Header)”、“内容(Content)”、“侧边栏(Sidebar)”、“页脚(Footer)”这几个主要部分,而这也是主要 WordPress模板文件划分的依据。通常一个普通的WordPress主题会包含一下几个模板文件:样式表:style.css
头信息模块:header.php
内容模块:index.php、page.php、single.php、archive.php、search.php、404.php
侧边栏模块:sidebar.php
页脚模块:footer.php
评论模块:comments.php
搜索表单模块:searchform.php
其中,style.css用于定义主题的外观;头信息模块定义了网站的基本信息,比如标题、关键词等等;站点的主要内容使用index.php输 出,page.php用于输出分页内容,而single.php则被用于单篇汇整,404模块用于返回站点404错误信息;sidebar.php包含了 网站的一些次要内容,比如订阅、分类、链接等等;页脚信息通常会包含站点的版权等相关信息;而其他模块所含内容视情况而定,比如comments.php 用于控制评论输出,而searchform.php则包含了搜索表单。当然,WordPress也允许用户调用自己定义的模块。注意:当 archive.php和search.php不存在时,WordPress会自动调用index.php中的内容,因此这两个模板文件已经不是必需的 了,在此不作介绍。

在WordPress中,主要的模板文件都有自己专用的调用代码:
style.css:<?php bloginfo(’stylesheet_url’); ?>
header.php:<?php get_header(); ? >
sidebar.php:<?php get_sidebar(); ? >
footer.php:<?php get_footer(); ? >
comments.php:<?php comments_template();? >
而其他辅助模块则可以使用相关语句来调用,比如你要在侧边栏里调用搜索模块,就可以在sidebar.php的相关位置输入:<?php include (TEMPLATEPATH . ‘/searchform.php’); ?>该语句也可用于调用你自己创建的模板文件。举个例子,比如在index.php中,我们需要头信息、正文、侧边栏和页脚信息,那么该模板的结构 就是:
<?php get_header(); ?>
…主体内容…
<?php get_sidebar(); ?>
<?php get_footer(); ?>先写这么多吧,

参考文献:
Stepping Into Templates
海豚的WordPress Theme教程 part1

三、模板文件解析
首先提一下WordPress的模板标签(Template Tags)。WordPress提供的模板标签十分丰富,你几乎可以利用它们把主题做成任何你想要的样子。了解并掌握重要标签的形式和用法是进行 WordPress主题开发的重要环节。WordPress Codex给出了大部分Template Tags的说明,我就不做重复劳动了。

进入正题,我们以WordPress Default 1.6为例,尽可能详细的分析模板文件中所用到的相关代码及技巧。

3.1    Header.php
我们从头开始好了。打开Header.php,在这里我们可以看到不少常用的模板标签,其中<?php language_attributes(); ?>是WordPress 2.1新增加的标签,用于在头部输出“lang=’zh-CN’”这样的语言标记,站点语言可以在后台定义。    在这里,你可以看到<?php bloginfo() ?>是一个被使用多次的模板标签,用于显示一些站点的相关信息,比如标题、网页类型、字符集、样式表链接、Rss链接等等。其用法 是:<?php bloginfo(’show’); ?>Show是你想要显示的内容,可以是:name、description、url、charset、stylesheet_url等等,另 外,<title> </title>之间的代码用于输出网页的标题,先看WP默认模板的标题输出:除了用<?php bloginfo(’name’); ?>输出Blog的名字之外,该模板还使用了”is_single()”函数来判断当前页面是否是单篇汇整页面,如果是,则输出<?php if ( is_single() ) { ?>…<?php } ?>之间的语句。    这是一个非常常用的技巧,它允许你使用一段代码控制不同页面的输出效果,简便且灵活。除了is_single()之外,常用的还有:is_home()、 is_page()、is_paged()、is_archive()、is_search()、is_404()、is_tag()。意思都很好理 解,is_paged()就是某个存档的除第一页外的后n页(这个解释很别扭,俗称“上一页”…) 如果非再要举个例子,那就来一个豪华的,K2的 theloop.php。有别于普通WP模板按网页结构和存档性质划分模板文件的方法,K2使用theloop.php来定义全部页面的正文内容输出,主 要手段就是通过上面提到的那些函数来判断当前页面的性质以输出相应的内容。尽管原理很简单,但这种处理模板文件的形式大大简化了代码编辑工作,因为你只需 要通过一个模板文件中的几行代码就可以改变几乎任何一个页面上的内容。如果你想要某页面不显示某些内容,只要在is前加上感叹号表示否定即可,

例如:
<?php if ( !is_home() ) { ?>…<?php } ?>

最后,在</head>之前,一定会有一个<?php wp_head(); ?>,wp_head()用于获取一些插件或者主题所需的功能,这些功能通常是在后台就定义好的,比如在一些主题和插件里你可以看到 add_action(’wp_head’, ‘函数名’);这样的语句。大部分主题将导航栏也放在header.php中,就简单提一点:WordPress对当前页定义的CSS Class是current_page_item,而其他页面则是page_item,也就是说,你可以在CSS中定义 current_page_item和page_item以区分当前页和其他页面的样式。

比如:li.current_page_item {

}
li.page_item {

}wp_list_pages()也是一个很有讲究的模板标签,具体用法参见Codex。

参考文献:
Template Tags: bloginfo
Hooks: wp_head
The Loop

3.2    Index.php
以WordPress默认模板的index.php为例。我们先来看看它的结构:首先,通过<?php get_header(); ?>获得头信息;然后是一个循环体(The Loop,不知这样叫对不对);最后通过<?php get_sidebar(); ?>和<?php get_footer(); ?>加载侧边栏和页脚。熟悉The Loop的用法能够让你随心所欲的控制文章的输出,因此我们来着重了解一下The Loop:       WordPress使用一个循环体来控制正文内容的显示,文章将按循环体内代码所定义的格式输出到当前页面上。部分模板标签必须在循环体内使用,如每篇文 章的标题(the_title()),时间(the_time())和分类(the_category()) 。

简单表示如下:<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
…找到相关内容则按格式输出正文…
<?php endwhile; else: ?>
…否则输出错误信息…
<?php endif; ?>      The Loop的用法非常灵活,比如你可以将其和分类标签结合起来以限定某个页面或某一部分只显示某个或几个分类的内容,这就是一个最简单的Asides。有兴 趣的自己不妨找找相关插件或模板来看看。我在这里仅举两个简单的例子。
比如,如果你想要某一页面只显示分类x(x代表该分类的ID)的内容,

你可以这样写:<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php if ( in_category(’x’) ) { ?>
…正文内容…
<?php } else { ?>
…其他内容…
<?php } ? >
<?php endwhile; else: ?>
…出错信息…
<?php endif; ?>

进一步,来看一个Asides的例子。假设你需要在某个页面的某一位置(比如侧边栏)输出某个分类的前x篇文章,你可以这样做:

<?php $temp_query = $wp_query; ?>
<?php query_posts(’category_name=分类名字&showposts=x’); ?>
<?php while (have_posts()) : the_post(); ?>
…Asides内容…
<?php endwhile; ?>
<?php $wp_query = $temp_query; ?>

在这里,我们在Asides的循环体重使用变量temp_query来代替wp_query,以避免同正文部分的循环体发生冲突。更多的例子你可一在文后的参考文献中找到,代码大同小异。另外Durable的index.php也是一个不错的样板。

3.3    Sidebar.php
侧边栏的内容没有太多好说的,记住如果你想自己的侧边栏在不同页面显示不同内容,可以用3.1中提到的方法。我倾向于让用户使用Sidebar widgets或SBM(Sidebar Modules)来自行定义侧边栏的内容,这就是为什么Unnamed默认侧边栏内容偏少的原因。在这里简单解释一下如何让主题支持Sidebar Widgets或SBM:
首先你需要建立一个functions.php,这个文件通常用于控制主题的后台内容,包括一些后台功能和管理页面。然后在functions.php中加入下述代码:
if (function_exists(’register_sidebar’)) { register_sidebars(x,array(’name’=>’Sidebar %d’)); }x代表sidebar的数量。

最后,修改Sidebar.php,以双侧边栏为例:
<div id=”sidebar”>
<div class=”left-sidecolumn”>
<ul>
<?php if ( function_exists(’dynamic_sidebar’) && dynamic_sidebar(1) ) : else : ?>
<li> … </li>
<?php endif; ?>
</ul>
</div>
<div class=”right-sidecolumn”>
<ul>
<?php if ( function_exists(’dynamic_sidebar’) && dynamic_sidebar(2) ) : else : ?>
<li> … </li>
<?php endif; ?>
</ul>
</div>
</div>

参考文献:
The Loop
Widgetizing Themes

四、杂项

4.1    Custom Image Header

Custom Image Header 是WordPress 2.1增加的一个新功能,支持该功能的主题允许用户自定义Header图片。所以今天贫僧来介绍如何让施主们的WordPress主题支持该牛逼闪闪的功 能。本文中涉及的相关代码可以在Unnamed Special Edition 的functions.php中找到。首先,各位施主请看如下几行代码,它们分别定义了header部分的字体颜色、默认背景图片以及图片尺寸:
define(’HEADER_TEXTCOLOR’,’FFFFFF’);
define(’HEADER_IMAGE’,’%s/images/bg_header.jpg’);
define(’HEADER_IMAGE_HEIGHT’,150);
define(’HEADER_IMAGE_WIDTH’,960);

这段代码告诉我们一个道理:Unnamed SE的header部分字体颜色为白色(FFFFFF),默认背景图片为bg_header.jpg,背景图片尺寸为960*150。再来看下面这段代 码,在这里,函数custom_css()包含了定义主题header样式所需的CSS,它会被输出到模板的头部(如果施主不想在页面头部生成过多代码, 可以考虑和Unnamed一样将CSS写入php文件,不过贫僧不推荐这样做,尽管好处大大地,但弊端也很是不少)。

<?php
function custom_css() {
?>
<style type=”text/css”>
#header {
height:<?php echo HEADER_IMAGE_HEIGHT; ?>px;
background:url(<?php header_image() ?>) transparent repeat top center;
}
<?php if (get_header_textcolor()==’blank’ ) { ?>
#header h1, .description {
display:none;
}
<?php } else { ?>
#header h1 a,.description {
color:#<?php header_textcolor() ?>;
}
<?php } ?>
</style>
<?php } ?>

其中,#header部分定义了header图片的高度(HEADER_IMAGE_HEIGHT)和url(header_image());而后一部 分则判断header的文字部分是否需要隐藏;header_textcolor()则用于定义字体颜色。用户们都喜欢所见即所得,所以,为用户着想的施 主们需要在管理页面中设置当前header样式的预览。为了与模板中的样式保持一致,我们用admin_header_style()定义预览部分的样式 (代码意义与前一段基本相同):<?php function
admin_header_style() {
?>
<style type=”text/css”>
#headimg {
background-image:url(<?php header_image() ?>);
background-repeat:repeat !important;
height:<?php echo HEADER_IMAGE_HEIGHT; ?>px;
width:<?php echo HEADER_IMAGE_WIDTH; ?>px;
margin:0 0 10px;
}
#headimg h1 {
font-size:2.2em;
text-align:left;
margin:0;
padding:45px 0 0 20px;
}
#headimg h1 a {
color:#<?php header_textcolor() ?>;
text-decoration: none;
border-bottom: none;
}
#headimg #desc {
color:#<?php header_textcolor() ?>;
font-size:1em;
text-align:left;
padding:0 0 5px 20px;
}
<?php if (’blank’ == get_header_textcolor()) { ?>
#headimg h1,#headimg #desc {
display:none;
}
#headimg h1 a,#headimg #desc {
color:#<?php echo HEADER_TEXTCOLOR ?>;
}
<?php } ?>
</style>
<?php } ?>

最后,我们通过add_custom_image_header()来输出CSS到主题和管理页面的头部。<?php add_custom_image_header(’custom_css’, ‘admin_header_style’); ?>这样,当该WordPress主题被激活时,系统会自动加载Custom Image Header管理页面,用户可以通过该页面上传和处理header背景图片。更多内容可以参考/wp-admin/custom-header.php。 4.2    后台管理页面    先来介绍一下今天的主角——Wordpress Theme Toolkit 和 Unnamed 0.4.1:Wordpress Theme Toolkit 是著名 WordPress 达人 Ozh 开发的专用于编写 WordPress 模板后台管理页面的工具(Ozh 开发了很多经典且实用的WordPress插件和工具,施主可以在这里找到更多好玩的东西)。尽管已经有很久没有更新,但经过测试,发布于九个月前的、将 该工具性能压榨殆尽的 Unnamed 0.4 至今仍能非常稳定的工作在 WordPress 2.3-Alpha 平台下,足见 Theme Toolkit 的经典程度。Download Unnamed 1.22
对比 Unnamed 1.2 的后台管理页面,施主们可以发现,这九个月来,Unnamed 虽然一直在进步,但其基本框架是在 0.4 时代就定型了的。从Unnamed 0.5 起,贫僧开始自己编写后台页面,代码最多时达到700余行,而 0.4 的后台管理页面只有区区200行代码,简练易读。贫僧认为,对于初学者,Theme Toolkit 提供的方便而强大的开发环境可以让施主事倍功半。OK,现在我们来介绍 Theme Toolkit 的使用方法。1. 调用themetoolkit.php
首先,我们利用下面这条语句将所需的themetoolkit.php加入functions.php中:
<?php include(dirname(__FILE__).’/themetoolkit.php’); ?>然后,我们来看如何在 functions.php 定义模板所需要的功能:
<?php
themetoolkit(
‘mytheme’, array(
‘option1′ => ‘Text for Option One’,
‘option2′ => ‘Text for Option Two’,
‘option3′ => ‘Text for Option Two’,
),
__FILE__
);
?>

其中,mytheme 为主题的别名,这无关紧要,数组 array() 中的内容才是关键,

第一部分 “option1”为模板某个选项的名称,而 “=>” 之后的部分定义了 option1 的说明文字、样式(比如单选框、复选框、输入框和文本框,不支持下拉选框)和选项状态(比如enable或者disable)。

2. 单选框 (radio)   来看Unnamed 0.4中控制Live Search选项的代码:
‘live_search’ => __(’Live Search’,’unnamed’).’ {radio|enable|’.__(’Enable Live Search(Default)’,’unnamed’).’|disable|’.__(’Disable Live Search’,’unnamed’).’} ## ‘   这是一个典型的单选框应用,__(’…’,’unnamed’) 为本地化代码请直接忽略,我们将代码化简一下得到:
‘live_search’ => ‘Live Search {radio|enable|Enable Live Search(Default) |disable| Disable Live Search} ‘   这便是调用单选框的基本格式,即:
‘选项名称’ => ‘选项标题 { radio | 选项1 | 说明文字1 | 选项2 | 说明文字2 }’

3. 复选框 (checkbox)复选框的调用方法基本类似:
‘选项名称’ => ‘选项标题 { checkbox | 选项1 | 说明文字1 | 选项2 | 说明文字2 | 选项3 | 说明文字3… }’

4. 输入框 (input field)施主可以在Unnamed 0.4中找到如下代码,它通过输入框来定义Unnamed文字字体的大小:
‘font_size’ => __(’Text Size’,’unnamed’).’ ## ‘.__(’Type in pixel size of the text. ‘,’unnamed’)我们很容易看出输入框的调用格式为:
‘选项名称’ => ‘ 选项标题 ## 说明文字 ‘

5. 文本框 (textarea)文本框的调用格式为:
‘选项名称’ => ‘选项标题 {textarea|行数|列数} ## 说明文字’

6. 设置默认值
我们需要为各个功能设定它们的默认值,开看看Unnamed是怎么做的:if (!$unnamed->is_installed()) {
$set_defaults[‘live_search’] = ‘enable’;
$set_defaults[‘ajax_commenting’] = ‘enable’;
$set_defaults[‘sliding_menu’] = ‘enable’;
$set_defaults[‘header’] = ‘header’;
$set_defaults[‘sidebar_align’] = ‘right’;
$set_defaults[‘width_type’] = ‘3′;
$result = $unnamed->store_options($set_defaults);
} 注意$unnamed为模板的别名,即前面的”mytheme”,代码很好理解,就不多解释了。

7. 利用函数控制和输出功能
在了解如何调用各种样式来控制模板功能之后,我们需要将这些功能添加到模板中去,我们需要自己编写一些简单的函数来控制和输出这些功能。比如,当 Live Search 选项为 enable 时,模板的 Live Search 可用,否则禁用。在模板中,这就相当于是否加载 livesearch.js。九个月前的贫僧是这样做的:在 functions.php 中,定义 unnamed_livesearch() 函数,判断 live_search 选项是否为 enable,若是,则返回真值。function unnamed_livesearch() {
global $unnamed;
if ($unnamed->option[‘live_search’] == “enable”) {
return true;
} else {
return false;
}
}

在 header.php 中施主可以看到如下代码,当 live_search 为 enable 时,即 unnamed_livesearch() 的值为真时,调用livesearch.js.php,Live Search 功能被加载,否则该功能被禁用。
<?php if(function_exists(’unnamed_livesearch’) and unnamed_livesearch()) { ?>
<script type=”text/javascript” src=”<?php bloginfo(’template_directory’); ?>/js/livesearch.js.php”></script><?php } >    实际上施主还可以写的更简单一些。    还可以利用 Theme Toolkit 来改变模板的样式,比如 header 图片,字体,色彩,宽度等等,具体施主可以看unnamed_options_css () 这个函数是怎么写的,由于和上一节 Custom Image Header 类似,在此就不赘述了。8. 其他
Theme Toolkit 会自动生成删除选项,令施主们没有后顾之忧。施主还可以对themetoolkit.php做一些改动,让它符合自己的特定需求。如果有兴趣自己编写后台 管理页面,贫僧强烈建议施主去读 Codex 上的 Plugin API 及其他相关文章。参考文献:
Wordpress Theme Toolkit

Windows XP 系统 登陆慢 启动慢的问题的解决办法

最近我的XP系统开机总是很慢,登陆之后开机启动的程序倒是正常的,一个接一个都打开了。但是如果这时候打开“我的电脑”的话就会发现有个手电筒在那里一直扫啊扫的,就是不出现内容。还有就是网络连接的图标总是不出来。大约需要一分多钟之后一切才能正常。

在网上找了找,按照下面的方法试了试,效果很明显,在此分享一下。

解决办法:
一、首先,请升级杀毒软件的病毒库,全面杀毒,以排除病毒原因。什么?你没安杀毒软件!?——除非你是老鸟(此文大虾和老鸟跳过^_^),否则建议安装。What?盗版的,不能升级!?这个问题别问偶,自己想办法!
二、开始→运行,输入msconfig→确定。在打开的系统系统配置程序里,将一些不重要的服务以及启动程序关闭,重启电脑。
三、进入“我的电脑”——工具——文件夹选项——查看——取消“自动搜索网络文件夹和打印机”的勾选。
四、在Windows XP启动进入桌面后系统会暂时停滞一段时间,这时启动任何程序都会没有反应,这是因为Windows XP的DHCP Client服务正在为网卡分配IP地址,系统会暂时停滞一段时间。解决这个问题,只要在“控制面板→网络连接”里,用鼠标右键单击“本地连接”图标,然 后选择属性,在弹出的属性窗口(如图)的“常规”选项卡的列表里选择“Internet协议(TCP/IP)”一项,然后单击“属性”按钮。在弹出的属性 窗口中,选择“使用下面的IP地址”选项,并在“IP地址”和“子网掩码”中分别输入“192.168.0.1”和“255.255.255.0”,最后 单击OK退出设置窗口。
开始→设置→网络连接→右击“本地连接”→属性→双击“Internet 协议 (TCP/IP)”→如果IP地址为空的话,点“使用下面的IP地址”指定IP地址和子网掩码。如可以将IP地址设为192.168.0.X(X为 1-255之间任一值),子网掩码可设为255.255.255.0→确定→确定。
五、清除预取目录,进入C:WINDOWSPrefetch文件夹,将扩展名为pf的文件全部删除,重启 .

学习脱壳

一、什么是壳

作者编好软件后,编译成exe可执行文件

  1. 有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等
  2. 需要把程序搞的小一点,从而方便使用,于是,需要用到一些软件,他们能将exe可执行文件压缩

实现上述两个功能,这些软件称为加壳软件或压缩软件。它不同于一般的winzip,winrar等压缩软件。它是压缩exe可执行文件的,压缩后的文件可以直接运行。

二、测壳软件

  • FileInfo
    待侦测壳的软件(如aa.exe)和fileInfo.exe位于同一目录下,将aa的图标拖到fi的图标上
  • language2000
    傻瓜式软件,运行后选取待侦测壳的软件即可(open)

三、什么是脱壳

运行加壳程序时, 用户执行的实际上是这个外壳的程序,而这个外壳程序负责把用户原来的程序在内存中解压缩,并把控制权交还给解开后的真正的程序,由于一切工作都是在内存中运行,用户根本不知道也不需要知道其运行过程,只要执行起来没有变化就好。当时有些人担心这些解压缩的工作会给程序带来额外的运行时间,但实际上所有的可执行文件都要读到内存中去执行,文件小了,从计算机硬盘上读到内存的时间自然也少了,两下相抵,实际上用户并不会感觉程序慢了多少。脱壳的就是把在内存中真正还原的程序抓取下来,修正后变成可执行的文件。

四、压缩工具

在Windows 95/NT/2000 上的文件格式是Portable Executable File Format(即PE格式),该格式应用于所有基于Win32的系统。由于现在windows的普及,下面谈到的壳都是基于这种文件格式。我们这里谈的压缩工具不是Winzip,WINRAR等工具(它们是可压缩任何文件),而是谈专门压缩windows下的 PE 格式EXE或DLL文件的工具,压缩的EXE文件是自解压可执行文件。

名称 作者 介绍
ASPack Alexey Solodovnikov 是俄国作者Alexey Solodovnikov写的一个非常强大的Win32压缩工具,其压缩率、速度和兼容性很不错,是目前很流行的一种压缩工具。
UPX Markus Oberhumer & Laszlo Molnar 非常全能的
Petite Ian Luck 能压缩PE文件的code, data等资源。
PE-PACK ANAKiN 一个自身体积小巧的压缩工具
PKLITE32 PKWARE, Inc. 32-位压缩工具(DLL/EXE).
WWPack32 Piotr Warezak and Rafal Wierzbicki 32-位压缩工具(DLL/EXE).
NeoLite 32-位压缩工具(DLL/EXE).
Shrinker Blink Inc 32-位压缩工具(DLL/EXE).

五、脱壳工具

一般某种压缩工具的壳,都会有相应的脱壳工具,因此只要找到较新版本的脱壳工具, 一般的壳都可轻易脱去。

名称 作者 介绍
ASPack unpacker bane 脱ASPack的压缩PE文件。
UnPEPack M.o.D. 脱PEPack的壳
ProcDump32 十分优秀的“万能”脱壳工具,可惜不升级了,因此只能自动脱些老版本压缩工具的壳,但可通过脚本命令使其升级。也是一款优秀的PE修改工具。

受不了,微软也能出这么好的东西(Courier)啊!

本来已经对微软的东西不感兴趣了,但是看到它即将推出的这个叫做Courier的Booklet产品,真是让人心动不已。

技术指标之类的东西google一下会很多,不用多说了,看看视频吧:

[flashvideo file=http://211.157.113.49/backup/Courier.FLV /]

如果这个东西普及了,我觉得又是一个改变人类生活习惯的东西。我们日常写字、画画都可以不用纸了,又方便又环保。当然如果是非要用纸的艺术创作就另当别论了。

下面再看看图吧(单击可以放大):

介绍一个网站——高飞Goofy2.com

今天在Twitter里认识了个人,他做了个网站叫“高飞”,觉得理念挺吸引人的。在这个网站里你可以像用Twitter一样,用240个以内的文字来发表一些东西。不同的是,在里面你可以像跟别人聊天一样,并且同时会把你打的文字翻译成其它45种语言,这样全世界各地的人都可以随时一起交流了。下面是我跟 Kashgar聊的时候,他给我讲的:

基 本上你在高飞上是跟很多人公开对话——意思和群聊很像,不同的是有记录的,而且有回复关系,所以可以是实时的,也可以是非实时的,每个人都有一个“我的网 络”——里面是能够看到和回复你的话题的人,反之也一样,你可以增加人,也可以减少人,可以邀请人,也可以屏蔽人——基本上你在高飞是和一群人公开对话, 你要做的就是谈话,去掉让不不爽的人,增加让你舒服的人,同时也可以分享图片和音乐——只要把图片和音乐地址粘贴进来,回车就行,当然,图片也支持本地

 

我的新域名zhao.jinhai.de

很激动地向大家宣布,我今天新注册了一个特别酷的域名jinhai.de。我打算把我的博客随后改名为“赵金海的”,大家以后想打开我的博客可以使用下面几种域名之一:

zhao.jinhai.de

jinhai.de

www.jinhai.de

lnzhaotian.com

www.lnzhaotian.com

由于Lnzhaotian有点长,也不好念,所以我现在打算慢慢过渡到我的新域名,各位朋友们以后多使用zhao.jinhai.de或者jinhai.de来访问我的博客吧。

很想编程

唉,最终还是暂时放弃了。连续两天一直在努力,想把Mac OS X 10.4.9装在HP500在本上,但是一次又一次地重装,几乎把每个驱动都试了还是没成功。进展最大的就是到了开机蓝屏的背景下,停在Starting Mac OS X的窗口下,再也不动了,鼠标能动。

网上也没有找到解决办法。可能是破解得不好吧,现在正在下10.5的,到时候看看能不能装上。

为什么要装Mac OS呢,第一,目前还买不起苹果电脑;第二,很想用iPhone SDK。刚买了一本《iPhone基础开发教程》,已经手痒得不得了了。

很怀念高中在文曲星上面编程的感觉。昨天竟然很有缘跟文曲星公司(金远见公司)之前的策划总监认识了,聊了很多,发现有很多共鸣。他现在也在做英语培训,所以我们很容易有共同话题。英语和计算机是我们的共同爱好。现在真的很迫切地想再次在iPhone上找到当年在文曲星上的那种感觉。还记得李东升当时描述说我一开始在文曲星上编程就别人叫我都不知道了。那可是真正的忘我忘物的境界啊。当时还在一个非官方的文曲星论坛上当上了编程版块的版主。和网友们一起崇拜着Lee,希望有一天自己的编程水平也能像Lee一样……

我拥有的第一个文曲星,PC260

我用的第二个文曲星,PC 1000

第三个 NC 1020

第四个 NC 2600C

除了自己用的以外还研究过很多机型,给别人破密码、维修,编点小游戏什么的。下面这些都是我当年研究过的机型:

……

PC 505                          CC 300                     CC 800                  NC 3000……

可能还有,一时想不起来还有什么型号的了。

Using SCIM in English interface

惭愧啊,在ubuntu里搞定中文输入法竟然花费了近一天的时间。其实如果是把语言设置为中文的话也没那么多麻烦。只是我个人偏好英语的界面(再说ubuntu的中文界面下字体很难看),问题就出在这里了。只要切换到英语的界面,scim就不管用了。在网上看到了解决办法:

先用这句来安装im-switch和scim

sudo apt-get install im-switch scim

然后用下面两句来进行设置:

sudo im-switch -s scim -z all_ALL
im-switch -s scim -z all_ALL

结果我的问题就出在这里了,其实有错误提示,但我一直没有看到,提示内容是:

No system wide default defined just for locale en_US .
Use "all_ALL" quasi-locale and set IM.
update-alternatives: Cannot find alternative `/etc/X11/xinit/xinput.d/scim’.

没注意这里的提示我还到处找别的原因,又试着装了fcitx,接着卸了又装,装了又卸,还手动修改/usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules,都不起作用。直到看到错误提示,才想起,原来是要update-alternatives。用下面这句:

update-alternatives –install /etc/X11/xinit/xinput.d/all_ALL xinput-all_ALL /etc/X11/xinit/xinput.d/scim 30

完了之后再用上面那两句来设置,没有错误提示了,重启就OK了。