而在最近版的 Ubuntu 9.10 jaunty 也直接包含這個套件,安裝上就很容易了︰
GTK版本︰
sudo apt-get install google-gadgets-gtkQT版本︰
sudo apt-get install google-gadgets-qt
如果想嘗試最新版本,也可以參照其說明編譯最新原始碼 :)
開始想去寫一些小工具來玩了,哈~
借用一下專案網站上的截圖 :p

禁止全文轉貼喔,有需要引用的朋友,可部份轉載並註明出處,或者使用連結也是個不錯的方式
本站網址已修改為︰http://blog.chinson.idv.tw
sudo apt-get install google-gadgets-gtkQT版本︰
sudo apt-get install google-gadgets-qt

#include "testview.h"*************************************************************************************
#include <>
CSemaphore mutex; // 宣告
UINT ChildThread_Function ( LPVOID param )
{
CSingleLock wait(&mutex); // 操作 mutex 的類別
wait.Lock(INFINITE); // 要求鎖定 mutex
CTestView* view = (CTestView*) param;
param->DoSomething();
wait.Unlock(); // 要求解鎖 mutex
}
CTestView::DoSomething()
{
....
}
CTestView::Execute()
{
AfxBeginThread( ChildThread_Function, (LPVOID) this, THREAD_PRIORITY_ABOVE_NORMAL); // 呼叫子執行緒
}
#include "testview.h"
#include <>
CRITICAL_SECTION csObject; // 宣告
UINT ChildThread_Function ( LPVOID param )
{
EnterCriticalSection(&csObject); // 鎖定
CTestView* view = (CTestView*) param;
param->DoSomething();
LeaveCriticalSection(&csObject); // 解鎖
}
CTestView::CTestView()
{
InitialCriticalSection(&csObject); // 初始化
}
CTestView::DoSomething()
{
....
}
CTestView::Execute()
{
AfxBeginThread( ChildThread_Function, (LPVOID) this, THREAD_PRIORITY_ABOVE_NORMAL); // 呼叫子執行緒
}
#include "testview.h"ChildThread_Function 是全域函式,函式名稱由使用者自訂
UINT ChildThread_Function ( LPVOID param )
{
CTestView* view = (CTestView*) param;
param->DoSomething();
}
CTestView::DoSomething()
{
....
}
CTestView::Execute()
{
AfxBeginThread( ChildThread_Function, (LPVOID) this, THREAD_PRIORITY_ABOVE_NORMAL);
}
class CTestView
{
..
..
static UINT ChildThread_Function ( LPVOID param );
};
UINT CTestView::ChildThread_Function ( LPVOID param )
{
..
..
}