2011年01月 存档

用VBS监视进程创建和删除

2011年01月27日,星期四

微软脚本中心里的例子,用到了WMI事件,抄下来备查。

监视进程的创建,在每次创建新的进程时,临时事件消费程序都发出警报。

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService. _
    ExecNotificationQuery("select * from __instancecreationevent " _
        & " within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0
    Set objLatestProcess = colMonitoredProcesses.NextEvent
    Wscript.Echo objLatestProcess.TargetInstance.Name
Loop

监视进程的删除,在每次进程终止时,临时事件消费程序都发出警报。

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService. _
    ExecNotificationQuery("select * from __instancedeletionevent " _
            & "within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0
    Set objLatestProcess = colMonitoredProcesses.NextEvent
    Wscript.Echo objLatestProcess.TargetInstance.Name
Loop

参考链接:

  1. 监视进程的创建
  2. 监视进程的删除

Windows 7 快速共享Internet无线网络

2011年01月23日,星期日

微软帮助和支持上的。http://support.microsoft.com/kb/976507/zh-cn

C++ TR1正则表达式库

2011年01月21日,星期五

C++ TR1 regular expression library,这是昨天在EditPlus里看到的,以前一直都没听说过。我不喜欢C++,自然也不会去了解这方面的东西。

据说VS2008 SP1已经基本上完全支持了TR1库,最新的VS2010也支持,正好机器上装有Visual C++ Express 2010,于是测试了一下。

#include <iostream>
#include <string>
#include <regex>

int main(void)
{
    std::string str;
    std::tr1::cmatch res;
    str = "<h2>Egg prices</h2>";
    std::tr1::regex rx("<h(.)>([^<]+)");
    std::tr1::regex_search(str.c_str(), res, rx);
    std::cout << res[1] << ". " << res[2] << "\n";
}

能编译通过,输出2. Egg prices,结果也正确。但是TR1自己并非标准,他是一份草稿文件。然而他所提出的项目很有可能成为下次的官方标准。这份文件的目标在于“为扩充的C++标准函式库建立更为广泛的现成实作品”。当C++编译器开始支持得时候,非标准也许会变成事实的标准。

如果没记错的话这是本博客第一次写和C++有关的东西,但是纯粹是对这个EditPlus用的正则表达式库好奇而已,并不表示我对C++看法的改变。

Just use plain C, I don’t need C++ .

参考链接:

  1. TR1 Regular Expressions
  2. Getting started with C++ TR1 regular expressions

强烈推荐EditPlus 3.21

2011年01月19日,星期三

今天用EditPlus的时候点了一下Check Last Version菜单,发现已经有3.21版本了,而我的还是3.20。看了一下官网的RSS,发现3.21是2010年12月17日正式发布的,已经一个多月了,看来以后得订阅一下。

当然,软件并不总是越新的版本越好,不能盲目的升级。于是浏览了一下what’s new页面,看看新增了什么功能:

<feature>
* ‘Use TR1 regular expression’ option (‘Preferences’->’General’).
* Customizable toolbar icon for User Tools.
* ‘User tool group’ option in the Setting & syntax dialog box.
* Supports floating window for Output Window and Cliptext/Directory Window.
* Allows dropping files on the Directory Window.
* ‘Add to Project’ command in the Directory Window.
* ‘Copy’/’Move’ button on the FTP Settings dialog box.
* Allows negative value in the line space option.
* Hides horizontal scrollbar in word wrap mode.
* Allows saving read-only files.

看到第一个新功能我眼前一亮,TR1正则表达式?这是什么东东?赶紧更新到EditPlus 3.21,打开帮助文档一看:

(更多…)

µTorrent Server初体验

2011年01月15日,星期六

很久以前就听说μTorrent已经推出Linux版本了,但是一直都没有使用过。今天Ihipop说把晨光的种子放到μtorrent server版下载,只要文件有中文文件名,就乱码。于是我就花时间测试了一下,目前最新版本是µTorrent Server alpha (3.0 build 24118),Linux环境是Ubuntu Server 9.10。

下载解压运行:

wget http://download.utorrent.com/linux/utorrent-server-3.0-24118.tar.gz
tar zxvf utorrent-server-3.0-24118.tar.gz
cd utorrent-server-v3_0/
./utserver –daemon

打开浏览器,输入http://localhost:8080/gui/,会提示需要身份验证,用户名是admin,密码为空,就可以进入Web UI进行控制了。

(更多…)