ArÅŸiv Anasayfa API(Application Programming Interface)
Sayfalar: 1
Windowsun Kurulu Olduğu Klasörü Öğrenmek Gönderen: FetihlerFatihi Tarih: 13 May 2006 08:33:09
: Belirtilmemiş
Bu yazı yazarın Delphi’nin .NET uyumlu versiyonunu konu ettiği kitabının Api fonksiyonları adlı bölümün bir kısmıdır. http://www.seckin.com.tr/urun.aspx?productID=6451

Windows’un Kurulu Olduğu Klasörü Öğrenmek
Windows’un kurulu olduğu klasörü öğrenmek istiyorsanız GetWindowsDirectory() fonksi¬yonunu kullanabilirsiniz. Bu fonksiyon 2 parametreye sahiptir. Bu fonksiyon işle¬tildiğinde Windows’un kurulu klasörün adı fonksiyona ilk parametre olarak verilen karaktersel değiş¬kene aktarılmaktadır.

GetWindowsDirectory() fonksiyonu ilk parametre olarak StringBuilder tipinde bir değişke¬ni parametre olarak almaktadır. GetWindowsDirectory() fonksiyonuna ilk parametre olarak verilen değişkenin içerdiği bilginin uzunluğu fonksiyona 2. parametre olarak verilir. StringBuilder sınıfı System.Text adlı Namespace’te tanımlı olduğu için bu Namespace’i projeye dahil etmeniz gerekir.



GetWindowsDirectory() fonksiyonu geriye Windows’un kurulu olduğu klasörün adının karak¬ter sayısı olarak uzunluğunu vermektedir. Aşağıda verilen ekran görüntüsünü çalışma anında formdaki düğmede tıklama yapıp yukarıda verilen kodu işlettikten sonra aldım. Buradaki 15, Windows’un kurulu olduğu klasörünün tahmini uzunluğudur.



Çalışan programların gerek duyduğu DLL veya diğer sistem dosyalarının kurulu olduğu klasör öğrenilmek istendiğinde GetSystemDirectory() fonksiyonu kullanıl¬maktadır. Bu fonksiyonun nasıl kullanıldığını göstermek için forma 2. bir TextBox yerleştirdim ve yuka¬rıda verdiğim kodu aşağıdaki gibi düzenledim.



Bazen de çalıştırılan programın hangi klasörden çalıştırıldığı veya o sırada söz konusu program için hangi klasörün geçerli klasör olduğu öğrenilmek istenir. Bu gibi durumlarda ExtractFilePath() fonksiyonundan yararlanabilirsiniz. Bu fonksiyonun nasıl kullanıldığını aşağıda görebilirsiniz. Bu fonksiyon Delphi’nin Borland.Vcl.SysUtils adlı Namespace’de tanımlı olduğu için projeye dahil edilmelidir.

:
Var
   Yol : String;
begin
   Yol := ExtractFilePath(ParamStr(0));
   TextBox1.Text := Yol;
end;

Yukarıda GetWindowsDirectory() fonksiyonu ile Windows’un kurulu olduğu klasörü öğrenirken Borland.Vcl.Windows’tan yararlandım. Eğer bu Namespace’ten yararlanmadan GetWindowsDirectory() fonksiyonunu kullanmak istemiş olsaydım bu fonksiyonu aşağıdaki gibi deklare ederdim.