BSDestek ®

Would you like to react to this message? Create an account in a few clicks or log in to continue.
BSDestek ®

HERKES BİRGÜN ŞARKIMIZI DİNLEYECEK ®


    Birkaç Windows Uygulaması

    UFBAZARRATH
    UFBAZARRATH
    Forum Kurucusu

    Forum Kurucusu


    Kadın Mesaj Sayısı : 568
    Yaş : 32
    Nerden : cehennemin göbeğinden
    Hobiler : SİYASET KONUŞMAK
    Meslek : avara
    <fieldset><legend>Bilgiler</legend& : Birkaç Windows Uygulaması Ac10
    Takım : Birkaç Windows Uygulaması Gsgu1
    Adınız : EREN GÜNEŞ
    BS Puanınız :
    Birkaç Windows Uygulaması Left_bar_bleue0 / 1000 / 100Birkaç Windows Uygulaması Right_bar_bleue

    </fieldset></b>Mesaj : BS Destek
    Personalized field : Birkaç Windows Uygulaması Bayrakth6
    Kayıt tarihi : 25/07/08

    Birkaç Windows Uygulaması Empty Birkaç Windows Uygulaması

    Mesaj tarafından UFBAZARRATH Paz 27 Tem. 2008 - 21:08

    Birkaç Windows Uygulaması

    Aşağıda bir text dosyasının içeriğini okuyup ekrana mesaj kutusu halinde getiren küçük bir program bulunmakta. Daha fazla örnek için http://win32asm.cjb.net adresinde tutorial bölümünü veya arama yapmak istiyorsanız www.google.com adresini önerebilirim.

    Birkaç Windows Uygulaması Masmed02

    Ilk olarak data segment tanımlanmış. File ile gösterilen string diskten okunacak dosya ismini belirtiyor. Diğer ifadeler ise hatalar sırasında gösterilecek mesajları içeriyor. Karşısında ? bulunan bölümler ise program çalışma zamanında gerekecek değişkenleri işaret ediyor. fhandle: Açılan dosyanın handle numarasıdır. Okuma ve yazma işlemlerinde bize gerekecek. fsize : Dosya boyutu öğrenildiğinde buraya kaydedilecek. memptr : İşletim sisteminden bellek alanı istendiği zaman bu alanın adresini burada tutacağız. okundu : Bize pek gerekli değil ama kaç byte veri okunduğunu tutacak.

    CreateFileA apisi okumak veya yazmak amacıyla dosyaların açılması işlemini yerine getirir. Gerekli parametreleri geçiyorum, windows api help dosyalarında ayrıntılı bilgi bulabilirsiniz. Daha sonra eax registerine dosyanın handle numarası aktarılacak. Bizde daha sonra okuma yapacağımız için fhandle değişkenimize kaydediyoruz. cmp ile karşılaştırma yapılır. Eğer fhandle 0FFFFFFFF hexadecimal değerini almışsa bir hata oluşmuş demektir. Karşılaştırmadan sonra je ile eşit ise son adresine zıpla şeklinde işleme devam ediyoruz. Aşağıda 'son:' label'ı ile tanımlanan yere atlanırsa eğer burada hata mesajını gösteren bir MessageBox ve çıkış kodu yer alıyor. Hata yok ise alttaki komuta geçilir. GetFileSize ile dosya boyutu öğrenilir ve fsize değişkenine kaydedilir. GlobalAlloc ile dosya boyutu kadar bellek işletim sisteminden istenir, daha sonra buraya okunan veri yerleştirilecek. Yine burada bir hata oluşmuş ise 'sononce:' isimli label'a zıplanır. Burada açılmış olan dosya kapatılır, hata mesajı gösterilir ve program sonlanır. Burada da bir hata yok ise ReadFile api fonksiyonu gerekli parametreleri ile çağrılarak dosya okunur, dosyanın okunduğu adresdeki veri mesaj kutusu halinde ekrana yansıtılır ve programı sonlandırmak amacıyla 'bitti:' label'ı ile gösterilen adrese zıplanır. Derlenen dosyamızın boyutu 6kbyte dır. Program düzgün çalışıyor ama yine içinde küçük bir hata var, bakalım bulabilecek misiniz?

    Yazar : Engin Kuzu

      Forum Saati Ptsi 20 Mayıs 2024 - 8:43