Monday, December 10, 2007

WikidPad - Personal Information Management

http://www.jhorman.org/wikidPad/

wikidPad is now open source. Visit the project homepage at http://wikidpad.python-hosting.com/.

wikidPad is a real-time wikiwikidPad is not a web server, or application server, or groupware solution. wikidPad is a standalone notepad like application, albeit notepad on steroids. wikidPad is like an IDE for your thoughts.
IDE for your thoughtsSoftware developers have grown accustomed to certain features from their integrated development environment that make their jobs easier. Features like auto-completion, outline views, incremental search, easy source code navigation. IDE's that provide these features can greatly increase developer productivity. wikidPad attempts to utilize some of these features to address the problem of personal information management.

Tuesday, November 20, 2007

Wednesday, November 07, 2007

Vir - 隨身碟病毒與無法顯示隱藏檔?

隨身碟病毒與無法顯示隱藏檔?
  現在隨身碟病毒氾濫的程度真的是令人難以想像,幾乎是人人有獎,相當的可怕。
  這個隨身碟病毒主要有三個檔案,分別為kavo.exeautorun.infntdelect.com,利用登錄檔上的 kava鍵值 (kavo.exe) 及autorun.inf來達成生生不息寄生在每個人的硬碟之中,它將自己的檔案屬性設定成隱藏屬性及系統屬性,並將「顯示所有檔案和資料夾」的功能給鎖住,讓你怎麼改資料夾選項的設定也改不了,你就是永遠都沒辦法在視窗的狀況下看到這些「 隱藏檔」,讓你殺也殺不了,而且就算是清掉之後又很容易又再度感染。
  但這些無法顯示的隱藏檔在「命令提示字元」之下卻是無所遁形的,只要打指令「dir/a」就可以看到所有的檔案清單包括隱藏檔,可見能學會一點簡單的Dos指令是有多重要的一件事。
 

Vir - 如何回復顯示所有檔案的功能

 
如何回復顯示所有檔案的功能
最近隨身碟病毒會關閉顯示所有檔案的功能,
造成使用檔案總管看不到中毒的檔案.
而清除之後,許多人也在反應,
無法回復顯示所有檔案的功能,
解決辦法如下:
執行regedit,

找到這組機碼:
HKEY_LOCAL_MACHINE\Software\Microsoft\windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL
將CheckedValue鍵值修改為1

如此即可使用顯示所有檔案的功能了
 

Tuesday, October 23, 2007

CE --BSP Driver Power Manager

http://channel9.msdn.com/wiki/default.aspx/CeDeveloper.BSPDriverPower
D0 - The device is on and running. It is receiving full power from the system and is delivering full functionality to the user.
D1 - The device is fully functional at a lower power or performance state than D0. D1 is applicable when the device is being used, but where peak performance is unnecessary and power is at a premium. A device driver can query the power level of the system using the function GetSystemPowerStatusEx2 .
D2 - The device is standing by, partially powered with automatic wakeup on request/activity.
D3 - The device is sleeping, partially powered with device-initiated wakeup if available on request/activity.
D4 - The device has no power.

CE -- power management -- cpuwolf的博客: winCE电源管理之 系统状态 与 设备状态

http://cpuwolf.blogspot.com/2007/02/wince.html
cpuwolf的博客: winCE电源管理之 系统状态 与 设备状态: "winCE电源管理之 系统状态 与 设备状态 "
System power states包括:On,Suspend,Backlight off,Resuming,Unattended,User idle。这是“系统”的状态,也可以理解为CPU的状态或者操作系统得状态。
Device power states包括几个等级:D0,D1,D2,D3,D4。这些是winCE管理的“设备”状态,如果你是某个设备的驱动程序员,每个设备都有自己的电源管理模式,最基本的是开和关两个状态,对应D0和D4。因此D1,D2,D3自然就是开与关之间的状态。就是这么简单,不要想复杂了。
“系统”状态和“设备”状态他们之间有系统默认的对应关系,就是说对于一个“系统状态”,系统中所有设备都默认被设置成某个“设备状态”(除非有特殊说明,某些设备可以对应不同的“设备状态”)。on对应D0,即系统在on状态时,所有的设备都是打开的。suspend对应D3,即系统在睡眠的时候,所有设备都被设置为D3。Backlight off对应D0,同理所有的设备打开,不过这个状态有特殊说明(要不它如何区别on和backlight off),bkl1:对应D4,即,背光灯关闭,因此backlight off就是其他所有设备打开,bkl1:关闭。同理可以理解其他的系统状态。Suspend对应D3,resuming对应D2等等。

Tuesday, September 18, 2007

wiki-in-a-jar

https://sourceforge.net/tracker/?func=detail&atid=742838&aid=1712948&group_id=139273
>It have display Chinese ok after modify pulic\*.* "encoding=ISO8859_1" to"encoding=Big5".
: "I think it's not true, due to wiki engine writes files in ANSI. It would be much better to set custom encoding for saving files, OR at least set UTF-8 instead ISO-8859_1"

Tuesday, August 14, 2007

view c/c++ source code -- 好用的source navigator:global

好用的source navigator:global

寫程式的人員閱讀source code的機率相當大,這時候擁有一套好了source code瀏覽器就很重要了。

在這裡,我推薦GNU Global這一套軟體,他的優點如下:

GNU GLOBAL has following features:

* support C, C++, Yacc, Java and PHP4.
* work the same way across diverse environments. Currently, support followings:
o Generic shell command line
o Bash shell
o Vi clone editor (nvi, elvis, vim)
o Emacs editor (emacs, mule, xemacs)
o Glimmer editor
o Less viewer
o Web browser (See UNIX kernel source tour!.)
o Doxygen documentation system

如果你有使用過lxr(Linux Cross Reference)這個工具的話,就會更了解這個軟體的意義,比lxr更好用的地方是還能搭配editor,例如VIM(see global with Vim)。

安裝你的distribution所附的global軟體,在Debian下只要apt-get install global就可以了。接下來,把要檢視的source code解壓縮後,在目錄下執行

gtags

它會產生四個檔案:
'GTAGS'
Tag file for function definitions.

'GRTAGS'
Tag file for function references.

'GSYMS'
Tag file for other symbols.

'GPATH'
Tag file for path of source files.

如果你要產生HTML的文件方便瀏覽的話,請繼續執行

htags -Fnsa

會在目錄下產生一個HTML目錄,可以用browser觀看,畫面如這裡(感謝Rex)。

如果要有查詢的功能,指令要改成

htags -Ffnsa

也就是多加一個"f"的參數,這個功能要搭配web server才能用喔!因為有了global這一套,我現在寫軟體都是利用global + Vim

 

Tuesday, August 07, 2007

Windows Media Player 11 繁中正式版,不須要驗證下載!

 

Windows Media Player 11 繁中正式版下載免驗証。
http://www.microsoft.com/windows/windowsmedia/tw/player/download/download.aspx

IE7.0及Media player 11無法安裝的解決方法:

1.請先參考下載我這一篇:

XP 正版驗證程序破解 WGA 1.5.7231

破解之後重新開機,把網路線拔掉,然後再分別安裝Media player 11或IE7.0即可通過驗證程序順利安裝。

2.將下載下來的檔案wmp11-windowsxp-x86-zh-tw.exe不要直 接就double click左鍵安裝,請先以WINRAR解壓縮[注意你的版本有無支援解壓縮EXE檔],打開解壓後的資料夾,找到setup.exedouble click左鍵安裝,就會跳過原本會自動執行的WGA檢測.

 

Tuesday, July 31, 2007

MutiTask -- CreateMutex -- VC++中进程与多进程管理的实现方法

进程的互斥运行

  正常情况下,一个进程的运行一般是不会影响到其他正在运行的进程的。但是对于某些有特殊要求的如以独占方式使用串行口等硬件设备的程序就要求在其进程运行期间不允许其他试图使用此端口设备的程序运行的,而且此类程序通常也不允许运行同一个程序的多个实例。这就引出了进程互斥的问题。

  实现进程互斥的核心思想比较简单:进程在启动时首先检查当前系统是否已经存在有此进程的实例,如果没有,进程将成功创建并设置标识实例已经存在的标记。此后再创建进程时将会通过该标记而知晓其实例已经存在,从而保证进程在系统中只能存在一个实例。具体可以采取内存映射文件、有名事件量、有名互斥量以及全局共享变量等多种方法来实现。下面就分别对其中具有代表性的有名互斥量和全局共享变量这两种方法进行介绍:

// 创建互斥量
HANDLE m_hMutex = CreateMutex(NULL, FALSE, "Sample07");
// 检查错误代码
if (GetLastError() == ERROR_ALREADY_EXISTS) {
 // 如果已有互斥量存在则释放句柄并复位互斥量
 CloseHandle(m_hMutex);
 m_hMutex = NULL;
 // 程序退出
 return FALSE;
}

  上面这段代码演示了有名互斥量在进程互斥中的用法。代码的核心是CreateMutex()对有名互斥量的创建。CreateMutex()函数可用来创建一个有名或无名的互斥量对象,其函数原型为:

HANDLE CreateMutex(
 LPSECURITY_ATTRIBUTES lpMutexAttributes, // 指向安全属性的指针
 BOOL bInitialOwner, // 初始化互斥对象的所有者
 LPCTSTR lpName // 指向互斥对象名的指针
);

  如果函数成功执行,将返回一个互斥量对象的句柄。如果在CreateMutex()执行前已经存在有相同名字的互斥量,函数将返回这个已经存在互斥量的句柄,并且可以通过GetLastError()得到错误代码ERROR_ALREADY_EXIST。可见,通过对错误代码ERROR_ALREADY_EXIST的检测可以实现CreateMutex()对进程的互斥。

  使用全局共享变量的方法则主要是在MFC框架程序中通过编译器来实现的。通过#pragma data_seg预编译指令创建一个新节,在此节中可用volatile关键字定义一个变量,而且必须对其进行初始化。Volatile关键字指定了变量可以为外部进程访问。最后,为了使该变量能够在进程互斥过程中发挥作用,还要将其设置为共享变量,同时允许具有读、写访问权限。这可以通过#pragma comment预编译指令来通知编译器。下面给出使用了全局变量的进程互斥代码清单:

#pragma data_seg("Shared")
int volatile g_lAppInstance =0;
#pragma data_seg()
#pragma comment(linker,"/section:Shared,RWS")
……
if(++g_lAppInstance>1)
return FALSE;

  此段代码的作用是在进程启动时对全局共享变量g_nAppInstancd 加1 ,如果发现其值大于1,那么就返回FALSE以通知进程结束。这里需要特别指出的是,为了使以上两段代码能够真正起到对进程互斥的作用,必须将其放置在应用程序的入口代码处,即应用程序类的初始化实例函数InitInstance()的开始处。

  结束进程

  进程只是提供了一段地址空间和内核对象,其运行是通过在其地址空间内的主线程来体现的。当主线程的进入点函数返回时,进程也就随之结束。这种进程的终止方式是进程的正常退出,进程中的所有线程资源都能够得到正确的清除。除了这种进程的正常推出方式外,有时还需要在程序中通过代码来强制结束本进程或其他进程的运行。ExitProcess()函数即可在进程中的某个线程中使用,并将立即终止本进程的运行。ExitProcess()函数原型为:

VOID ExitProcess(UINT uExitCode);

  其参数uExitCode为进程设置了退出代码。该函数具有强制性,在执行完毕后进程即已经被结束,因此位于其后的任何代码将不能被执行。虽然ExitProcess()函数可以在结束进程的同时通知与其相关联的动态链接库,但是由于它的这种执行的强制性,使得ExitProcess()函数在使用上将存在有安全隐患。例如,如果在程序调用ExitProcess()函数之前曾用new操作符申请过一段内存,那么将会由于ExitProcess()函数的强制性而无法通过delete操作符将其释放,从而造成内存泄漏。有鉴于ExitProcess()函数的强制性和不安全性,在使用时一定要引起注意。

  ExitProcess()只能强制执行本进程的退出,如果要在一个进程中强制结束其他的进程就要用TerminateProcess()来实现。与ExitProcess()不同,TerminateProcess()函数执行后,被终止的进程是不会得到任何关于程序退出的通知的。也就是说,被终止的进程是无法在结束运行前进行退出前的收尾工作的。所以,通常只有在其他任何方法都无法迫使进程退出时才会考虑使用TerminateProcess()去强制结束进程的。下面给出TerminateProcess()的函数原型:

BOOL TerminateProcess(HANDLE hProcess, UINT uExitCode);


  参数hProcess和uExitCode分别为进程句柄和退出代码。如果被结束的是本进程,可以通过GetCurrentProcess()获取到句柄。TerminateProcess()是异步执行的,在调用返回后并不能确定被终止进程是否已经真的退出,如果调用TerminateProcess()的进程对此细节关心,可以通过WaitForSingleObject()来等待进程的真正结束。

  小结

  多进程是多任务管理中的重要内容,文中上述部分对其基本概念和主要的技术如子进程的创建与结束、进程间的互斥运行等做了较详细的介绍。通过本文读者应能对多进程管理有一个初步的认识。

MutiTask -- CreateMutex

CreateMutex Creates or opens a named or unnamed mutex object.
 
同步問題 Mutex的使用
請先看 同步問題 Event的使用

如同使用Event的文章所述,如果兩個以上的Thread,同時想修改數個共用的記憶體,那
我們要保證同時之間,只有一個Thread可做Update的動作,而且要等該Thread完成所有
修改後,其他的Thread才可以讀取或修改;這便要使用Mutex物件的技術了。Mutex的作法
可以想像,大家都想做某件事前,要先取得一個許可金牌才能做,等做完了才將這金牌
Release出來,其他人只能一直等,直到取得金牌的擁有權後,方能做事。

Mutex物件的做法與特性如下:

使用CreateMutex()來產生一個Mutex物件,而傳入的Mutex名稱字串用以區別不同的Mutex
,也就是說,不管是哪個Process/Thread,只要傳入的名稱參數是相同的一個字串,那
CreateMutex()傳回值(hMutex, handle of Mutex)會指向相同的一個Mutex物件。這和
Event物件相同。然而Mutex和Event有很大的不同,Mutex有Owner的概念,如果Mutex為
ThreadA所擁有,那麼ThreadA執行WaitForSingleObject()時,並不會停下來,而會立即
傳回WAIT_OBJECT_0,而其他的Thread執行WaitForSingleObject()則會停下來,直到Mutex
的所有權被Release出來或Time Out。而Thread如何取得Mutex的所有權呢?主要如下:

  1.CreateMutex(Byval 0, 1, "MyMutex") 第二個參數傳1進去,則第一個呼叫CreateMutex
    且第二個參數傳1的Thread會擁有該Mutex。但如果第二個參數傳0進去,那代表
    CreateMutex時,沒有人擁有該Mutex。
  2.承上的說明,如果Mutex沒有擁有者,則第一個呼叫WaitForSingleObject的Thread
    會擁有該Mutex。

上面說過,只有擁有該Mutex的Thread在執行WaitForSingleObject()不會停下來,其他的
Thread則會停下來,那其他的Thread如何取得該Mutex的所有權呢?那必需是原先擁有該
Mutex的Thread以ReleaseMutex來放棄所有權,一旦所有權放出來,而有其他的Thread處
於WaitForSingleObject()的停留等待狀態,則有一個Thread會即時取得該Mutex的所有權
(上面第2點的說明),所以,若其他的Thread也執行WaitForSingleObject()時,就會處於
等待的狀態。正因WaitForSingleObject()會令Mutex處於UnSignal的狀態(和Event不同),
所以可以完成同一時問只有一個thread來UpDate共用記憶體的需求(當然大家都要使用Mutex
的規則則來做,即想Update時,要使用WaitForSingleObject()來看看是否可取得Mutex的所
有權。)

另有一件事要特別提出,如果一個Thread已取得Mutex的所有權,而它呼叫WaitForSingleObject()
n 次,則也要使用ReleaseMutex n次才能夠將Mutex的擁有權放棄,這和Event也不同,而
且,非Mutex擁有者呼叫ReleaseMutex也不會有任何作用。而每次以WaitForSingleObject
呼叫一次,Mutex會有一個計數器會加一,ReleaseMutex成功會減一,直到Mutex的計數
器為0之後,系統才會將之去除。
 

Saturday, July 28, 2007

text2icon function

