2008年12月27日 星期六

XP工具列修復工具

可以修復XP工具列所產生的問題...

當 explorer.exe 掛掉的時候 ..

會迅速的回復 工具列 ...

網址:
http://freebie.moonlightchest.com/taskbar_fix.asp

下載:
http://freebie.moonlightchest.com/xp_taskbar_desktop_fixall.vbs



...

2008年12月26日 星期五

作業系統檔案隱藏功能失效解決辦法

最近遇到一個問題..

也就是Windows檔案的隱藏功能失效..

工具>資料夾選項>檢視>其中

"隱藏保護的作業系統檔案(建議使用)"

這個功能失效....

雖然按下去打勾有取消或選取( 跟Kavo的情況不同 )..

可是再怎麼點選也跑不出隱藏檔案來...

上網找了很多,都說是中了 Kavo病毒 或是其變種 ...

下載了幾個來掃毒,但根本就沒有作用 ...

後來觀看了一些修改註冊表的方法 ... 還是沒有作用 ...

最後自己慢慢比對其他電腦正常註冊表的資料終於找到問題了 ...

其解決方法如下:

開始>執行>regedit.exe

到:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN

確定以下鍵值(如果不是則改回去)

CheckedValue : REG_DWORD : 2
DefaultValue : REG_DWORD : 2
Text : REG_SZ : @shell32.dll,-30501



HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL

確定以下鍵值(如果不是則改回去)

CheckedValue : REG_DWORD : 1
DefaultValue : REG_DWORD : 2
Text : REG_SZ : @shell32.dll,-30500



HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden

確定以下鍵值(如果不是則改回去)

CheckedValue : REG_DWORD : 0
DefaultValue : REG_DWORD : 0
UncheckedValue: REG_DWORD : 1
Text : REG_SZ : @shell32.dll,-30508

如此問題就解決了 ....


以下是註冊表:下載後直接點兩下修改註冊表
http://hk.geocities.com/quy1qk/show_hidden.zip




...

2008年12月13日 星期六

BCB編譯可讓其他電腦執行的執行檔

在BCB的IDE設定:

Project->Options->Linker頁面, Linking標籤中取消選擇 Use dynamic RTL

Project->Options->Packages頁面, Runtime packages標籤中取消選擇 Builder with runtime packages

如此就可以在其他電腦執行!!


...

2008年12月12日 星期五

BCB資料夾與檔案搜尋與處理

1.搜尋該資料夾內的資料夾與檔案
2.判斷是檔案還是資料夾

TStringList *lstFiles = new TStringList;
AnsiString str = "C:\\path1\\path2";
TSearchRec sr;

str += "\\*.*"; //尋找資料夾內的內容

if (FindFirst(str, faAnyFile, sr) == 0){
  do{
    lstFiles->Add( sr.Name );
  } while (FindNext(sr) == 0);
  FindClose(sr);
}

//到此已經取得該資料夾內的所有資料夾與檔案的名稱
//利用lstFiles->Strings[x]取得該名稱,
//lstFiles->Count則為該資料夾內的檔案的數目

for(int i=2;iCount;i++){
  if (FindFirst(str, faDirectory, sr) == 0){
    if(sr.Attr==faDirectory){ //判斷是否為資料夾
      //資料夾處理程式碼
    }else{
      //檔案處理程式碼
    }
  }
}

delete lstFiles;


參考資料:
http://www.programmer-club.com/pc2020v5/forum/showSameTitleN.asp?board_pc2020=cb&id=12081&keyword=


...

JavaScript計算中文與英文的字元長度

在JavaScript中有個內建函數 length ...
但是使用此函數無法判斷真正的字元長度 ...

例如:
"你好" 的長度 使用 length 計算出來是 2 而
"Key" 計算出來的長度是 3

由這裡就可以看出 ..
明明是"你好"的長度比較長,可是length函數所計算出來的長度卻比較短!

這是因為length函數把中文的一個字(兩個字元)當成一個長度...

網路上已經有解決方法,方法如下:定義新的原型函數

