2009年9月15日 星期二

[轉錄][Vista]工具列的網路圖示被打個大X且都打不開,怎麼辦?![Network List Service開啟辦法]

剛剛在胡搞瞎搞電腦,結果不小心Reg_Dll導致...網路圖示被打的大X
害我整個囧掉,嘗試過修復也失敗,甚至出現了想重灌的念頭
但後來詳查了一下,才發現...原來是"服務"裡面的"Network List Service"被關閉了
那還不簡單,去把它開啟就好啦!正當小弟以為問題可解決時,沒想到卻出現"開啟後又被關閉"的錯誤訊息...
這時候又開始狂搞,後來終於找到瞭解決方法,詳細的請看下圖說明哩!

ps.在執行下列步驟前,請關掉UAC....[控制台>使用者帳戶]裡面!否則會遇到有些步驟無法執行狀況!

首先,請到"開始"工具列,找到"執行"[開始>所有程式>附屬應用程式>執行]

之後,在框格里面輸入"dcomcnfg",按下"確定"後進入"元件服務"

再來,選擇左邊框格中的[ "元件服務">"電腦">我的電腦">"DCOM設定" ]04.jpg
點到此時可能會出現如下圖的"DCOM設定警告",不用緊張,請按"是(Y)"繼續。

之後請選擇到"netprom"後,點選滑鼠右鍵,按下"內容",進入下列視窗。

請切換到"安全性"頁面,在啟動與啟用權限的頁框中,選擇"自訂(S)"後按下"編輯"
進入後請按下"新增",在"輸入物件名稱來選取"的地方內輸入"LOCAL SERVICE"


按下確定後,依照下圖所示,在兩處打勾後按下"確定"。


完成上述設定後,到"控制台">"系統管理工具">"服務"
選擇"Network List Service",依造下圖所示,選擇"啟動",大功告成囉!

以上是小弟所自行製作的教學,因為在網路上找幾乎都是殘破的教學,希望對有需要的人有很大的幫助!


轉錄於 此處

2009年5月15日 星期五

coding style

1.
Use spaces, not tabs. Tabs should only appear in files that require them for semantic meaning, like Makefiles.

2.
A case label should line up with its switch statement. The case statement is indented.
Right:
switch (condition) {
case fooCondition:
case barCondition:
i++;
break;
default:
i--;
}
Wrong:switch (condition) {
case fooCondition:
case barCondition:
i++;
break;
default:
i--;
}

3.
Boolean expressions at the same nesting level that span multiple lines should have their operators on the left side of the line instead of the right side.
Right:
return attr->name() == srcAttr
attr->name() == lowsrcAttr
(attr->name() == usemapAttr && attr->value().domString()[0] != '#');
Wrong:
return attr->name() == srcAttr
attr->name() == lowsrcAttr
(attr->name() == usemapAttr && attr->value().domString()[0] != '#');

4.
Do not place spaces around unary operators.
Right:
i++;
Wrong:
i ++;

5.
Do place spaces around binary and ternary operators.
Right:
y = m * x + b;
f(a, b);
c = a b;
return condition ? 1 : 0;
Wrong:
y=m*x+b;
f(a,b);
c = ab;
return condition ? 1:0;

6.
An else statement should go on the same line as a preceding close brace.
Right:
if (condition) {
...
} else {
...
}
Wrong:
if (condition) {
...
}
else {
...

7.
Function definitions: place each brace on its own line.
Right:
int main()
{
...
}
Wrong:
int main() {
...
}

8.
Control clauses without a body should use empty braces:
Right:
for ( ; current; current = current->next) { }
Wrong:
for ( ; current; current = current->next);

9.
Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.
Right:
if (condition)
doIt();
if (!ptr)
return;
if (!count)
return;
Wrong:
if (condition == true)
doIt();
if (ptr == NULL)
return;
if (count == 0)
return;

10.
Use CamelCase. Capitalize the first letter, including all letters in an acronym, in a class, struct, protocol, or namespace name. Lower-case the first letter, including all letters in an acronym, in a variable or function name.
Right:
struct Data;
size_t bufferSize;
class HTMLDocument;
String mimeType();
Wrong:
struct data;
size_t buffer_size;
class HtmlDocument;
String MIMEType();

11.
Use full words, except in the rare case where an abbreviation would be more canonical and easier to understand.
Right:
size_t characterSize;
size_t length;
short tabIndex; // more canonical
Wrong:
size_t charSize;
size_t len;
short tabulationIndex; // bizarre

12.
Prefix C++ data members with "m_".
Right:
class String {
...
short m_length;
};
Wrong:
class String {
...
short length;
};

13.
Precede boolean values with words like "is" and "did".
Right:
bool isValid;
bool didSendData;
Wrong:
bool valid;
bool sentData;

14.
Use descriptive verbs in function names.
Right:
bool convertToASCII(short*, size_t);
Wrong:
bool toASCII(short*, size_t);

15.
#define, #ifdef "header guards" should be named exactly the same as the file (including case), replacing the '.' with a '_'.
Right:
// HTMLDocument.h
#ifndef HTMLDocument_h
#define HTMLDocument_h
Wrong:
// HTMLDocument.h
#ifndef _HTML_DOCUMENT_H_
#define _HTML_DOCUMENT_H_

16.
Constructors for C++ classes should initialize all of their members using C++ initializer syntax. Each member (and superclass) should be indented on a separate line, with the colon or comma preceding the member on that line.
Right:
MyClass::MyClass(Document* doc)
: MySuperClass()
, m_myMember(0)
, m_doc(doc)
{
}
MyOtherClass::MyOtherClass()
: MySuperClass()
{
}
Wrong:
MyClass::MyClass(Document* doc) : MySuperClass()
{
m_myMember = 0;
m_doc = doc;
}
MyOtherClass::MyOtherClass() : MySuperClass() {}

參考至:http://webkit.org/coding/coding-style.html
感謝dlackty提供!!

連結:http://ms.ntcb.edu.tw/~s9256041/coding%20style.doc

2009年4月30日 星期四

開啟ubuntu上的3D加速驅動程式

簡介:

Compiz Fusion 是一套自由的桌面特效(desktop effects)軟體,能夠替基於 Linux 的桌面環境加上視覺效果,類似於 Windows Vista 的 Aero 與 Mac OS X 的 Quartz。

Compiz Fusion 的前身是 Compiz 和其分支套件 Beryl,兩者合併後即更名為 Compiz Fusion。

而Compiz Fusion 需要 X Window 支援的 3D 加速顯示卡。

安裝:

在terminal上執行以下指令後

sudo apt-get install compiz-gnome compizconfig-settings-manager compiz-fusion-plugins-main

會安裝後跑出一個視窗,有個按鈕"active",讓他運作即可.

安裝gnu在ubuntu上

在terminal上輸入

sudo apt-get install build-essential

就可以有基本的GNU compilers and tools

2009年4月28日 星期二

做Vista與Linux雙系統

首先當然就是先下載ubuntu嚕~

網址:http://www.ubuntu.com/getubuntu/download

我在找如何安裝雙系統的同時看到了這ubuntu可完成的3D桌面特效

更是讓我想一探究竟

Ubuntu本身就有很強的開機程式GRUB,似乎可以偵測到VISTA也將其加入清單中,不過是純指令的方式,雖說是個挑戰,只是不怕萬一只怕一萬,所以還是用VISTA內建的BCD(Boot Configuration Data)開機管理程式吧。

1. 一開始就是先安裝VISTA,本來筆電就有所以略過。
2. 分割磁區給Ubuntu,用VISTA本身的程式即可。


↑為VISTA內建程式,不會刪掉裡面的內容(在開始功能表的「電腦」上按右鍵選管理,然後在磁碟上按右鍵選「壓縮磁碟區」),依個人需要不同分配大小,我是用了30GB,因為打算玩很多東西@@”

3. 備份Vista:我是採用True Image,總是要做個最壞打算ˊˋ
4. 一切都搞定就開始安裝ubuntu了,先是把ISO燒成光碟,然後進到BIOS更改開機順序(光碟)。裡面的步驟大部分與安裝XP類似,有幾點需特別注意,先是要手動分割磁區,然後選擇我們所壓縮出的free space(不要全部都給這分割),新增分割,類型為「主分割」、用途為「ext3」,掛載點則選「/」,然後剩下的空間就是swap(邏輯分割)了(為Linux的虛擬記憶體),最後要INSTALL前要記得(非常之重要)******


按右下角的「Advanced」,把「用來安裝開裝程式的裝置」從(hd0)改成放Ubuntu的磁區。至於Ubuntu的磁區在哪?同一個畫面下會有「下列分割區將要進行格式化」,其中ext3的部分會有類似sda #1的字樣,就代表Ubuntu會裝在sda1。依你的設定,把這個sda1或sdb5填到空格中,這會把Ubuntu的開機程式GRUB和Ubuntu放在一起,設定之後按「Install」就開始安裝了。

5.結束安裝後,就是設定開機選單的部分


安裝easyBcd後執行,在「Add/Remove Entries」>「Add an Entry」下,選Linux、GRUB和你安裝Ubuntu的磁區(通常是顯示Linux native那個),輸入你喜歡的名字,比如Ubuntu 7.10,設好之後按一下「Add Entry」,Ubuntu的開機項目就加到Vista的開機選單了。

按一下「Change Settings」,Default OS是預設要進哪個作業系統,還有倒數的秒數(Bootloader timeout),依你自己喜好做設定吧,設好按Save Settings就可以退出程式了。
圖一堆好難調= =,不過為了怕未來忘記還是得做...

2009年4月26日 星期日

使用True Image備份系統

本來想用Ghost備份的

可是看到True Image的介面後我嘗試了



裡面的步驟之簡單,十分容易上手

我也就這樣成功的備份了我的系統

至於還原麻,還沒有實作過~QQ

載點:

Seagate DiscWizard繁體中文版

http://www.seagate.com/www/zh-tw/support/downloads/discwizard/discwizard-eula

Seagate是與trueimage的廠商Acronis合作

所以才有這個免費版本使用