HICON CTrayIcon::Text2Icon(const char* const text,COLORREF color)
{
    int cxIcon = GetSystemMetrics(SM_CXSMICON);
    int cyIcon = GetSystemMetrics(SM_CYSMICON);

    HDC hdcDisplay = GetDC(NULL);
    if (!hdcDisplay){
        return NULL;
    }

    HDC hdcXOR = CreateCompatibleDC(hdcDisplay);
    if (!hdcXOR){
        ReleaseDC(NULL, hdcDisplay);
        return NULL;
    }

    HDC hdcAND = CreateCompatibleDC(hdcDisplay);
    if (!hdcAND){
        DeleteDC(hdcXOR);
        ReleaseDC(NULL, hdcDisplay);
        return NULL;
    }

    ICONINFO iconinfo;
    ZeroMemory(&iconinfo,sizeof(ICONINFO));
    iconinfo.fIcon = TRUE;

    iconinfo.hbmMask = CreateCompatibleBitmap(hdcDisplay,cxIcon, cyIcon);
    if (!iconinfo.hbmMask){
        DeleteDC(hdcAND);
        DeleteDC(hdcXOR);
        ReleaseDC(NULL, hdcDisplay);
        return NULL;
    }

    iconinfo.hbmColor = CreateCompatibleBitmap(hdcDisplay, cxIcon, cyIcon);
    if (!iconinfo.hbmColor){
        DeleteObject(iconinfo.hbmMask);
        DeleteDC(hdcAND);
        DeleteDC(hdcXOR);
        ReleaseDC(NULL, hdcDisplay);
        return NULL;
    }

    ReleaseDC(NULL, hdcDisplay);

    RECT rc; rc.left = 0; rc.top = 0; rc.right = cxIcon; rc.bottom = cyIcon;

    LOGFONT lf;
    ZeroMemory(&lf,sizeof(LOGFONT));
    lf.lfCharSet            = ANSI_CHARSET;
    lf.lfOutPrecision       = OUT_DEFAULT_PRECIS;
    lf.lfClipPrecision      = CLIP_DEFAULT_PRECIS;
    lf.lfQuality            = ANTIALIASED_QUALITY; //DEFAULT_QUALITY;
    lf.lfPitchAndFamily     = DEFAULT_PITCH;
    lf.lfHeight                = cyIcon;
    lf.lfWidth                 = (cxIcon / 3)-1;
    lf.lfWeight                = FW_NORMAL;
    strcpy_s(lf.lfFaceName ,_countof(lf.lfFaceName),TEXT("TAHOMA"));

    HFONT hfontANDOld  = NULL;
    HFONT hfontXOROld  = NULL;
    HFONT hfont = CreateFontIndirect(&lf);
    if (hfont){
        hfontXOROld  = (HFONT)SelectObject(hdcAND, hfont);
        hfontANDOld  = (HFONT)SelectObject(hdcXOR, hfont);
    }

    HBITMAP hbmMaskOld  = (HBITMAP)SelectObject(hdcAND, iconinfo.hbmMask);
    PatBlt(hdcAND, 0, 0, cxIcon, cyIcon, WHITENESS);
    int nBkModeANDOld   = SetBkMode(hdcAND, TRANSPARENT);
    DrawText(hdcAND,  text, -1, &rc,  DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    SetBkMode(hdcAND, nBkModeANDOld);
    if (hfontANDOld)
        SelectObject(hdcAND, hfontANDOld);

    HBITMAP hbmColorOld = (HBITMAP)SelectObject(hdcXOR, iconinfo.hbmColor);
    PatBlt(hdcXOR, 0, 0, cxIcon, cyIcon, BLACKNESS);
    int nBkModeXOROld   = SetBkMode(hdcXOR,  TRANSPARENT);
    COLORREF rgbOld        = SetTextColor(hdcXOR, color);
    DrawText(hdcXOR, text, -1, &rc,  DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    SetBkMode(hdcXOR,  nBkModeXOROld);
    SetTextColor(hdcXOR, rgbOld);
    if (hfontXOROld)
        SelectObject(hdcXOR, hfontXOROld);

    if (hbmMaskOld)
        SelectObject(hdcAND, hbmMaskOld);
    if (hbmColorOld)
        SelectObject(hdcXOR, hbmColorOld);

    if (hfont)
        DeleteObject(hfont);
    DeleteDC(hdcAND);
    DeleteDC(hdcXOR);

    HICON hIcon = CreateIconIndirect(&iconinfo);

    DeleteObject(iconinfo.hbmColor);
    DeleteObject(iconinfo.hbmMask);

    return hIcon;
}

燃料電池 加水 轉換 電力

 

超真實Vista XP外觀改裝

 

Sunday, July 22, 2007

CE -- Windows CE Shortcuts (.bat on PDA ?)

Shortcuts have the file extension ".lnk" - let's take a simple example to start, an application that no self respecting operating system should be without... Solitare! - The shortcut file is going to be Solitare.lnk, and would contain the following :

21#\windows\solitare.exe

So, how does this work, 21# means that the command line contains 21 characters, and the command line is "\Windows\Solitare.exe" (which is 21 characters, count them!)

wait a second, on the desktop the shortcut appears as "Internet Explorer", not as a shortcut to "Iesample" - when the Windows CE operating system gets built we can examine the contents of the overall O/S .DAT file ( initobj.dat) [the .dat file contains the creation of folders and maps files to folders] - here's the interesting line from the .dat file.

Directory("\Windows\Desktop"):-File("Internet Explorer.lnk", "\Windows\iesample.lnk")

Notice how the actual file \Windows\iesample.lnk maps to the \Windows\Desktop folder and appears as "Internet Explorer.lnk" on the desktop, .DAT file entries can be used to map, and rename files - pretty cool, eh !

 

CE / WM -- wceload.exe -- cab installation

 

Monday, July 16, 2007

cygwin - bash - print last 10 lines

#!/bin/sh
#print last 10 lines of file
# First argument is the filename
lines=`wc -l $1 | awk '{print $1}' `

#echo start=expr $lines - $2
start=`expr $lines - $2`

#echo sed "1,$start d" $1
sed "1,$start d" $1

Sunday, July 15, 2007

Robotics -- 支援機器人運動微軟推出升級版機器人平台

支援機器人運動微軟推出升級版機器人平台
臺灣新浪網 - Taiwan
微軟在周二推出了升級版的Robotics Studio平台,新增了對Windows Embeded CE 6.0和Windows Mobile的支援,此外還有若干編程方面的改進。微軟在去年12月引入了這個機器人平台,同時宣布將會支援RoboCup2007;RoboCup是一個旨在組建一直類人機器人並能夠到2050年時能擊敗 ...
  新版的Robotics Studio 1.5改進了編程語言和顯示世界的模擬引擎。增加了視覺與語音識別,更好的使用文檔與優化的代碼編輯器。
 

Thursday, July 12, 2007

MutiTask - Begin/EndCriticalRegion

http://groups.google.com/group/microsoft.public.dotnet.framework.compactframework/browse_thread/thread/1e6d0a04fd391a12?hl=en

MutiTask -- CreateProcess() and WaitForSingleObject()


        STARTUPINFO startupInfo;
        PROCESS_INFORMATION processInfo;
        DWORD result = 0;
        int error = 0;

        ZeroMemory(&startupInfo, sizeof(startupInfo));
        ZeroMemory(&processInfo, sizeof(processInfo));
        startupInfo.cb = sizeof(startupInfo);

        if (CreateProcess(
                        _T("\\FlashDisk\\Executable.exe"),
                        NULL,
                        NULL,
                        NULL,
                        FALSE,
                        0,
                        NULL,
                        NULL,
                        &startupInfo,
                        &processInfo))
        {
                result = WaitForSingleObject( ProcessInfo.hProcess, INFINITE);
                CloseHandle(processInfo.hProcess);
                CloseHandle(processInfo.hThread);
        }
        else
        {
                error = GetLastError();
        }

Sunday, July 08, 2007

TeraTerm 虛擬終端機程式介紹

TeraTerm 是一套虛擬終端機程式,所謂的終端機的來由是因為古早時代的電腦時在太貴又太稀少
所以那時省成本的方式就是一台主機大家共用,以遠端連線方式連接到主機上,以主機的角度來看
那些連上主機的設備…不見得是電腦可能只是螢幕與鍵盤…所以通稱遠端的設備叫終端機…
那時因為要達成不同的設備連接都能夠有一致的畫面顯示,所以規範了VT100,VT220...之類的VT系列指令
而現在電腦普及…連接主機的需求還是存在,特別是在UNIX/Linux系列的平台
所以虛擬終端機程式還是有許多人在使用,而TeraTerm 是一套很好用的虛擬終端機程式

它好用之處在於它可以執行MACRO 進行批次自動化的工作,對於自動化測試而言有很高的便利性
古早的版本是 http://hp.vector.co.jp/authors/VA002416/teraterm.html 下載,最後的版本是1998/3/10
而最近發現…有一群人在維護它TeraTerm Support Forums,讓這個好用的軟體可以延續下去,
最新的版本是 4.51版,支援UTF8 及SSH2和一些奇奇怪怪的新功能
 

Friday, June 01, 2007

TV - Dscaler , P2P - PPStream Streaming

分類: 中文化作品
下載! DScaler V4.1.15 繁體中文資源檔 熱門 版本: 4.1.15
發布時間:  2006-07-04
檔案內容:
 
Dscaler 是一個由國外程式員開發的GNU開放式版權影像處理軟體,它專為電視卡而設計。跟一般電視卡收看軟體不同的地方,是它採用了多種"反交錯" (deinterlacing)技術,在捕獲一般輸入的"交錯"(interlace)視頻信號(包括電視信號輸入和通過S-Video和RCA端子輸入的視頻信號)時,Dscaler借助電腦把畫面的掃描方式作出調整,將隔行掃描的視頻信號變換為逐行掃描信號,達到類似於昂貴電視機那種"逐行掃描"高清晰度效果!同時,Dscaler支援各種畫面播放比例,可使畫面更符合實際大小。另外它還有畫面微調設置功能,支援不同功能插件(Plug-in)、靜止畫面捕捉等功能,並可進行實時過濾處理,以增強畫面品質。換言之,Dscaler可以說是一種名為"倍線器"的專業廣播電視設備(價值上萬元)的軟體版,它不但能使看電視時獲得更棒的效果,在把其他視頻信號(如PS2遊戲機、錄影機、LD鐳射影碟機、VCD影碟機)等畫面輸入電視卡後,畫質也有極大提高。而且,最重要的是它完全免費!

已下載 1551 次  1551  檔案大小  23.44 KB  支援平台 Windows  作者網站  http://www.dscaler.org/
評分: 10.00 (1 票)
給予評分 | 修改 | 回報失效連結 | 告訴朋友 | 回應評註 (0)


分類: 中文化作品
下載! PPStream v1.0.4.520 繁體中文版 熱門 版本: 1.0.4.520
發布時間:  2006-06-20
檔案內容:
 
PPStream是一套完整的基於P2P技術的串流媒體超大規模應用解決方案,包括串流媒體編碼、發佈、廣播、播放和超大規模用戶直播。能夠為寬頻用戶提供穩定和流暢的視頻直播節目。與傳統的流媒體相比,PPStream採用了P2P-Streaming技術,具有用戶越多播放越穩定,支援數萬人同時線上的大規模訪問等特點。

繁體中文版無須原始簡體中文版程式,下載後免安裝,解壓縮即可使用。

已下載 10956 次  10956  檔案大小  1.45 MB  支援平台 Windows + WMP9  作者網站  http://www.ppstream.com/
評分: 7.00 (15 票)
給予評分 | 修改 | 回報失效連結 | 告訴朋友 | 回應評註 (0)

Thursday, May 24, 2007

edit - NVU 是一套同樣以 Mozilla 為核心的網頁編輯器 (就像市面上常見的 FrontPage 或是 Dreamweaver 等等網頁編輯程式)

 
NVU - 優質網頁就在彈指之間 - Mozilla Taiwan, MozTW.org
NVU 是一套同樣以 Mozilla 為核心的網頁編輯器 (就像市面上常見的 FrontPage 或是 Dreamweaver 等等網頁編輯程式), 目前由 Linspire (以前的 Lindows) 主導開發。

承襲了 Mozilla 的特色, NVU 是一套開放源碼(Open Source)、 跨平台(Cross Platform)、免費的程式, 任何人都可以自由下載使用。

Wednesday, May 23, 2007

JAVA - KVM可以说是JVM中比较小而且比较原始的一个版本

KVM可以说是JVM中比较小而且比较原始的一个版本。KVM是一般放置在嵌入式设备,比如手机等资源有限的终端内运行。KVM没有采用HotSpot JVM里面诸多优化技术,代码十分简单,有利于我们理解JAVA程序的执行过程。虽然KVM里面执行JAVA程序可能与现在PC上流行的JVM不太相同,但是大致原理是相似的。
   下面是我在Windows编译KVM的过程。


1.下载KVM源代码

http://www.sun.com/software/communitysource/j2me/cldc/download.xml

现在有cldc1.1和cldc1.04的两个版本。差别不是很大。我选择的是1.1的版本的KVM源代码。

Sunday, May 20, 2007

Open Source Development Labs (Linux)

Linux Phone Standards Forum (LiPS)

 

NVU 是一套同樣以 Mozilla 為核心的網頁編輯器 (就像市面上常見的 FrontPage 或是 Dreamweaver 等等網頁編輯程式),

NVU 是一套同樣以 Mozilla 為核心的網頁編輯器 (就像市面上常見的 FrontPage 或是 Dreamweaver 等等網頁編輯程式), 目前由 Linspire (以前的 Lindows) 主導開發。

承襲了 Mozilla 的特色, NVU 是一套開放源碼(Open Source)、 跨平台(Cross Platform)、免費的程式, 任何人都可以自由下載使用。

 

AppWeb HTTP Server - Embeddable HTTP Server

 

Sunday, May 06, 2007

CE600 -- Writting User Mode Drivers

Summary: Windows CE6 now supports running drivers inside a user-mode driver host, udevice.exe. Our goal has been to support kernel drivers to work "just-as-they-are" in user mode; though, some security restrictions apply as discussed below. The good news is that we managed to keep the overall user mode driver development experience and the driver interfaces exactly the same as the one for kernel mode drivers.

Notable APIs that user-mode code cannot call:

  • VM APIs: VirtualCopy[Ex], LockPages[Ex], CreateStaticMapping
  • Interrupt APIs: InterruptInitialize, InterruptDone, LoadIntChainHandler
  • You cannot install IISR directly, though you can install GIISR via the reflector. (GIISR exposes well known interfaces and the reflector can do the required checks on these calls.)
  • OAL IOCTLs that are not explicitly permitted by the kernel

 

WM -- Hopper

Hopper Debugging Strategy
 
The Hopper Process
 

CE WM -- Virtual Memory Optimization

VM Optimization Software

Shell The shell (target control in PB or VS) has a couple tools to quickly analyze device memory usage.

  • "mi" quickly provides information about what processes are running in which slot. Vital statistics are also included like pages in use for code, data, and stack. Here is an example of "mi" output ( BSPVMMIOutput).
  • "mi kernel" dumps a brief listing of kernel data usage. Growth in the data line associated w/ HData can mean handle leaks. Growth in the data line associated with Crit/Evt/Sem/Mut can mean leaks in critical sections, events, semaphores, and mutexes. Here is an example of "mi kernel" output ( BSPVMMIKernelOutput).
  • "mi full" dumps a full listing of VM memory usage on a slot by slot basis. It is pretty good at telling you what area is in use by heaps, stacks, writable data, code segements, etc. Unfortunately it doesn't do a spectacularly good job associating the used space to specific DLLs. The tool "devHealth" lists all this information plus correlates it to DLL names. Here is an example of "mi full" output ( BSPVMMIFullOutput).

 

MSDN CE Wiki - Big Book of BSP

BSP Memory Leaks
 

wiki-in-a-jar

解決 wiki-in-a-jar Support Chinese/... Language 問題
把 pulic\*.* encoding=ISO8859_1 改成 Big5 後 ok
概念來自
 

CE600 - Sleep in driver worker thread?

It have source code, 但是有觀念問題...
 

Monday, April 23, 2007

CE - Is there a way in Windows CE 6.0 to run batch files on startup?

CE - USB Driver Problem Options (plug in/out)

http://groups.google.com/group/microsoft.public.windowsce.platbuilder/browse_thread/thread/2a7114e8e6a77277?hl=en

WM6 - Who called function

C:\WM602\PUBLIC\APPS\OAK\SAMPLES\MENUEXT
this example show you how to extend call log menu.
C:\WM602\PUBLIC\APPS\OAK\SAMPLES\CALLLOG\CALLCOST
this example show you how to add a customize control on the dail interface.
it's sample approach that add a custmoize control on the incoming
interface.
 

笑話--趙兄托妳幫我辦點事

ETEN/an.chang/育安 說:
智擒出軌太太:人民公安就是高!!

從警校畢業的張先生結婚兩年,

總感覺妻子有些異樣,懷疑妻子有外遇。

一日,張先生總是發現妻子的手機上有一則陌生人的短信,

而且每次短信的內容都是一樣的:"趙兄托妳幫我辦點事。"!

晚上十點,張先生一舉將出軌的妻子和那個正在苟合的男人擒拿。

張先生大罵:太小看我人民公安了,你以為那短信 我不懂?

倒過來讀就是 "十點半我幫妳脫胸罩!"。

Sunday, April 01, 2007

Vir -- McAfee SiteAdvisor

 

Verilog

 

Verilog


 

vlog_file:     要轉換的Verilog檔案名稱
html_file:     被轉換後的 HTML檔案名稱
下載
vlog2html perl script
demo.v 轉換前
demo.html 轉換後

Saturday, March 31, 2007

Sharing folders in Windows CE 5.0

 

WinCE -- How to speed up build process

u could do two steps:
1. say any project change u could build selected project and then makeimg.
make sure ur WINCEREL=1
2. use command prompt.
set WINCEREL=1---> to make  sure that whatever u build is copied to release
directory.
go to the target directory and run build -c
and then do makeimg

for platform.bib etc files..just do the changes and copy paste in ur release
directory. and then run makeimage..this will save enough time.

The batch file "blddemo" does a lot of things to build a final image. It
also has a number of shortcuts to speed things up.

Simplified overview of what blddemo does
* SYSGEN Phase
This phase builds the CE kernel based on your selected SYSGEN variables and
BSP variables
   - Build anything in Private if needed
   - Build everything in Public
   - Build your BSP under the Platform directory

* Buildrel Phase
  - Copies your built files to the _FLATRELEASEDIR

* Makeimg Phase
  - Creates the final NK.BIN based on stuff in the _FLATRELEASEDIR and your
IMG flags

*** Tricks to Speed things up ***
blddemo -q
    This will skip building the Private directory. Normally, you never
change anything here anyway so you are just wasting time calculating
dependecies.

blddemo -qbsp
    This is new in 5.0 and skips both Private and Public and only builds
your BSP platform. This is common when you are developing device drivers
for a BSP and didn't change the features you bring into your OS Design (no
SYSGEN or BSP variable changes)

WINCEREL=1
    When you are building something in PUBLIC and then run makeimg, you
won't see the DLL in you Flat Release DIr (FRD) because it wasn't copied
there. The build system only does that in the buildrel phase which you
skipped. By setting WINCEREL=1 you get the DLL copied to the FRD as the
last step

Targeted Builds (5.0 using the IDE for your builds)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceo...
tml/wce50tskrunningtargetedbuild.asp

Skipping makeimg by using Release Directory Modules list
    If you are debugging an image already flashed to the device, you can
tell the CE filesystem loader to grab your DLL from your PC (in the FRD)
rather than use the one built inside the NK.BIN. This means you can skip
the makeimg step if your newly-built DLL is in the FRD. To do this, go to
the Menu Target \ Release Directory Modules. This will pop-up a dialog that
lets you add your DLL to the list. Now, when you reboot and debug, your DLL
will come from your FRD and not the one in NK.BIN. Combined with Targeted
Builds, this should speed you up a lot.

I use the official PB defined methods to do my building. When you change
something in the registry files the method described below takes less
than 2 minutes.

Here's my when-to-build-what "build shortcut" list:

Change something in Platform Settings: do a makeimg
Change something in a driver in the BSP: Build the driver, do makeimg
Change several things in the BSP: Build the BSP, do makeimg
Change something in the BSP and/or the config files (eg platform.reg):
Build & sysgen the BSP, then Copy Files to RelDir, then Build All
Projects and Makeimg.
Change something in the workspace configuration (add or delete a
component): Sysgen the platform (and sometimes a clean sysgen is needed,
eg when changing from RAM based registry to Hive based Registry).

...and since we can't seem to repeat this enough...

*Never ever* do a build and sysgen on the build menu. Better yet, right
click the menu bar, choose Customize, then click the Build OS menu,
select Build & sysgen and *delete* that option from the build menu.

Hope this helps,

Michel Verhagen, eMVP
EmbeddedFusion
www.EmbeddedFusion.com
mverhagen at embeddedfusion dot com

 

TiddlyWiki �A�Z支援���� -- 新手请教:如何安装插件

> 看到网络上有很多不同版本的TiddlyWiki
> 还有一些专门的插件,我的问题是如何把这些好的插件安装我所使用的TiddlyWiki中呢,

> 比如这里的一个插件http://www.tiddlytools.com/#SinglePageModePlugin

以 SinglePageModePlugin �槔�,可�x�癫煌�的安�b方式:

在�g�[器中�_�⒛愕� TW 文件,

1) TW 2.2.0 建�h�裼么朔绞桨惭b
   a.�c�粲疑戏街�「控制台」(backstage)之「��入」(import)
   b.「指定伺服器��型」: ���x�� 「file」
   c.「����入�W址或路�健�:��入 http://www.tiddlytools.com/, �c�� 「�_��」
   d.完成�c伺服器�B��後,再�c�簟搁_��」
   e.勾�x列表中的「SinglePageModePlugin」
   f.�c�簟���入」、「完成」後,�P�]「控制台」
   g.�Υ孀�更後,刷新��面,即完成安�b。
此安�b方式,可利用「控制台」的「同步」功能,��上更新套件,�@是 TW 2.2.0 的��多新功能之一。

2) �鹘y的 TW 套件安�b方式
  a.�� http://www.tiddlytools.com/#SinglePageModePlugin 的 �热菁糍N�}�u至新增的文章
(tiddler)中,�⒃�文章的�嘶`�O�� systemConfig ,文章�祟}�t建�h��入��套件名�Q。
  b.「完成」����後,「�Υ孀�更」再刷新��面,即完成安�b。

3) �d入外部 js �n形式的套件
  a. 在�A�O文章 MarkupPreBody 中��入: <script type="text/javascript"
src="pathto/YourPlugins.js"></script>
(其中,pathto �� YourPlugins.js 套件所在之相�β��矫��Q, YourPlugins.js �樘准��n名)
  b.「完成」 MarkupPreBody 的����後,「�Υ孀�更」再刷新��面,即完成安�b。
  c.��例���⒖枷铝姓f明中的 MarkupPreBody �热�

我不知道如何加入到我正在使用的版本中ptw-2.2.0-beta4-070319,

> 这个压缩包中有个plugins 目录;是不是默认的已经都安装好的?

 
解�横幔�在你的�g�[器中�_�� index.zh-Hant.html,
查看 MarkupPreBody  �e�^即安�b外部套件的方式,
新增一 tiddler ,其�祟}可自��,��入 tiddler �热荩� <<listExtCode>> ,
完成後可看到已安�b之步步�d入之套件。

 
> 如果使用一段时间以后,不想要这个插件了;如何删除?

 
1) ���擞��� systemConfig 的 tiddler 直接�h除,或是可以自「控制台」 的「套件管理」停用套件。

2) 自 MarkupPreBody �d入的套件,可在欲停用的套件前後加入「<!-- -->」 的HTML�]解�Z法,例如:
<!--
<script ...></script>
<script ...></script>
....
-->
或直接�h除����之 <script ... ></script>

再有;载入外部 js 档形式的套件 ,与内嵌方式;两者有何的优劣如何?

後者相容性高,未�� TW 2.2.0  ��出後,套件更新更��便。
若有多 TW 文件使用�S多同群套件,或 debug 套件�r,可考�]前者。

相�P����可�⒖迹�
http://groups.google.com/group/PrinceTiddlyWiki
(��入搜���l件:「由外部�n案�d入plugins的好��」)

Thursday, March 22, 2007

Tools -- Power Taango 運用特有的系統虛擬與移植技術

軟體名稱:Power Taango
軟體版本:Beta 3.0
授權類型:共享軟體
支援語系:多國語言(包含繁體中文)
官方網站:http://www.taango.com/tw/index.htm
檔案下載: 官方網站下載頁面
檔案下載:官方HTTP站下載(6.25MB)
更新日期:2006/7/24
軟體簡介: Power Taango 運用特有的系統虛擬與移植技術,受到國際評審的青睞,榮獲 2006 年美國消費性電子展 CES Show 的創新產品獎,以其強大的移植引擎,可讓您直接將已經安裝在電腦上的軟體, One click 就移植於外接儲存設備中,讓您到任一台電腦上就可直接使用不需重新安裝軟體,離開後資料與軟體就跟著自己離開,就像握在手上的超微小電腦,走到哪我的電腦跟我到哪。
  • 軟體移植功能:透過獨一無二的軟體動態移植技術,可以將您電腦上的合法軟體直接移植到外接儲存設備中, 不僅可攜帶軟體本身,還可包含相關的設定及資料,讓您在任一台電腦使用慣用的軟體環境,不會因為設定不同而要費時重新適應,或是陷入沒有軟體可用的窘境 。  
  • 執行移植軟體:無論走到哪裡 ,您都可以在任何一台 WindowsXP 以上的電腦,直接插上自己的 Power Taango 設備,完全不需安裝即可執行存放的應用程式。  
  • 安全來去:當您 離開使用的電腦後,應用軟體不會留在該電腦中, Power Taango 會即時移除軟體使用時的相關設定,讓電腦即刻還原,確保電腦的安全性也不會 造成非法散佈軟體的情形。  
  • 防止非法複製:Power Taango 運用特殊技術將 Power Taango 與移植的軟體加以保護並防止使用者隨意複製到其他非經授權的電腦或其他使用者的設備上,充分在方便性與保護軟體的版權上取得平衡。  
  • 操作方便, 介面簡易:Power Taango 的介面非常簡易好懂,使用者不需學習就可以上手。

 

SW -- A source-code analyzer that identifies complex bugs at compile time

CodeSonar

A source-code analyzer that identifies complex bugs at compile time.
 

Text Workbench -- find and replace tools

 

net ana -- Ethereal

 

Sunday, March 18, 2007

blog -- programmer club 程式設計俱樂部

http://www.programmer-club.com/TitleList.asp

sniff 無線封包

 

Sniff網路基礎原理和軟體實現技巧詳解

 

Web2Proxy.net: Free Anonymouse HTTP proxy!

Web2Proxy.net: Free Anonymouse HTTP proxy!

Web2Proxy.net allows you to bypass local proxies and security restrictions and surf blocked sites or simply surf privately and securely without need to install any software on your computer. If you browse the web through Web2Proxy.net the website can not find your real IP address. And you also need not to configure or update anything locally, everything is prepared and working.
 

讓英文版的Windows能顯示、輸入中文

http://goodman.myweb.hinet.net/isdwin/enwin2tw/

Thursday, March 15, 2007

Taiwan news for english 英文中國郵報

 

blog -- sw tools

 

edit -- 介紹一些不錯的HTML編輯工具

  • NoteTab:
    • 用戶可選擇撘配一些其他廠商/團體開發的軟體,包括前述的Tidy,目前版本 (4.86) 能輸出合乎HTML 4.01 或XHTML 1.0規格的檔案。
    • 容許大量個人化設定,甚至用者可自行提供用Perl 語言寫的script ﹝要先安裝Perl的解譯器﹞
    • ﹝竟然﹞支援字串樣板( regular expression)的觀念,可進行全磁碟檔案 search and replace text 的工作
    • 檔案大小只約1.5M,佔用的系統資源極小,對硬體的要求甚低,是一個很值得用來取代Notepad/Wordpad的工具
    • 其他介紹可參考 這裡
    • 免費的NoteTab Light版本可在這裡下載

  • 1st Page 2000:
    • 與Tidy 整合在一起,目前版本 (2.0) 能輸出合乎HTML 4.0 或XHTML 1.0規格的檔案。
    • 與NoteTab 比較,界面美觀、「直覺」、易用和「就手」,但較少可供個人化的設定。
    • 檔案大小只5M,比Homesite 較少佔用 系統資源。
    • 其他介紹可參考 這裡
    • 免費版本可在這裡下載
  • 如何比對兩個excel檔案

     :  
    http://www.vba.com.tw/plog/

    它裡面有寫了一個增益集~是專門比對兩個sheet裡面不同的資料...

    ...

    開兩個檔案然後執行下面的code 
        MsgBox Workbooks(2).ActiveSheet.Cells(1, 1)
        MsgBox Workbooks(1).ActiveSheet.Cells(1, 1)

    ...

    Wednesday, March 14, 2007

    ce -- cmd.exe using COM2

    http://groups.google.com/group/microsoft.public.windowsce.embedded/browse_thread/thread/3bcc5041e457846b?hl=en
    I am using Windows CE 5.0 and would like to be able to use the
    cmd.exe command processor via COM2.

      COM2 is working correctly because a small program which simply echos
    characters using ReadFile and WriteFile works fine.

      Two methods I have tried were to use
    -----------------
    Method 1:

    A small program which executes the following calls was run.

    SetStudioPathW(0, L"COM1:");
    SetStudioPathW(1, L"COM1:");
    SetStudioPathW(2, L"COM1:");

    As was suggested by this post:
    http://groups.google.com/group/microsoft.public.windowsce.targeted.de...

    However, cmd.exe still seems to be using the keyboard and display for
    stdin and stdout after doing this.
    --------------------------
    Method 2:
      http://msdn2.microsoft.com/en-us/library/aa452670.aspx

    [HKEY_LOCAL_MACHINE\Drivers\Console]
        OutputTo = REG_DWORD:2                // Redirects CMD to COM2
        COMSpeed = REG_DWORD:115200            // Speed of serial
    connection

    I changed the OutputTo value from a '1' into a '2' because my serial
    port is COM2
    I also changed the example baud rate of 19200 to 115200

    After implementing this change to common.reg, cmd.exe no longer shows
    up on the display, but also does not seem to send any output to COM2.

    The registry settings in "Method 2" is confusing because it uses
    decimal values to specify the baud rate. dwords in .reg files are
    speced in hex, not decimal so you should add the hex equivalent of the
    baudrate into the .reg file.
    Henrik Viklund
    http://www.addlogic.se

    Wednesday, February 28, 2007

    Friday, February 16, 2007

    系統安全基礎之常用Win32 API函數簡介

    現在很多講Windows程式設計的書都是講基於MFC庫和OWL庫的Windows設計,對Windows實現的細節都鮮有討論,而調試程式都是和系統底層打交道,所以有必要掌握一些Win32 API函數的知識,這樣我們可快捷地找出程式調用錯在哪?是哪個參數出了問題。

    Windows程式模組包括KERNEL、USER和GDI,其中KERNEL完成記憶體管理、程式的裝人與執行和任務調度等功能,它需要調用原MS─DOS中的文件管理、磁片輸入輸出和程式執行等功能;USER是一個程式庫,它用來對聲音、時鐘、滑鼠器及鍵盤輸入等操作進行管理;GDI是一功能十分豐富的子程式庫,它提供了圖形與文字輸出、圖像操作和窗口管理等各種與顯示和列印有關的功能。上述KERNEL、USER和GDI模組中的庫函數可被應用程式調用,也可被其他程式模組調用。把包含庫函數的模組稱為輸出者(export)。你應明白為什麼跟蹤軟體時經常在KERNEL32!.text和 USER32.text等系統領空轉的問題吧。

    這裡列出幾個經常碰到的Win 32 API函數,它們都是存在Windows系統核心文件KERNEL32.DLL中和視窗管理文件USER32.DLL中。

    Windows函數是區分字符集的:A表示ANSI,W表示Wide,即Unicode (Wide character-set),前者就是通常使用的單字節方式,但這種方式處理象中文這樣的雙字節字符不方便,容易出現半個漢字的情況。而後者是雙字節方式,方便處理雙字節字符。Windows的所有與字符有關的函數都提供兩種方式的版本。儘管你編程時使用GetWindowText,但實際上編譯程式會根據設置自動調用GetWindowTextA或GetWindowTextW。函數的最後一個字母告訴我們函數是使用單字節還是雙字節字符串。

    1、Hmemcpy函數

    void hmemcpy(hpvDest, hpvSource, cbCopy)

    void _huge* hpvDest; // 目的數據地址

    const void _huge* hpvSource; // 源數據地址

    long cbCopy; // 數據大小 (Bytes)

    這個函數在KERNEL32.DLL中,它很常用,俗稱萬能中斷點,但一般的編程書籍上很少提到,原因它是底層的東西,沒有特殊需要,一般不直接調用。但的確它是很有用的!有意思的是它執行的操作很簡單,只是將記憶體中的一塊數據拷貝到另一個地方。

    注意:此函數只在Windows 9x系統上有效,在Win NT/2K系統上相關的函數是memcpy,但在Win NT/2K上不同於Windows 9x上,很少再調用memcpy來處理數據了,用此函數設斷基本上什麼也攔不住。

    2、GetWindowText函數

    此函數在USER32.DLL用戶模組中,它的作用是複製指定窗口中的字符到緩衝區。函數原型:

    int GetWindowText( HWND hWnd//欲獲取文字的那個窗口的句柄  LPTSTR lpString //預定義的一個緩衝區,至少有cch+1個字符大小;隨同窗口文字載入  int nMaxCount//lpString緩衝區的長度 ); 16位:GetWindowText 32位:GetWindowTextA,GetWindowTextW <strong>3、GetDlgItemText</strong>

    3、GetDlgItemText

    此函數在USER32.DLL用戶模組中,它的作用是返回對話方塊中某一個窗口的標題或文字。函數原型:

    UINT GetDlgItemText( HWND hDlg, // 對話方塊句柄 int nIDDlgItem, //控制標識符 LPTSTR lpString, / 預定義的一個字符緩衝區 int nMaxCount// 字符緩衝區的長度 ); 16位:GetDlgItemText 32位:GetDlgItemTextA,GetDlgItemTextW

    4、MessageBox函數

    此函數是在USER32.DLL用戶模組中,它的作用創建、顯示和操作資訊框。函數原型:

    int MessageBox( HWND hWnd, //窗口句柄 LPCTSTR lpText, // 資訊框中文字的地址 LPCTSTR lpCaption, // 資訊框標題地址 UINT uType // 資訊框類型 ); 16位:MessageBox 32位:MessageBoxA,MessageBoxW

    Fwd: Google 快訊 - PocketPC



    ---------- Forwarded message ----------
    From: Google 快訊 <googlealerts-noreply@google.com>
    Date: 2007/2/16 上午 7:09
    Subject: Google 快訊 - PocketPC
    To: cwthome@gmail.com

    Google 新聞快訊關於: PocketPC

    側滑蓋雙鍵盤!HTC智慧Vox正式發布
    臺灣新浪網 - Taiwan
    有完整QWERTY鍵盤的PocketPC WM6 Professional版本(支援觸控螢幕的那版)手機不在少數,HTC 自家就做了一大票,但WM6 Standard版中放入QWERTY鍵盤可就是頭一遭了。應該可以大大地降低非觸控式螢幕帶來的挫折感吧!
    查看此主題下的所有報導


     此即時 Google 快訊是由 Google 提供給您。.

    移除 此快訊。
    建立 另一個快訊。
    管理 您的快訊。

    Saturday, February 10, 2007

    Verilog - Code Gen

    http://search.cpan.org/~wvdb/Verilog-CodeGen-0.9.4/CodeGen/Gui.pm
    v2html (http://www.burbleland.com/v2html/v2html.html)
    If you want to inspect the generated code, you need the v2html Verilog to HTML convertor and a controllable browser, I use galeon (http://galeon.sourceforge.net).
    A Verilog compiler/simulator
    To run the testbench, I use Icarus Verilog http://icarus.com/eda/verilog/index.html, a great open source Verilog simulator.
    A VCD waveform viewer
    To plot the results, I use GTkWave (http://www.cs.man.ac.uk/apt/tools/gtkwave/index.html, a great open source waveform viewer.

    SW -- iCodeGenerator

    http://swik.net/iCodeGenerator
    iCodeGenerator is an Open Source template based code generator for the programming language of your choice. It is very easy to use because its own simple syntax.
    It can generate Data Access code for any programming language, like C#, Java, SQL, PHP, or Perl to name a few, from any supported database (SQL Server and MySQL, Postgres). It is being developed with C#.

    HW -- Fuse / Relay - Tyco

    http://www.tycoelectronics.com/
    http://catalog.tycoelectronics.com/TE/bin/TE.Menu?M=MENU&ID=20860&BML=18022&LG=1&I=13

    Circuit Protection Devices (無鎔絲保險絲)
    OverCurrent Devices
    OverVoltage Devices

    MontaVista升級版Linux IDE與Eclipse相容

    http://www.eettaiwan.com/ART_8800450578_676964_e1590c43200701.HTM

    RF 可攜式無線產品中的小型天線設計

    http://www.eettaiwan.com/ART_8800450598_617723_ccd76100200701.HTM

    實現完全無NRE的可編程ASIC

    http://www.eettaiwan.com/ART_8800450585_480202_a45ba56c200701.HTM

    HW -- Search (電子工程專輯)

    http://www.eettaiwan.com/

    java download

    DDR3蓄勢待發 2010年可望超越DDR2

    http://www.eettaiwan.com/ART_8800450608_628626_fafda2ba200701.HTM

    Friday, February 02, 2007

    JavaScript

    Visual JavaScript Library is an easy to use script collection that helps you add javascripts and applets to your web pages with no experience or HTML knowledge.
     

    Tuesday, January 30, 2007

    SW - PCCTS Resources

    http://www.polhode.com/pccts.html
    parser same as yacc + lex

    CPLD/FPGA數位電路教學與設計網路資源與相關學術單位

    http://www.nkhs2.nkhs.tp.edu.tw/CPLD_Lab/cpld_lab.htm

    CPLD/FPGA數位電路教學與設計
    網路資源與相關學術單位
    ICDIY積體電路術技專業網站 ICDIY 利用 Framework 的技術整合了目前
    複雜的 IC 設計工具,提供網路使用者一個透過瀏覽器便可以輕鬆學習硬體
    描述語言的互動式環境,包括:(1). 線上撰寫硬體描述語言Verilog 與 VHDL
    (2). 線上即時模擬(3). 線上波形檢視
    CPLD CookBook(程式設計大全) written by Peter Ashenden and converted to HTML by Gerd Kalkhoff (download zip-file of the cookbook)英文
    A small Introduction to VHDL英文
    Another small VHDL-Guide英文
    Some Syntactical Elements of VHDL英文
    Some simple Examples英文
    Four Microprocessor Models英文
    Other VHDL Resources 英文
    ASICs Website This website is about ASICs or Application-Specific Integrated Circuits, which are a type of silicon integrated circuit.英文
    VHDL Design Libraries英文
    單晶片8051與VHDL討論區
    1、國科會晶片中心 大陸ASIC中心
    2、CIC & Altera 合作教育訓練中心
    3、ALTERA 公司CPLD Datasheet與開發工具 英文
    4、Xilinx 公司 FPGA Datasheet與開發工具英文 美商智霖 日本分公司(日文)
    5、Lattice 公司 CPLD Datasheet與開發工具英文
    6、ATmel 公司 CPLD Datasheet與開發工具英文
    7、AcTel 公司 FPGA Datasheet 與開發工具英文
    8、Agere Systems (formerly Lucent Microelectronics) FPGA products英文
    9、Cypress Semiconductor FPGA and PLD/CPLD products英文
    10、QuickLogic Corp. FPGA products 英文
    FPGA CPU Exploring the design and implementation of custom processors and integrated systemsonchips using FPGAs.英文FPGA Information 線上教學FPGA links maintained by the University of Idaho.英文
    NASA Digital Engineering Institute Dedicated to the design and use of programmable and quickturn technologies for space flight applications.英文
    Virginia Tech Configurable computing research lab.英文
    List of FPGA-based Computing Machines FPGA應用例Extensive list of FPGA systems.
    11、陳慶逸的CPLD教學網站 VHDL FPGA/CPLD線上教學
    12、CPLD/FPGA 學習教材 (僑高企業)13、雅普科技 Altera Xilinx FPGA/CPLD及單晶片微處理器實驗發展系統
    14、虎尾技術學院電機工程系 教材、CPLD電路設計、 VLSI製作報告、教材等
    15、彥陽科技有限公司 - 代理Lattice CPLD等產品
    16、普誠國際CPLD開發工具 掌宇股份有限公司CPLD教學設備 CPLD/DSP組範例下載
    17、益眾科技CPLD開發工具
    18、長高科技CPLD開發工具
    19、ChipCenter The Web's Definitive Electronics Resource
    20、Chip123 - IC Design 中文入口網站 CHIP123
    21、電子工程www.eettaiwan.com/ CPLD教學文件
    22、CPLD Download Controllers
    23、CPLD, FPGA The Programmable Logic Jump Station英文
    24、CPLD數位發展實驗系統
    25、OpenTech網路書店CPLD相關書籍
    26、力浦電子CPLD開發工具
    27、Programmable Logic Conferences英文
    28、Programmmable Logic Devices by Lattice Semiconductor英文
    29、Synplicity Products(FPGA)英文
    30、Universal Device Programmers for Micros, EEROM's, CPLD's, PAL's, etc.英文
    31、交通大學電力電子與運動控制實驗室-實驗教學模組、FPGA/CPLD發展系統等
    32、清華大學積體電路研發中心.
    33、交通大學資工系VLSI系統實驗室
    34、清華大學電機系LARC實驗室
    35、中興大學資訊系VLSI實驗室-各種CPLD/VLSI教學教材
    36、中山大學電機系VLSI實驗室
    37、台灣大學電機所CAD系統實驗室 VHDL實驗教材-Altera Max+Plus II FPGA 設計
    38、國立成功大學電機系
    39 、逢甲大學自動控制工程學系ASIC研究室
    40 、東南技術學院 -積體電路佈線、可程式邏輯元件應用、電腦輔助電路設計等
    41 、國立中興大學電機系42 、國立暨南大學電機系43 、國立交通大學電子系44 、私立淡江大學電機系 江正雄 (Chiang, Jen-Shiun)副教授 VHDL教學網45 、私立中原大學電機系46 、私立中華大學電機系47 、私立長庚大學電機系
    48 、國立中山大學電機系49 、國立中央大學電機系50 、台灣科技大學電機系
    51 、國立清華大學電機系52 、私立逢甲大學電機系53 、私立義守大學電機系 陳慶瀚(義守大學/電機系/機器智慧與自動化實驗室) 54 、私立輔仁大學電子系55 、大同工學院電機系
    56 、國立中正大學電機系57 、國立東華大學電機所58 、台北科技大學電機系59 、私立大葉大學電機系60 、私立元智大學電機系
    61 、中國文化大學電機系62 、華梵大學電子系
    63、國立海洋大學電機系 數位訊號處理實驗室
    64、VHDL online 教學網英文65、Universität Hamburg VHDL教學網 英文
    66、可編程VHDL邏輯器件 (簡體字)
    67、青草園VHDL教學網 (簡體字)
    68、超韌派 - 單晶片程式設計與電子電路(8051/PIC/EMC/AVR/PLD及VHDL)
    69、義守大學電子團隊 - 提供Verilog(硬體描述語言)簡介及原始碼下載。
    70、VHDL'87 syntax VHDL'93 syntax VHDL-AMS syntax 英文
    71、VHDL Language Guide 英文
    72、Hardware Engineer's Guide to VHDLtutorial assumes no prior knowledge of HDLs 英文
    73、1001 Tutorials ->VHDL Tutorials 英文
    74、VHDL Tutorial 英文
    75、An Introductory VHDL Tutorial 英文 FPGA and CPLD Tutorial英文
    76、VHDL Verification Course 英文 General Device Instruments 英文
    77、VHDL Technology Group 英文
    78、VHDLSynth (1076.3) Home page 英文
    79、VHDL International Users Forum [VIUF] 英文
    80、 VLSI Design and Training 包含有ASIC, FPGA, CPLD, Programmable Logic based Designs with VHDL, Verilog and Finite State Machines based design methodology.英文
    81、Electronics Workbench-Software for the design of electrical circuitry to be implemented on printed circuit boards and programmable logic devices, schematic capture, component database, SPICE simulation, FPGA/CPLD synthesis, design analysis, PCB layout and autorouting.英文
    82、Texas Instruments PLDs 英文
    83、Triscend Configurable System-on-Chip devices 英文
    84、ST Microelectronics (formerly WSI) MCU peripherals + programmable logic 英文
    85、ICT, Inc. PEELs 英文
    86、MSA 2500 Programmable Logic Core (PLC)Adaptive Silicon
    87、Actel varicore英文
    88、LSI Logic LiquidLogic™英文
    89、Integrated Circuit Technology Embedded PLD Technology and Embedded Programmable IP英文
    90、Systolix pulsedsp英文
    91、Leopard Logic, Inc.英文
    92、PACT Corporation (multi-ALU array)英文
    93、Elixent (multi-ALU array)英文
    94、Xilinx Serial Configuration PROMs (EPROM, OTP)英文 Serial EPROM I2C&SPI
    95、Altera Configuration EPROMs (EPROM, OTP)英文Serial EPROM I2C&SPI
    96、Atmel FPGA Configuration Memories (E2PROM, 5V ISP)英文Serial EPROM I2C&SPI
    97、Microchip Serial EPROM (EPROM, OTP)英文Serial EPROM I2C&SPI
    98、FPGA Configurator Module英文Serial EPROM I2C&SPI
    99、 VLSI Design and Training超大型IC設計與教學網站 英文
    100、XESS CPLD/FPGA各種實驗板Develops and sells XILINX FPGA and CPLD reconfigurablelogic demo boards.英文

    最新版Analog/Mixed-Signal FPGAs
    101、Lattice Semiconductor ispPAC programmable analog circuits 英文
    102、Zetex Semiconductors TRAC programmable analog circuits 英文
    103、Anadigm FPAA field-programmable analog array 英文
    104、Lattice Generic Digital Switch devices
    105、I-Cube Field-Programmable Interconnect (FPIC)
    106、國家晶片系統設計中心 (CIC) 線上討論區
    107、國家晶片系統設計中心 (CIC) Xilinx Web
    108、Xilinx University Resource Center
    109、Xilinx University Program
    110、Digilab, Inc.
    111、Digilab XLA Board Users Manual
    112、Digilab XLA Board Test Program
    113、Digilab XLA Board Configure Program
    114、IEEE 1364-1995 Verilog Language Reference Manual
    115、IEEE 1076 VHDL Language Reference Manual
    116、98'Spring, EE 4292 VLSI/CAD Design Lab (Verilog Teaching)
    117、Xilinx Foundation Series 按鈕指令介紹

    最新版Verilog Related Links
    HomePage for Silos III (Verilog simulator)
    Verilog Simulator,限制為30天免費全功能使用HomePage for synapticad(Verilog simulator)
    ModelSim Evaluations(Verilog and VHDL simulator)
    Synopsys University program
    Verilog-2001 Information Page
    Open Verilog International Web
    Celia's Verilog & EDA
    A alternate Verilog FAQ
    comp.lang.verilog Verilog FAQs
    Rajesh Bawankules's verilog homepage
    Alternate Verilog FAQ
    EVITA: Verilog/ VHDL toturial
    Gerard's Personal Play Area Page
    Student developed pages - Verilog Topics
    Winning Edge Verilog
    C to Verilog Transform
    Project Veripage: free PLI resource
    Some Verilog examples made by Actel
    The RiSC-16 Architecture
    SAL Home
    Low Cost Tools
    VBS: A verilog simulator under Linux
    V2000 Project
    Icarus Verilog A GPLed Verilog Compilation Syste
    8051 VHDL Code 8051CHDL IP Core
    ROM Initialization
    Hamburg VHDL archive

    中國大陸CPLD與單晶機相關網站
    C51BBS論壇
    21ICBBS論壇
    电子产品世界
    單晶機论坛
    C51程式上載
    單晶機俱樂部簡
    崁入式單晶機開發論壇簡
    崁入式開發國簡
    Discovery of IC


    电子开关网
    平凡的单片机
    单片机学习网
    广州单片机网
    小龙的单片机
    硬件时空技术BBS
    电子网站大放送
    双龙电子
    周立功的单片
    恒坚电器
    利达尔电子
    逍遥居