2009-07-11

GetHomeDir

在 Windows,我們可以透過謮取 registry 和環境變數拿到使用者的 My Documents. 下面是來自於 Tcler' Wiki 的 code,只是我自己有小修改一些,好符合我自己的環境。
proc GetHomeDir { } {
global env

# Check if we're using windows
if { [expr [string compare "$::tcl_platform(platform)" "windows" ] == 0] } {
package require registry 1.0

set env_home [registry get {HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders} {Personal}]
set userprofile [set env(USERPROFILE)]
regsub -all {[%]USERPROFILE[%]} $env_home $userprofile env_home
} else {
set env_home $env(HOME)
}

return $env_home
}

另外,如果要刪除 Opera 在 UserProfile 下的 cookie,可以這樣做:
set CookieFile [set env(USERPROFILE)]
append CookieFile {\Application Data\Opera\Opera\profile\cookies4.dat}

if {[file exists $CookieFile]==1} {
file delete $CookieFile
}

因為 AVG 會對這裡一直警告(即使我關掉 Cookie),所以要寫一個小程式殺掉檔案,避免他一直警告(不過話說回來,我已經不用 AVG 了)。

沒有留言: