剛剛在胡搞瞎搞電腦,結果不小心Reg_Dll導致...網路圖示被打的大X
害我整個囧掉,嘗試過修復也失敗,甚至出現了想重灌的念頭
但後來詳查了一下,才發現...原來是"服務"裡面的"Network List Service"被關閉了
那還不簡單,去把它開啟就好啦!正當小弟以為問題可解決時,沒想到卻出現"開啟後又被關閉"的錯誤訊息...
這時候又開始狂搞,後來終於找到瞭解決方法,詳細的請看下圖說明哩!
ps.在執行下列步驟前,請關掉UAC....[控制台>使用者帳戶]裡面!否則會遇到有些步驟無法執行狀況!
首先,請到"開始"工具列,找到"執行"[開始>所有程式>附屬應用程式>執行]
之後,在框格里面輸入"dcomcnfg",按下"確定"後進入"元件服務"
再來,選擇左邊框格中的[ "元件服務">"電腦">我的電腦">"DCOM設定" ]04.jpg
點到此時可能會出現如下圖的"DCOM設定警告",不用緊張,請按"是(Y)"繼續。
之後請選擇到"netprom"後,點選滑鼠右鍵,按下"內容",進入下列視窗。
請切換到"安全性"頁面,在啟動與啟用權限的頁框中,選擇"自訂(S)"後按下"編輯"
進入後請按下"新增",在"輸入物件名稱來選取"的地方內輸入"LOCAL SERVICE"
按下確定後,依照下圖所示,在兩處打勾後按下"確定"。
完成上述設定後,到"控制台">"系統管理工具">"服務"
選擇"Network List Service",依造下圖所示,選擇"啟動",大功告成囉!
以上是小弟所自行製作的教學,因為在網路上找幾乎都是殘破的教學,希望對有需要的人有很大的幫助!
轉錄於 此處
2009年9月15日 星期二
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
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",讓他運作即可.
2009年4月28日 星期二
做Vista與Linux雙系統
我在找如何安裝雙系統的同時看到了這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的介面後我嘗試了
可是看到True Image的介面後我嘗試了
裡面的步驟之簡單,十分容易上手
我也就這樣成功的備份了我的系統
至於還原麻,還沒有實作過~QQ
載點:
Seagate DiscWizard繁體中文版
http://www.seagate.com/www/zh-tw/support/downloads/discwizard/discwizard-eula
Seagate是與trueimage的廠商Acronis合作
所以才有這個免費版本使用
訂閱:
文章 (Atom)