Wednesday, May 11, 2011

How to check the clicking of "Refresh button" in a Browser Help Object with C#

How to check the clicking of "Refresh button"

It is not a good experience.

In the versions of 0.9.2.x, the event handler was set many times at each "DownloadComplete". But in fact once is enough, too many times will reduce the loading speed indeed.

The reason is that we cannot catch the clicking of "Refresh button", I have no idea that why Microsoft never leave this interface, it is very bad.

Unexpectedly, I found this code is helpful:

//in NavigateComplete2 or other place:
document
= ieInstance.Document as IHTMLDocument3;
rootElementEvents
= document.documentElement as HTMLElementEvents2_Event;

Then when the refresh button is clicked:

//place this code in DownloadBegin
if (rootElementEvents != document.documentElement as HTMLElementEvents2_Event)
{
MessageBox.Show("You might click the refresh button just now");
}

The new tab and event handler

A new tab opened by clicking the URL (or clicking a URL with middle button, or right button then select "open in new tab"), cannot be set event handler in 'NavigateComplete2', but "DownloadComplete" is OK.

It is not right in "NotGood".

Conclusions

We can drop re-navigating, cut down the times of handler setting.


Super Drag and Go (0.9.5.0 beta) for IE9

超级拖拽插件(0.9.2.3 beta) for IE9

What's new:
0.9.2.2

You can still use "super drag" after refreshing the page.
In fact, the code has been written in 0.9.2.1, but was palced into a wrong position.
Additionally, the ZIP file for manually installation was bad, I have upload a right one to instead it.

更新在刷新页面之后仍可以使用拖拽。
其实实现这个功能的代码在0.9.2.1中已经写出来了,只是放错了位置,我在测试时也一直没注意到。此外,之前的手动安装文件是错误的,已经更正了。

0.9.2.3

Search string can be recognized by search engineering when language is not Simplified Chinese or English.

搜索字串可以在搜索引擎的设置非简体中文或英文时正确识别。

0.9.5.0

Re-navigating when open a new tab was removed. The times of handler setting was reduced.

修改了设置事件的方式,打开新选项卡不需要重新导航,设置事件的次数减到很少。


Tuesday, May 10, 2011

记念一些逐渐消失的软件

有些软件是我们以前安装电脑时必须首先考虑安装的,现在它们都很少见了。

随便写一点,记念一下这些软件。

 

Net Ants

作为多线程下载的开山鼻祖之一,Net Ants已经消失很久了,取代它的是FlashGet以及泛滥的迅雷。

至于后来者的优点,当然是更快。

CCED

在DOS时代曾经辉煌一时的CCED现在已经找不到了。最夸张的是它的主页现在乱得厉害。

Winamp

MP3的代名词,现在你还用它吗?

现在的播放软件都是些高大全的东西,比如微软的WMP,苹果的iTunes,还有啥?

金山游侠

游戏玩家必备。不过现在的游戏都有专用修改器??

KILL

公安部认证的杀毒软件,现在不知还更新不。

东方快车

Unicode是个好东西,于是转码软件失业了。

Monday, May 09, 2011

Super Drag and Go (Beta) for IE9

Super Drag and Go (Beta) for IE9
超级拖拽(beta) for IE 9

作者: s.weyl版本: 0.9.2.1 (beta)

如果你知道超级拖拽是什么,那么你可能需要这个插件。你可以用电子邮件向我查询或者索要源码(scarsty@gmail.com)。

1. 如何安装和卸载

首先需要你的系统中安装了.NET Framework 4.0 Client,可以在 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e5ad0459-cbcc-4b4f-97b6-fb17111cf544下载。根据微软的说法,完整的.NET框架是“Client”版的超集,所以我想.NET Framework 4.0也不成问题。

手动安装(推荐):
下载压缩包,解压到任意目录,以管理员身份运行附件中的“命令行”,切换到文件所在的目录,运行“install”。卸载的过程是类似的,只是要运行“uninstall”。
如果要在64位IE中使用,运行“install 64"和"uninstall 64”。
“CustomDrag.exe”这个程序可以对拖拽进行一些设置,还可以将自身添加到IE的工具菜单中。这些设置在卸载时都会被删除。

