folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder C# Timer Ve Keypress Sorunu



C# Timer Ve Keypress Sorunu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mythbusters
    Mythbusters's avatar
    Kayıt Tarihi: 07/Aralık/2007
    Erkek

    bu aralar sizi oldukça sıktım c#konularıyla müridler fakat bir basit konu daha var...

    aşağdaki kodlar start butonuna basılınca bip sesi çıkarıyor fakat burda yapmak istediğim bip sesinin çıktığı saat dakika saniye ve milisaniyeyi kayıt altında tutmak bir txt dosyasında. ve klavyeden ''j'' tuşuna basılana kadar bip sesini devam ettirmek. burda do while mı kullanılır nasıl olur engin bilgilerinize tbt ailesi. makaleyi yayınlıyabilirsem bu siteye armağan edicem :) bu arada bu bip sesi her 53 saniyede bir başlamalı

     

     

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Windows.Forms;

     

    namespace BEEP_app

    {

        public partial class Form1 : Form

        {

            public Form1()

            {

                InitializeComponent();

            }

     

            private void button1_Click(object sender, EventArgs e)

            {

                

                Console.Beep(2000, 300);

                Console.Beep(3000, 300);

                Console.Beep(100, 100);

            

                  

               

            

           

            } 

        }

    }

    MOD: Lütfen konu başlığını açıklayıcı bir şekilde yazalım.


    soralım öğrenelim, öğrenelim soralım.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    crafty
    crafty's avatar
    Kayıt Tarihi: 19/Eylül/2006
    Erkek

    hacım yatacam şimdi o yüzden kodlama işini sana bırakıyorum ama mantık basit

    öncelikle timer ekleyeceksin formuna ve bunun intervalini 53000 e ayarlayacaksın

    bip sesini çıkaran kodların timerin içerisinde olacak

    timer her tetiklendiğinde dosyana kayıt işlemini de buradan yaptıracaksın :D

    start tuşunun kodlarında timer a start vereceksin ancak eğer start tuşunu enable = false yapmayacaksan timerin busy durumunu kontrol ettir 

    ikinci bir timer ekleyeceksin intervali 20 ye ayarla

    key press modunu denetleyeceksin burada char code da istediğin değeri yakaladığında 1. timeri stop ettireceksin

    yapamadığın yer olursa mesaj at yarın akşam bakarım

    kolay gelsin

    charcode tablosu

    http://msdn.microsoft.com/en-us/library/4z4t9ed1(v=vs.80).aspx

    crafty tarafından 02/Tem/14 23:46 tarihinde düzenlenmiştir

    Kasnak yuvarlandı elek oldu, eski orospular melek oldu...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    http://www.tahribat.com/Forum-C-Ile-Yazilan-Keylogger-196096/ 

    EDİT: şimdi farkettim, sadece tuş vuruşları yetmiyomuş.

    http://msdn.microsoft.com/tr-tr/library/system.datetime.now(v=vs.110).aspx

    wasd tarafından 02/Tem/14 23:52 tarihinde düzenlenmiştir

    :)
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek

    Konu dışı: aman hocam ne demek sayende forum biraz bilişim forumu oluyor. Anasayfada programlama dili ismi geçiyor. Aklına takılan herşeyi sor ben cevaplayamasam da başlığı görmek bile mutlu ediyor

    edit: telefonda yazdığım yazım yanlışları...

    by_Tet tarafından 03/Tem/14 00:19 tarihinde düzenlenmiştir

    iyibu! yeniden..
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mythbusters
    Mythbusters's avatar
    Kayıt Tarihi: 07/Aralık/2007
    Erkek
    by_Tet bunu yazdı

    Konu dışı: aman hocam ne demek sayende dorum biraz bilişim forumu oluyor. Anasayfada programlama dili ismi geçiyor. Aklına takılan herieyi sor ben cevaplayamasam da başlığı görmek bile mutlu ediyor

    Saol hocam boyle zamanlarda tahribat tek dayanak valla.


    soralım öğrenelim, öğrenelim soralım.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    crafty
    crafty's avatar
    Kayıt Tarihi: 19/Eylül/2006
    Erkek

    forma bir adet button ve iki adet de timer ekleyin aşağıdaki kodları yazın :D

    kaynak kod : https://www.dropbox.com/s/x3li4wewz6zbbct/mythbusters.rar

    edit : kaynak dosyası da güncellendi :D biz miskin milletiz kod düzeltmeyle kimse uğraşmaz dedim :D İndirmeye üşenene kodlar aşağıda :D

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.IO; //Dosya Yazma İşlemi İçin Kütüphane
    using System.Linq;
    using System.Runtime.InteropServices; //Dll Import İşlemi İçin Kütüphane
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace mythbusters
    {
        public partial class mythbusters : Form
        {
            [DllImport("user32.dll")]
            private static extern short GetAsyncKeyState(System.Int32 vKey); //Klavyeden Basılan Tuşu Yakalayan Fonksiyonun Eklenmesi
            private bool status; //Ötüp Ötmeyeceğini Belirlediğimiz Durum
            public mythbusters()
            {
                InitializeComponent();
                TBeeper.Interval = 53000; //Sesi Çalacak Olan Zamanlayıcının Süresi
                TListener.Enabled = true;
                TListener.Interval = 1; //Klavyeden Basılan Tuşu Yakalayacak Olan Zamanlayıcının Süresi
                TListener.Start();
                status = false; //Program Açıldığında Ses Çıkarmaması İçin False Olarak İşaretledik
            }
    
            private void TBeeper_Tick(object sender, EventArgs e)
            {
                Console.Beep(2000, 300);
                Console.Beep(3000, 300);
                Console.Beep(100, 100);
                string url = Application.StartupPath + "/log.txt"; //Application.StartupPath Programın Çalıştığı Dizini Bulur
                if (File.Exists(url) == false) //log.txt Yoksa Yaratıyoruz
                {
                    File.Create(url).Dispose();
                }
                FileStream fs = new FileStream(url, FileMode.Append);
                StreamWriter sw = new StreamWriter(fs);
                sw.WriteLineAsync("---------------------------------------------------------");
                sw.WriteLineAsync("Çaldığı Saat : " + DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff"));
                sw.WriteLineAsync("---------------------------------------------------------");
                sw.Close();
                fs.Close();
            }
    
            private void TListener_Tick(object sender, EventArgs e)
            {
                for (Int32 i = 1; i < 256; i++)
                {
                    Int32 key = GetAsyncKeyState(i);
                        if (key == -32767)
                        {
                            if ((i==74) || (i==106))
                            {
                                if(status==false) //J Tuşuna basıldığında durum False ise zamanlayıcımızı aktif hale getiriyoruz
                                {
                                    TBeeper.Enabled = true; //Sesi Çaldırmak İçin Zamanlayıcıyı Açıyoruz
                                    TBeeper.Start();
                                    status = true; //Sesi Çaldığımız İçin Durumu True Ayarlıyoruz
                                    label1.Text = "Status : Active"; //Formdaki Labelda Durumumuzu Belirtiyoruz
                                    label1.ForeColor = System.Drawing.Color.Green;
                                }
                                else //J Tuşuna basıldığında durum True ise zamanlayıcımızı pasif hale getiriyoruz
                                {
                                    TBeeper.Stop(); //Çalmayı İptal Etmek İçin Zamanlayıcıyı Kapatıyoruz
                                    TBeeper.Enabled = false;
                                    status = false; //Çalmayı İptal Ettiğimiz İçin Durumu False Ayarlıyoruz
                                    label1.Text = "Status : Deactive"; //Formdaki Labelda Durumumuzu Belirtiyoruz
                                    label1.ForeColor = System.Drawing.Color.Red;
                                }
                            }
                        }
                }
            }
        }
    }
    
    crafty tarafından 04/Tem/14 21:30 tarihinde düzenlenmiştir

    Kasnak yuvarlandı elek oldu, eski orospular melek oldu...
Toplam Hit: 1034 Toplam Mesaj: 6