Places Çubuğunu Özelleştirin
Murat Yıldırımoğlu,
Windows 2000 Magazine dergisinden çeviri
Win2K’in ve Office 2000’in Open diyalog kutusunda yer alan
Places çubuğunda yer alan klasörleri değiştirin
Microsoft, Windows 2000’de kullanıcı
arayüzüne (user interface; UI) bazı
yenilikler getirdi. Bu yenilikler genelde
kullanıcıların sistemle etkileşimini kolaylaştırma amacı taşıyordu. Bu yeniliklerin kullanışlılığı
başından beri tartışma konusu oldu. Özellikle HTML temelli Active Desktop, Windows NT
4.0 kullanıcıları için büyük bir yenilik
anlamına geliyor. Beğensek de, beğenmesek de yeni UI, bilgili kullanıcılara kendi masaüstlerini kişiselleşitmeleri için olanak sağlıyor, onların günlük işlerini daha verimli
yapabilmelerini sağlıyor.
UI’deki bu yeniliklerin bir tanesini nasıl özelleştirebileceğimize bir bakalım: Open diyalog kutusundaki Places (Yerler) çubuğu.
Open Diyalog Kutusu
Bazı
uygulamaların Open diyalog kutusunun Win2K’de, NT 4.0’dan farklı
şekilde açıldığı dikkatinizi çekmiştir. Win2K’in Notepad programından File, Open ile açtığım Open diyalog kutusu Şekil 1’de görülüyor.
Win2K’deki diyalog kutusunda
daha önceki sürümlerde olmayan bir öğe var:
Pencerenin sol tarafındaki dikey çubuk. Win2K yazılım geliştirme kitinde (software development kit;SDK) bu çubuğa Places çubuğu deniyor.
Places
çubuğu, kullanıcıların en çok eriştikleri klasörlere bir tıklamayla ulaşabilmelerini amaçlıyor. Bu çubukta en çok beş düğme olabiliyor ve herbir düğme
ayrı bir sistem klasörüne işaret ediyor. Bu
düğmelerden herhangi birine bir kez
tıkladığınızda seçili klasörün içeriği görüntülenir.
Places çubuğu varsayılan olarak şu klasörleri
içerir: History, Desktop, My Documents, My Computer ve My Network Places. History klasörü en son erişilen belgeleri ve klasörleri
içerir. Bu yüzden, son açılan dosyaları ilk olarak burada arayabilirsiniz. Kullanıcıların çoğu diğer dört klasöre de sık sık erişirler.
Places
çubuğunun varsayılan şekli kullanıcıların çoğunu tatminedecek şekildedir. Ama bu varsayılan şekil size uymayabilir. Uymuyorsa Places
çubuğunu özelleştirmek isteyebilirsiniz.
Places Çubuğunu Değiştirme
Places çubuğundaki klasörlerin
bilgisini Kayıtta ya da başka
bir yerde açık olarak görüntülenir
şekilde bulamazsınız. Bu yüzden Kayıtta
epey bir yeri değiştirmek gerekir.
Places çubuğu sistem düzeyinde
bir kaynak olarak değerlendirilir. Bu yüzden Places klasörlerini
değiştirdiğinizde Places çubuğunun
içeriğini tüm Win2K uygulamaları için değiştirmiş olursunuz. Yani, Notepad için ayrı, Paint için ayrı bir
klasör grubu tanımlayamazsınız. Win2K altında çalışan tüm programlar aynı klasör listesine
sahip olacaklardır; ya başlangıçta var olan standart
liste ya da değiştirilmiş liste. (Microsoft Office 2000 programları farklı klasörlere sahip oalbilirler ama bu konuya ilişkin
bilgiyi daha sonra vereceğim.)
Places
çubuğu için yeni bir klasör
grubu belirlemenin ilk adımı sisteme varsayılan
listeyi istemediğinizi söylemektir. Bir kayıt editörü ile
HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Policies\ComDlg32\Placesbar altanahtarını yaratın. (Policies altanahtarı sizde
zaten bulunuyor olabilir ama ComDlg32 altanahtarı bulunmaz.) Bu altanahtarı yarattıktan
sonra bir programın Open diyalog kutusuna bakarsanız Place çubuğunun boş olduğunu
göreceksiniz. Placesbar altanahtarı
Win2K’e standart çubuk içeriğini istemediğinizi gösterir. Henüz hangi klasörleri
istediğinizi de söylemediniz.
Placesbar
altanahtarı altına Place0 ile Place4 arasında beş adet
kayıt girebilirsiniz. Buraya Place5 ya da Place6 gibi
başka kayıtlar girebilirsiniz ama Win2K bunları değerlendirmez. Klasör kayıtlarını sırayla girmelisiniz; yani, Place0’dan sonra Palce1’i atlayıp Place2’yi girmemelisiniz. Bu şekilde giriş yapılırsa
Places çubuğunda klasörler tahmin edilemez bir şekilde görünürler.
Placesbar altanahtarına
klasör bilgisi girerken var olan
klasörleri göstermenin bir yolu klasörlerin
tam adresini bir karakter dizisi (string) olarak vermektir. Bu şekildeki Kayıt değerinin tipi REG_SZ şeklinde olmalıdır (
Buraya gerçek
adresleri değişebilen ya da anımsaması
güç olan sistem klasörlerini de yazabilirsiniz. (Düşünmeden söyleyin bakalım, My Documents klasörü gerçekte hangi klasöre karşılık gelir?) Eğer My Documents ya da Favorites klasörü için bir
kayıt girmek istiyorsanız bu türlü klasörlerin sayısal kimlik numarasını kullanabilirsiniz. Microsoft Bu kimlik numaralarını
CSIDL olarak adlandırıyor.
Tablo 1’de
sık kullanılan sistem klasörlerinin kimlik numaraları görüntüleniyor. Bu türlü yerleri belirtmek
için Placesbar altanahtarında REG_DWORD tipinde kayıtlar yaratın.
Places Çubuğunu Özelleştirmeyi
Otomatikleştirme
Liste
1’de Places çubuğundaki yerleri
okumayı ve değiştirmeyi sağlayan, setplaces.vbs adında küçük bir VBScript uygulaması görünüyor. İlk betik değiştirmek istediğiniz klasör sayısını soruyor.
Setplaces.vbs, hata
yönetimiyle ilgilenmiyor.
Kullanıcı arayüzü de oldukça kaba.
Liste 2’de restoredefaultplaces.vbs
betiği görüntüleniyor.
Bu betik Placebar
altanahtarını siliyor, dolayısıyla varsayılan yerlere kavuşuyoruz. Siz ya da bir
uygulama yaratmadıkça Placesbar altanahtarı bulunmaz. Placesbar altanahtarı yoksa
da Places çubuğunun içeriği varsayılan klasörlere döner.
Office 2000’deki Places Çubuğu
Yukarda
açıkladığım Kayıt değişiklikleri Win2K ortak diyalog kütüphanesindeki diyalog kutularını kullanan uygulamaları etkiler. Office 2000 uygulamaları
bunları değil kendilerine özel bir kütüphaneyi kullanır. Bu yüzden yukardaki işlemler Word ya da Excel programlarındaki
çubuklar üzerinde bir etkiye sahip
değildir.
Neyse ki
Office 2000’de de Place çubuğunu kişiselleştirmek
için bir yol bulunmaktadır. İlgili Kayıt altanahtarı
HKEY_
CURRENT_USER\Software\Microsoft\Office\9.0\Common\Open
Find\Places’dır. Ama Places çubuğunu
özelleştirmek için bu altanahtarı bilmek zorunda değilsiniz. Microsoft, Office 2000
uygulamalarının Places çubuğunun
içeriğini değiştirmek için güzel bir
program sağlamaktadır. Bu programın
adı places.exe’dir ve uygulamaların Tools menüsüne eklenebilir. Bu
program hakkında Microsoft’un
http://support.microsoft.com/
support/kb/articles/q260/1/90.asp adresindeki
“INFO: Places COM Add-In for Office 2000 Available for Download” (INFO: Office 2000 İçin Places COM eklentisi İndirilebilir) başlıklı makalesinde bilgi bulabilir ve buradan
indirebilirsiniz. İndirilen paket
içinde bu programın VB kaynak koduyla ve bir
readme.doc belgesiyle bulunmaktadır.
İndirdikten ve
yeni bir klasöre bu paketi
açtıktan sonra üstüne çift tıklayın.
Sonra Start, Run’dan şunu yazın:
regsvr32 <adres>\places.dll
Karşınıza
çıkan kutuda OK’e basarak o klasörde bulunan programı (places.dll) kaydettirin.
Iyi
bir yazılıma giden yol iddialı
niyetlerle ve bazen de güzel programlarla döşenmiştir. Places çubuğu zamandan
kazandıran bir özellikletir. İçindeki klasörleri değiştirerek
bu özelliğin sizin için daha
anlamlı olmasını sağlayabilirsiniz. Şu anda
Win2K ve Office 2000 içindeki
çubukları özelleştirmeye yetecek bilgiye sahipsiniz.
Dino Esposito Roma’da çalışan bir eğitmen
ve danışmandır. Zamanının çoğunu ASP.NET ve ADO.NET kavramlarını öğreterek ve kitap yazarak
geçirmektedir. En yeni kitabı Professional ASP Data
Access adını taşımaktadır (Wrox Press). Kendisine dino@win2000mag.com adresinden ulaşabilirsiniz.
ARA METİN:
ŞEKİL 1:
Places çubuğuna sahip
bir Open diyalog kutusu
TABLO 1: Sistem klasörleri
ve onların kimlik numaraları
Klasör ID
Fonts 20
Recycle Bin 10
My Computer 17
Dial-up 49
Printers 4
Favorites 6
Send To 9
My Pictures 39
History 34
My Network Places 18
My Documents 5
Windows 36
LİSTE 1: Setplaces.vbs
‘ Constants
const APP_TITLE = “SetPlaces”
const REG_PLACESBAR =
“HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ComDlg32\Placesbar\”
‘--------------------------------
Dim place ‘ contains the Place number
Dim canContinue ‘ boolean guard
‘ Attempt to get the number of the
place to work on.
canContinue = True
While canContinue
place
= InputBox(“Enter the place number (0 thru 4)”,
APP_TITLE, 0)
‘ You
canceled the dialog.
If place = “” Then
WScript.Quit
End If
If place > 4 Then
MsgBox
“Invalid place number!”, 16, APP_TITLE
Else
‘ Got
a valid place number, now read info from the registry.
ChangePlace
place
End If
Wend
‘--------------------------------
‘ ChangePlace (place)
‘--------------------------------
Sub ChangePlace (place)
Dim shell, curPath,
buf, rc,
newPath, theType
Set shell = CreateObject(“WScript.Shell”)
On Error Resume Next
curPath = shell.RegRead(REG_PLACESBAR
& “Place” & place)
On Error Goto
0
‘ Ensure
a default value.
If curPath
= “” Then curPath = “the default item”
buf = “”
buf = buf & “Place”
& place & “ is currently set to “ & _
Chr(34) & curPath & Chr(34) & vbCrLf & vbCrLf & _
“Click YES to set a file
system folder” & vbCrLf & _
“Click NO to set a
special system folder” & vbCrLf & _
“Click CANCEL
to exit”
rc = MsgBox(buf, 3, APP_TITLE)
‘ YES=6,
NO=7, CANCEL=2
If rc = vbCancel Then Exit Sub
‘ Change
the place.
Select Case rc
Case vbYes
newPath = InputBox(“Enter
the new folder path”, APP_TITLE, curPath)
If newPath
= “” Then Exit Sub
theAşağıdaki komutu yazın:= “REG_SZ”
Case vbNo
buf = “”
buf = buf & “Choose the
new folder.” & vbCrLf & vbCrLf
& _
“5 - My
Documents” & vbCrLf & _
“6 - Favorites” & vbCrLf & _
“17 - My
Computer” & vbCrLf & _
“18 - My
Network Places” & vbCrLf & _
“36 - Windows”
& vbCrLf & _
“34 - History”
newPath = InputBox(buf, APP_TITLE, curPath)
If newPath
= “” Then Exit Sub
theAşağıdaki komutu yazın:= “REG_DWORD”
End Select
shell.RegWrite
REG_PLACESBAR & “Place” & place, newPath, theType
End Sub
LISTING 2: Restoredefaultplaces.vbs
‘ Constants
const APP_TITLE = “ RestoreDefaultPlaces “
const REG_PLACESBAR =
“HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ComDlg32\Placesbar\”
‘ Would you like to proceed?
rc = MsgBox(“Click OK to restore the standard configuration “
& _
“for
the File Open Places Bar.”, 1, APP_TITLE)
If rc <> 1
Then
WScript.Quit
End If
‘ Delete any registry tree under
Policies\ComDlg32. This step will reenable
‘ the standard configuration.
Set shell = CreateObject(“WScript.Shell”)
‘ You might have the standard
configuration already.
On Error Resume Next
shell.RegDelete(REG_PLACESBAR)
‘ Done
MsgBox “Done”, ,
APP_TITLE