自动安装:
使用MSI文件可以自动安装,但是只有针对32位IE的安装文件。这时需要使用控制面板卸载。

2. 设置搜索字串:
用你喜欢的搜索引擎搜索“{0}”,然后把地址栏中的内容复制下来即可。

3. 参考文献:
http://www.cnblogs.com/TianFang/archive/2011/03/12/1982100.html
http://www.codeproject.com/KB/cs/Issuewithbandobjects.aspx
MSDN.
以及其他。

发布页:
http://code.google.com/p/cs-drag4ie9/

文件下载:
http://code.google.com/p/cs-drag4ie9/downloads/list

Tuesday, May 03, 2011

BHO事件的设置时机

每次导航设置,网页刷新或重导航需设置。

我想这个思路是不是有些问题。

Thursday, April 28, 2011

For IE9的超级拖拽插件(Super Drag & Go for IE9)

Windows 7和IE9比较普遍了,但是死活没有一个能用的超级拖拽插件。这次看了一个实例,自己编了一个。

(更新:http://scarsty.blogspot.com/2011/05/super-drag-and-go-0922beta-for-ie9.html

参考此网址(猛击进入)以及那个平台上提供的例子,编写了一个具体的实现。核心代码是那位作者的,但是他好像没有写好接口部分,自己胡编了一部分代码。

由于只有Express版用,所以只生成了一个dll文件,安装会麻烦一点。

解压至任意文件夹,用管理权限打开命令提示符,运行“install”就是安装,而“uninstall”就是卸载。里面的命令很简单,打开看看就明白了。

如果希望在64位ie下使用的话,请打开install.cmd文件,将里面的“Framework”改成“Framework64”,卸载也一样。

由于C#我不怎么熟,代码里面很多是瞎编的,不过还好居然能用。

现在还有一些bug,哪位熟悉这个的可以指点指点。

http://code.google.com/p/cs-drag4ie9/downloads/list

Wednesday, April 27, 2011

Word中让表格不会被分页的设置

1. 文档的整体设置,高级-兼容性选项,如下图:

image

2. 表格自身的文字环绕须为“环绕”。

image

总之莫名其妙。

Monday, April 18, 2011

CHM文件中的Flash元素要求管理员权限之解决

一般只出现在64位系统,看CHM的时候忽然用户账户控制的对话框冒出来,说关于Flash插件有问题。原因是CHM的排版需要调用IE,而在64位系统中居然是调用64位IE,而Flash是没有针对64位IE的。

解决方案:实际上Flash的64位插件还是有一个测试版,自己到Adobe的网站找吧。

 

as here

http://kb2.adobe.com/cps/000/6b3af6c9.html

Friday, April 15, 2011

IE9下用超级拖拽

IESuper可以糊弄着用。

如果安装并配置之后,再打开IE时首页还是出现配置页面的话,就用管理员权限运行一次IE,设置完就可以了。

Thursday, March 31, 2011

Android工程的组织结构

本文介绍一个十分简单的Android工程的组织,由java语言编写。

这个例子是为了说明如何在没有任何Android开发基础的前提下强行开始工程的研发,适合于有一定其他类的较大项目开发经验,但基本首次接触Android的研发人员。

 

以下为这个Android工程的组织结构,其中比较重要的地方都已经展开了。

clip_image001

src目录下的test1.java为主要源程序,如果工程比较复杂也可以有多个源程序文件。gen目录下的R.java为一个自动生成的java代码文件,主要用来标记界面上各个元素的情况,一般来说开发者不需要修改这个文件。

res\layout目录下的main.xml为主界面,res\values目录下的strings.xml保存了一些字串常量,一般情况下无需修改名字,也可以在主要源程序代码中指定。

在res目录下还保存了程序的图标,图片资源等,管理起来都比较简单,本例中也不讨论这些地方。

 

下面是这个简单例子的界面,比较随意,只为说明问题。

左面为控件库,可以直接用来拖动设计界面,如需要复杂的排版效果,可以直接编辑xml文件。该文件中同时保存了每个控件的id名。例如这里的第一个按钮的对应部分为:

<Button

    android:text="Button123"

    android:id="@+id/button1"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_gravity="center_horizontal" >

    </Button>

 

本例包含几个基本的控件,即一个字串,两个按钮,一个单行文本编辑框。一般的说,如果觉得这些控件不够美观可以自己画图,再为图片编写事件,大部分情况可以糊弄着用。

image

 

以下为源码文件的内容,注释中将详细说明哪些是非常重要的,哪些是必须手动添加的。

 

package com.test1; 

// 指定的程序名称,在创建工程时由开发者填写

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

// 显示专用库

import android.view.View.OnClickListener;

// 处理点击事件的专用库

import android.widget.Button;

// 按钮专用库

import android.widget.TextView;

// 字串label的专用库

import android.widget.EditText;

// 编辑框的专用库

// 在添加控件时,以上代码并不会被自动加入,需要手动添加

// import相当于C#usingDelphiuses

 

public class test1 extends Activity {

    // 与文件名相同的类

 

    private Button mBtn1, mBtn2;

    private TextView mText;

    private EditText e3; 

    // 定义具体的对象,与主界面中对应,对象名任意起即可

    /** Called when the activity is first created. **/

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        // 以上两行均为自动生成,可以理解为程序入口,通常不要修改

        // (关于程序入口的定位Google的解析非常糊涂,初学者基本看不懂,可以就当是这里)

        setContentView(R.layout.main);

        // 选择一个xml的定义作为主要界面,即指定main.xml

        mBtn1 = (Button) findViewById(R.id.button1);

        mText = (TextView) findViewById(R.id.Text1);

        mBtn2 = (Button) findViewById(R.id.button2);

        e3 = (EditText) findViewById(R.id.editText1);

        // 需手动用findViewById将控件与具体对象关联

 

        mBtn1.setOnClickListener(new OnClickListener() {

            // 为第一个按钮的点击设置监听

            public void onClick(View v)

            // 本行可认为是固定写法

            {

                mBtn2.setText(e3.getText());

            };

            // 具体的内容可以直接写在这部分

        });

        mBtn2.setOnClickListener(new View.OnClickListener() {

            // View.OnClickListener与不写View是一样的,但是输入View.

            // 之后可在弹出的列表中直接选择OnClickListener

            // 下面一行也会自动生成

            public void onClick(View v) {

                // TODO Auto-generated method stub

                onTTTT();

                // 具体的内容也可以写在后面单独的函数

            }

        });

        // 以上内容需在OnCreate过程中写完

 

    }

 

    public void onTTTT() {

        mBtn2.setText(mText.getText());

 

    }

 

}

