Bu site emekli olmuştur. Arşiv amaçlı olarak
BT AKADEMİ
sponsorluğunda yayın hayatına devam etmektedir.
Ana Sayfa
.net TV
Makaleler
Kaynak Kod
Haberler
Serbest Köşe
Canlı Köşe
Forum
C#nedir?
Ekibimiz
RSS
ADO.NET/SQL
Mobil Prog.
YAZAR HAKKINDA
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ı
:
29211
Yorum Sayısı
:
1
yorum yaz
SİTE İÇİ ARAMA
Ü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.
C#nedir? hesabınız yok mu?
Üye olabilmek için
tıklayın
.
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.
Silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
Bende Yazmak İstiyorum
Blogroll
Turhal Temizer
Conda install environment.yml Package
8.9.2024
Turhal Temizer
Mac OS/X Removing CUDA
8.9.2024
Burak Selim Şenyurt
Rust, WASM, Web Api ve Can-Ban Board !
8.9.2024
Burak Selim Şenyurt
Kurumsal Yazılımcının Oyun Geliştirme ile İmtihanı
8.9.2024
Diğer Herşey
»
Makaleler RSS
»
Video Gönder
»
Makale Gönder
»
Serbest Köşeye Yazı Gönder
»
Yazar Başvurusu
»
C#nedir? Ekibinde Olmalıyım!
Sponsorlar
Ana Sayfa
/
Makaleler
/
Kubilay Kulaoğlu
/
Mobil Prog.
/
Mobil Cihazlarda Pil durumu Ve Platform Invoke
Mobil Cihazlarda Pil durumu Ve Platform Invoke
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
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
MrtHan Brr
/
üye hakkında
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
Dizayn ve Kodlama
bt
akademi
. Tüm Hakları Saklıdır © Copyright 2002-2009 c#nedir?com
Makaleler
Serbest Köşe
Makale Gönder
.Net TV
Video Gönder
Canlı Köşe
Kaynak Kod
Forum
Haberler
Röportajlar
Anketler
C# Nedir?
İletişim
Site Haritası
RSS
Favorilere Ekle
Üyelik
Hesap Aktivasyon
Ekibimiz
Ekibe Katıl