bilgisayar kullanılmıyorsa otomatik kapansın????????
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
bilgisayar kullanılmıyorsa otomatik kapansın????????
Şuan programlama da yeni olduğumdan isteğimi yerine getiremedim.Isteğim eğer bilgisayarım 10 dakikadan buyana kullanılmıyorsa otomatikmen kapanması.Fakat bilgisayarın kullanılıp kullanılmadığını sorgulayamadım.Bunu nasıl yapabilirim?
Şimdiden teşekkürler...
Şimdiden teşekkürler...
Screensaver larla ilgili bir araştırma yap, nezaman devreye girdiklerini araştırırsan istediğini karşılar. bilgisayarı kapatma konusundada çok fazla örnek var
Kolay gele
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Bir fikir olarak veriyorum Mouse Hareketlerini ve Klavye tuşlarının hareketlerini takip ederek yapabileciğin kanısındayım.
Kolay Gelsin...
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Mouse ile ilgili olayı burada bulabilirsin.
viewtopic.php?t=1543&start=0
Yapman gereken Mouse hareketli olduğu zaman değişkene atadığın değeri 0 layacaksın mouse hareket etmediği zaman şartına uyan koşul ile karşılaştırma yapacaksın hareket ediyorsa değişkeni tekrar sıfırlayacaksın.
Tuş olayı içinde aynı şey gecerli.
Kolay Gelsin...
viewtopic.php?t=1543&start=0
Yapman gereken Mouse hareketli olduğu zaman değişkene atadığın değeri 0 layacaksın mouse hareket etmediği zaman şartına uyan koşul ile karşılaştırma yapacaksın hareket ediyorsa değişkeni tekrar sıfırlayacaksın.
Tuş olayı içinde aynı şey gecerli.
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
- @husonet bir şeyi atlıyoruz... Bu verdiğin linkteki kod sadece ve sadece program formu üzerindeki mouse harekletlerini algılar...
- @incsoft'un parmak bastığı konu da çözümlerden biri... Hook fonksiyonu sadece kendi formunuz üzerindekiler değil, windows desktop olsun, başka bir program olsun onun üzerindeki mouse hareketlerini de algılar...
- Ya screensaver kontrolü ya da windows message hook fonksiyonu. Bu ikisinde çözüm arayacaksınız...
- @incsoft'un parmak bastığı konu da çözümlerden biri... Hook fonksiyonu sadece kendi formunuz üzerindekiler değil, windows desktop olsun, başka bir program olsun onun üzerindeki mouse hareketlerini de algılar...
- Ya screensaver kontrolü ya da windows message hook fonksiyonu. Bu ikisinde çözüm arayacaksınız...
Hocam düşündümde hakısınız uyarınız için teşekkür ederim.
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
elimdeki bir kitabı karıstırırken buldum ama denemedim
denerseniz sonucu buradan bildirin
denerseniz sonucu buradan bildirin
Bir ekran koruyucu çalışmaya başlamadan önce “WM_SYSCOMMAND” mesajı gönderir. Bu mesaj yakalanarak ekran koruyucunun devreye girmesi engellenir. TApplication nesnesinin OnMessage. Olayı yerine kullanılacak yeni bir davranış yaratıp bu mesajı herkesden önce yakalayabiliriz.
Bu işlem şöyle olur.
Daha sonra ana formun OnCreate davranışı içerisinde,Kod: Tümünü seç
procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
Application.OnMessage := AppMessage;
Appmessage yordamında yakalanan mesajın WM_sysCommand ve Wparam değerinin de SC_ScreenSave olup olmadığı kontrol edilir. Eğer öyle ise, Handled parametresi True yapılarak, o mesajın işlem gördüğü imajı yaratılarak, windows’un ekran koruyucuyu başlatması engellenir.Kod: Tümünü seç
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean); begin if (Msg.Message = WM_SYSCOMMAND) and ((Msg.wParam) = SC_SCREENSAVE) then begin Handled := True; end; end;
ÜŞENME,ERTELEME,VAZGEÇME
Benim aklıma değişik bir fikir geldi. şimdi şu kodları al
Formun formcreate olayına yapıştır.Programı derle
daha Sonra programın uzantısını scr olarak değiştir.
dosyayı örneğin kapa.scr windowsun bulunduğu klasöre kopyala
sonra da özellikler ekran koruyuculardan kaç dakika istiyorsan ayarla.
ekran koruyucu gibi devreye girince bilgisayar kapanır denemedim ama olur bence.. koaly gelsin.
function ShutMeDown:string;
var
hToken : THandle;
tkp,p : TTokenPrivileges;
RetLen : DWord;
ExReply: LongBool;
Reply : DWord;
begin
case Win32Platform of VER_PLATFORM_WIN32_WINDOWS: //***Windows 9x/ME***//
begin
ExReply:= ExitWindowsEx(EWX_POWEROFF or EWX_SHUTDOWN or EWX_FORCE,0);
if ExReply then
Result:='Shutdown Initiated'
else
Result:='Shutdown failed with ' + IntToStr(GetLastError);
end;
VER_PLATFORM_WIN32_NT: //***Windows NT/2000/XP***//
begin
if OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken) then
begin
if
LookupPrivilegeValue(nil,'SeShutdownPrivilege',tkp.Privileges[0].Luid) then
begin
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Attributes :=
SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,False,tkp,SizeOf(TTokenPrivileges),p,RetLen);
Reply := GetLastError;
if Reply = ERROR_SUCCESS then
begin
ExReply:= ExitWindowsEx(EWX_POWEROFF or EWX_FORCE, 0);
if ExReply then
Result:='Shutdown Initiated'
else
Result:='Shutdown failed with ' + IntToStr(GetLastError);
end;
end;
end;
end; //case bitişi
end;
end;
Formun formcreate olayına yapıştır.Programı derle
daha Sonra programın uzantısını scr olarak değiştir.
dosyayı örneğin kapa.scr windowsun bulunduğu klasöre kopyala
sonra da özellikler ekran koruyuculardan kaç dakika istiyorsan ayarla.
ekran koruyucu gibi devreye girince bilgisayar kapanır denemedim ama olur bence.. koaly gelsin.
function ShutMeDown:string;
var
hToken : THandle;
tkp,p : TTokenPrivileges;
RetLen : DWord;
ExReply: LongBool;
Reply : DWord;
begin
case Win32Platform of VER_PLATFORM_WIN32_WINDOWS: //***Windows 9x/ME***//
begin
ExReply:= ExitWindowsEx(EWX_POWEROFF or EWX_SHUTDOWN or EWX_FORCE,0);
if ExReply then
Result:='Shutdown Initiated'
else
Result:='Shutdown failed with ' + IntToStr(GetLastError);
end;
VER_PLATFORM_WIN32_NT: //***Windows NT/2000/XP***//
begin
if OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken) then
begin
if
LookupPrivilegeValue(nil,'SeShutdownPrivilege',tkp.Privileges[0].Luid) then
begin
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Attributes :=
SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,False,tkp,SizeOf(TTokenPrivileges),p,RetLen);
Reply := GetLastError;
if Reply = ERROR_SUCCESS then
begin
ExReply:= ExitWindowsEx(EWX_POWEROFF or EWX_FORCE, 0);
if ExReply then
Result:='Shutdown Initiated'
else
Result:='Shutdown failed with ' + IntToStr(GetLastError);
end;
end;
end;
end; //case bitişi
end;
end;
Selam...
- Hafızam yanıltmıyorsa IncSoft'un çalıştığı Vivana Internet Cafe'deki çalışması için yaptığı programı ile tam senin dediğin tarzda bir çalışması olmuştu...
- Başka bir Delphi forumunda detaylı bir cevap yazmıştım.. Kendisi çözümünü yaptığı bu tekniği eminim ki seninle ve forumla paylaşacaktır...
- Kendisi için oldukça geniş bir vakit ayrımıştım. Şimdi benzeri bir durum için bize vakit ayırırsa ayrıca mutlu olucam... Yaptıklarımızın semeresi bu olur umarım...
- Hafızam yanıltmıyorsa IncSoft'un çalıştığı Vivana Internet Cafe'deki çalışması için yaptığı programı ile tam senin dediğin tarzda bir çalışması olmuştu...
- Başka bir Delphi forumunda detaylı bir cevap yazmıştım.. Kendisi çözümünü yaptığı bu tekniği eminim ki seninle ve forumla paylaşacaktır...

- Kendisi için oldukça geniş bir vakit ayrımıştım. Şimdi benzeri bir durum için bize vakit ayırırsa ayrıca mutlu olucam... Yaptıklarımızın semeresi bu olur umarım...
Atlanılan bir şey var. Bilgisayar mouse ve klavye ile kullanılmıyor olabilir; ama arka planda bir program iş yapıyordur belki. Anti-virüs programımı çalıştırmış hatta scandisk ediyor olabilirim bilgisayarı veya da film izliyor olabilirim. O zaman tuş veya mouse hareketi işe yaramaz.
En iyi fikir CPU'nun kullanım değerini alarak ona göre iş yapmaktır.
En iyi fikir CPU'nun kullanım değerini alarak ona göre iş yapmaktır.