Friday, February 25, 2011

Chrome插件

鉴于Firefox基本可以干死Mac系统,Safari使用体验上几乎半残,Opera排版胡乱用字体,IE for Mac被微软毙了,目前Mac下面比较好用的浏览器应该是Chrome。这东西如果不加几个插件跟Safari也没啥区别。

一般的说,我只用鼠标手势和超级拖拽,还是习惯的力量。

下载

AdBlock

据说作者现在辞了工作专心开发这个插件,可以理解为对网络时代商业强权的对抗。有空可以给作者捐点钱。

下载 (1)

Drag and Go

超级拖拽目前这个比较好。

下载 (2)

Smooth Gestures

鼠标手势,其实我只用关闭网页的手势。

下载 (3)

Sexy Undo Close Tab

同类品很多,这个包含搜索功能,同时比较美观。

Logo

UndoIt!

当只需要恢复最近关闭的一个标签时,比上面的省去一次点击和精力。

Logo

Force Microsoft Yahei Font

强制雅黑或文泉驿微米黑。Windows下面有用,Mac下就不必了。

Sunday, February 20, 2011

关于《红楼梦》作者的一种观点

《红楼梦》在写什么呢?《红楼梦》在写一个小男孩的成长,他看穿了社会的黑暗,一个成年男人“体制化”的结果就是变成“国贼禄蠹”、“穿靴戴帽的强盗”;这个社会贫富悬殊,司法不公,道义无存,统治阶级为富不仁骄横跋扈,普罗大众饥寒交迫猪狗不如;他看穿了大家庭温情脉脉面纱下的虚伪和凶残,“花柳繁华地温柔富贵乡”不过是男盗女娼的乐园、相互倾轧的屠场。