String.prototype.len=function()
{ return this.replace(/[^\x00-\xff]/g,"rr").length; }

定義後直接使用 len() 就可以計算出來全部的字元長度了!


參考資料:
http://www.cnblogs.com/PatrickChen/archive/2008/10/17/1313250.html


.

2008年12月11日 星期四

JavaScript偵測網頁的寬度與高度

網頁可見區域的寬度:document.body.clientWidth
網頁可見區域的高度:document.body.clientHeight
網頁可見區域的寬度(含邊框):document.body.offsetWidth
網頁可見區域的高度(含邊框):document.body.offsetHeight
網頁文章全文的寬度:document.body.scrollWidth
網頁文章全文的高度:document.body.scrollHeight
網頁捲軸的頂端位置:document.body.scrollTop
網頁捲軸的左邊位置:document.body.scrollLeft
網頁正文部分頂端位置:window.screenTop
網頁正文部分左邊位置:window.screenLeft
螢幕解析度的高度:window.screen.height
螢幕解析度的寬度:window.screen.width
螢幕可用工作區高度:window.screen.availHeight
螢幕可用工作區寬度:window.screen.availWidth

資料來源:
http://hi.baidu.com/ximeng/blog/item/5b935bdfebe30516495403f7.html

BCB彈出對話窗格

Application->NormalizeTopMosts();
Application->MessageBox("內容", "標題", MB_OK);
Application->RestoreTopMosts();

2008年10月20日 星期一

解決VMware運行Vista聲音問題

在VMware中安裝完Vista之後並沒有聲音..

這時候只要重新安裝音效的驅動程式..

並讓其從網路上自動搜尋驅動程式則可以解決.. >"<

2008年5月19日 星期一

VNC與XP遠端桌面相互使用切換問題

最近碰到一個以前曾經碰過的問題...

也就是XP遠端桌面 與 VNC 一起使用所產生的問題..

最早之前是喜歡用VNC來當遠端桌面...

而後來呢 使用XP內建的遠端桌面之後..

感覺他的速度比VNC快了許多...

所以就漸漸使用起XP內建的遠端桌面了....

但是有些時候 VNC 沒有辦法被取代 ....

就比如說這次同學他要從遠端桌面 ...

對Quartus II對Quartus進行Compile的時候 ....

出現~~~ 沒有遠端桌面 執行 的 license >"< ....

所以只能回去使用 VNC ...

但是... 重點來了 ....

當 使用 windows xp 內建的遠端 登入在登出之後

再使用VNC登入 ~~~ 只會看到 "一片漆黑" ~~~

使用Google , Yahoo , 百度 找了一半天(之前也找過放棄了) ~~~

都沒有人講說 為什麼 Window XP 與 VNC 會發生 衝突~~~

後來終於看到一篇英文的 在討論 Fast User Switching 的文章 ....

http://ask.slashdot.org/article.pl?sid=03/07/03/0048204

裡面 HereAllNight (645064) 的回答 , 才恍然大悟 .....

原來是我因為擔心安全性的問題所產生的 ...

之前在使用的時候..

我都把VNC 安裝 註冊成系統服務 而已 (我是使用UltraVNC )~~

並沒有開機啟動自動 執行 , 都是在電腦啟動後 ,

利用 XP遠端桌面去 登入電腦後才 開啟 VNC Server ,

這樣之後 再由XP遠端桌面登入 , 利用 Vncviewr登入 ,

這樣才產生 一片漆黑 , 什麼也沒有辦法動 ...

所以之後才重新安裝VNC 在選單之後選取 ..

(我使用 UltraVNC 1.0.4 版 )

========================================

[*] Register UltraVNC Server as a system service

[*] Start or restart UltraVNC service

========================================

之後再重新開機 ,

Windows XP內建的遠端桌面 與 VNC 就不會互相衝突了 .....

但是如此的話 , VNC 就有被攻擊的機會了 >"< ....

不過 衝突的問題可以解決了 ......

現在發現自己有點像丁丁 >"< 這問題也要花那麼多時間 .......