Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Kubilay Kulaoğlu
Kubilay Kulaoğlu
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
9 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler:  Mobil Prog. Kubilay Kulaoğlu
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : Mobil Prog.
Yayınlanma Tarihi : 2.3.2004
Okunma Sayısı : 30089
Yorum Sayısı : 1     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 23.11.2024
Turhal Temizer
Mac OS/X Removing CUDA 23.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak 23.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi 23.11.2024
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
Mobil Cihazlarda Pil durumu Ve Platform Invoke
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Bu makalede mobil bir cihazda pil durumunun nasıl gösterilebileceğini ve Platform Invoke’ a giriş bölümlerini birlikte inceleyeceğiz.

Cihazin pil durumunu göstermek,özellikle dış ortam koşulları için hazırlanmış dayanıklı (Endüstriyel de denmektedir fakat Endüstriyel cihazlarla Handheld ler arasında fark mevcuttur.)cihazlarda kullanýcý için önem arz etmektedir. Örnek vermek gerekirse bir su saati okuyucusunu düşünün ; sürekli okuma ve tahhakkuk yapmakta olan biri için pil durumu çok önemlidir. Kullanıcı sürekli olarak sistemden gidip pil durumuna bakamayacağına göre bizim bu soruna bir çözüm üretmemiz gerekmektedir.Bu iþlemi yapmak düsündüğünüz kadar zor değildir.Biraz araþtýrma ve sabýrla üstesinden gelinemeyecek hiçbir sorun yoktur.

Platform Invoke terimini daha önceden duymuşsunuzdur. C#’ta yazdığımız programlarda özelliklede Handheld ve Endüstriyel cihazlar üzerinde bu özelligi çok fazla kullanıcağız. P/I desktop ve server taraflı windows sürümüyle uğraşmış kişiler için çokta yabancı olmayan bir özelliktir.

Öncelikle kodumuzun using kısmına asağıdaki kısmı ekliyoruz. Bu bize *.dll leri kullanmamızı sağlayacaktır.

using System.Runtime.InteropServices
Programın kodu

using System;
using System.Data;
using System.Runtime.InteropServices;
using System.Collections;

namespace power
{

       public class PowerCom
      {
          public PowerCom()
          {

          }
         public class SYSTEM_POWER_STATUS_EX
        {
               public byte ACLineStatus;
               public byte BatteryFlag;
               public byte BatteryLifePercent;
               public byte Reserved1;
               public uint BatteryLifeTime;
               public uint BatteryFullLifeTime;
               public byte Reserved2;
               public byte BackupBatteryFlag;
               public byte BackupBatteryLifePercent;
               public byte Reserved3;
               public uint BackupBatteryLifeTime;
               public uint BackupBatteryFullLifeTime;

         }
         [DllImport("coredll")]
         public static extern uint GetSystemPowerStatusEx(SYSTEM_POWER_STATUS_EX lpSystemPowerStatus, bool fUpdate);

     }


 }

public class SYSTEM_POWER_STATUS_EX sınıfına bakarsanız. Pil durumuyla ilgili olarak bir çok değer görürsünüz. Biz bu sınıf içerisinde bize dönmesi istediğimiz verileri tanımlıyoruz. Ve Bu sınıf sayesinde sistemde bulunan pille ilgili olarak bir çok bilgi alabiliriz. Buna sistemde bulunan yedek pilde dahildir. Bu sınıf içerisindeki değerleri Microsoft un ilgili makalelerinden edinebilirsiniz.

[DllImport("coredll")] satırıyla kullanmak istediğimiz herhangi bir dll’i çağırabiliriz.P/I la daha önceden uğraşmış olanlar fark edecektir ki, Windows9x/2000/xp deki kernel.dll yerini Wince core.dll almıştır. GetSystemPowerStatusEx fonksiyonuna çaðrý yapýlarak tanýmlamýþ olduðumuz sınıf içerisindeki bilgiler istenmiştir.Ben kodu ekte yolladım. Buradaki Dll bilesenini programınıza ekleyerek kullanabilirsiniz. Aşağıda herhangi bir programda bu dll’i nasıl kullanacağınızı gösteren bir örnek mevcuttur. Ben sonucu progressbarda gösterdim. Siz istediğiniz gibi kullanabilirsiniz.

power.PowerCom.SYSTEM_POWER_STATUS_EX PilDurum= new  power.PowerCom.SYSTEM_POWER_STATUS_EX();

if (power.PowerCom.GetSystemPowerStatusEx(PilDurum,false)==1)
{
          int a=PilDurum.BatteryLifePercent;
          progressBar1.Value=a;
}
Sürçü lisan ettiysem affediniz. Herkese iyi çalışmalar.

Kaynak : microsoft.com

Kısaltmalar

EVC++= embeded Visual C++

P/I= Platform Invoke

Kaynak Dosya : Power.zip

Makale:
Mobil Cihazlarda Pil durumu Ve Platform Invoke Mobil Programlama Kubilay Kulaoğlu
  • Yazılan Yorumlar
  • Yorum Yaz
TEM
10
2010
Teşekkürler hocam elinize sağlık çok güzel bi makale idi.
Sayfalar : 1 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor