第一個問題:當(dāng)你登錄后,一個類似于C:\Program Files\LitWare的目錄會自動打開
原因:你的系統(tǒng)里存在兩個相鄰的目錄,其中一個是另一個的嚴(yán)格前綴,例如下面的兩個目錄:C:\Program Files\LitWareC:\Program Files\LitWare Deluxe
如果你去注冊表看看,你就會發(fā)現(xiàn)在HKEY_LOCAL_MACHINE\Microsoft\Windows\CurrentVersion\Run或者HKEY_CURRENT_USER\Microsoft\Windows\CurrentVersion\Run下面會有這么一個條目指向一個很長的目錄路徑,類似于下面的:Reminder=REG_SZ:C:\Program Files\LitWare Deluxe\reminder.exe
而且,你會發(fā)現(xiàn),上面的路徑中沒有引號來保護(hù)嵌入在路徑中的空格。這個會導(dǎo)致一個結(jié)果:LitWare Deluxe希望開機時自動啟動C:\Program Files\LitWareDeluxe\reminder.exe。但是,因為空格的原因,注冊表條目第一次被解析為:app = C:\Programcommand line=Files\LitWare Deluxe\reminder.exe因為上面的路徑是無效的,所以系統(tǒng)會使用如下解析方式進(jìn)行重試:app = C:\Program Files\LitWarecommand line=Deluxe\reminder.exe
這次的解析會成功,所以你會看到開機后自動打開了C:\Program Files\LitWare的目錄。解決方法就很簡答了:修改注冊表中的路徑,然后加上引號。
至程序員朋友:如果你的文件名或者文件路徑中包含空格,請記得加上引號。
第二個問題:當(dāng)你登錄后,一個名為desktop.ini的文件會被打開
原因:位于C:\Documents and Settings\All Users\Start Menu\Startuppp或者C:\Documents and Settings\yourname\Start Menu\Startup中的desktop.ini文件會丟失掉系統(tǒng)屬性和隱藏屬性。你可以到資源管理器的高級選項中禁用這一選項:”Hide protected operating system files (Recommended)”。
如果一個文件被設(shè)置為系統(tǒng)和隱藏屬性,則資源管理器將不在枚舉這個文件,因此用戶將不會看到它。如果你禁用了”Hide protected operating system files”,則這個規(guī)則就不會被執(zhí)行。
當(dāng)你登錄后,資源管理器需要做的一件事情就是枚舉啟動目錄(Startup)中的文件并嘗試運行它找到的每一個文件。如果desktop.ini沒有被設(shè)置為系統(tǒng)和隱藏屬性的話,它就會被資源管理器自動打開。
那么這個desktop.ini是干啥用的?這個文件是用來為WinXP的多語言界面(Multilingual User Interface)提供支持的,用來實現(xiàn)諸如修改系統(tǒng)顯示界面的語言的特性。例如,如果你說我想系統(tǒng)的顯示全部變成法語的,那么Windows將會翻譯系統(tǒng)的菜單,快捷鍵,對話框等為法語。這個文件將幫助Windows來翻譯”Startup”為法語,德語或者西班牙語等。
至程序員朋友:你可以使用SHSetLocalizedName這個API來為某個文件或者目錄來設(shè)置某種語言下的名字。
總結(jié)
系統(tǒng)不會在開機的時候隨機啟動一個程序,如果它恰巧會,則應(yīng)該是由某種原因?qū)е碌摹?/p>
-
電腦
+關(guān)注
關(guān)注
15文章
1743瀏覽量
69169 -
管理器
+關(guān)注
關(guān)注
0文章
248瀏覽量
18617
發(fā)布評論請先 登錄
相關(guān)推薦
評論