这个假人、假事、假话构筑的荒唐国家毁灭一切真善美(以大观园里的少女们为代表和象征),也毁灭了这个男孩的爱情,他最终只能远远逃离这个令人绝望的世界。这个男孩的出走,完全否定了中国一切“盛世”的神话,全面揭示了中国令人绝望的荒原般的人文生态环境。


《红楼梦》没有指出一条令人感到希望的道路,但它极具真实性的描写却能解构这个荒唐国家的实质:极权暴政是一切假丑恶的根源。薛蟠、王熙凤和贾赦等人倚仗权势,可以将司法机关玩弄于股掌之间;贾雨村这个落魄的文人依靠谎言攀附权贵,可以青云直上大红大紫;讲真话办真事的甄应嘉就会被抄家下狱;迂腐不知变通的贾政在如此流氓的体制内只能当一个被小人裹挟的糊涂虫和可怜虫。

以上文字出自http://daofeichang.blog.163.com/,写得非常精彩。

该博客的主人认为《红楼梦》的作者是曹頫,120回全部为其所撰。

我不想掺和这个问题,不过我觉得120回出自一个人的可能性比较大。后40回的事也许是作者心态变化,也许有人修订。

而且我还觉得,后40回情节发展迅速,排除那些作者的故弄玄虚,实在比前面要好看一些。

Thursday, February 03, 2011

MSN中的内容转到Wordpress

鉴于微软要关闭live space了,这里的东西虽说看的人不多但是也不能扔掉,于是折腾了半天将内容转至Wordpess。

其中犯了一个错误就是将内容转至新浪了,本是为了在内地访问方便,后来发现新浪这个东西居然不是开放的,想把东西弄出去比较困难。不过办法还是有,就是先用blogbus搬家,再用http://blogbus-to-wordpress.appspot.com/把blogbus导出的格式转换一下。

目前不好说微软会在3月之后把图片都干掉,先这么放着吧。

这个里面还把以前写引擎时的另一个blog的内容弄进来了,看起来有点意思。

Thursday, November 18, 2010

好像学会玩魔方了


昨天学了几个小时,终于能拼完魔方的六个面了。


顺序应该是:1、底面十字,2、底面四角,3、4个侧棱,4、顶面,5、顶角交换,6、顶棱交换。


其中1可以基本瞎掰,2需要简单的手法,3需要相对复杂的手法。前3步都需要观察,有一定的规律。
4基本是记住几个翻法,翻着翻着就能出来;5和6都是记住手法。


总之现在一半还是靠背的。


有本介绍魔方的文章里面说,这东西曾经是对很多人智力的侮辱,看来真是贴切啊。


Sunday, August 29, 2010

游戏推荐-金庸群侠传前传

《金庸群侠传》这个游戏还用介绍吗?

20100515_2e3d33ec5e27d62d8960oAmTRyjCjWVg[1]

《金庸群侠传前传》是一个同人游戏,我曾经为其编写了主要引擎的部分。其实是我在两年前左右,用Pascal将《金庸群侠传》DOS版重写了一遍,后来有几个同人游戏以这份代码为基础制作。

这个游戏的具体制作,例如资源,字串的导入,其后对系统的一系列修改,我参与的部分较少。事实上,这些工作更为枯燥,制作者更加值得尊敬。

无论如何,在这些同人游戏中,我较为推荐这款。

在这一款游戏中,你扮演的主角是《金庸群侠传》中南贤曾经提到过的“金先生”,在江湖中到处闯荡惹事,最后写出十四天书的故事。写每部书的经历跟原来的游戏类似,均是各自独立。在最后也像原版一样,需要经历一场大战。

游戏的一大特点就是将内力设置为类似装备的效果,在平时或者战斗前可以选择某种内功作为“功体”,这些所谓“功体”往往带有某种特殊效果,例如增加生命、轻功,反弹伤害等,可以说,这些功体是你闯关的利器。

既然是同人游戏,自然完全免费。下载地址为:

http://www.txdx.net/downpage.php?a=v&fid=64&type=1 (需要在论坛注册,也可在该论坛参与游戏讨论,寻找修改器等)
http://www.duotegame.com/soft/26824.html (多特下载站)