Windows yanıt veriyormu?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Muhendiker
Üye
Mesajlar: 16
Kayıt: 01 Oca 2008 12:12

Windows yanıt veriyormu?

Mesaj gönderen Muhendiker »

Selamun Aleykum arkadaşlar..
Forumda arama yapıyım dedim ama arama bölümüne derdimi anlatamadım sanırım:)
Ben programımda belli aralıklarla Windows u kontrol etmek istiyorum..acaba yanıt veriyormu vermiyormu diye..Eğer yanıt vermiyorsa restart yaptırcam..Restart yapmada bi sorun yok ama ben Windows u neye göre kontrol ettirecem? bu konuda yardımcı olursanız sevinirimm..

(Windows XP kullanıyorum)

Kolay gelsin....
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
eğer windows yanıt vermiyorsa sizin programa nasıl yanıt verecek bunu düşündünüz mü?
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Muhendiker
Üye
Mesajlar: 16
Kayıt: 01 Oca 2008 12:12

Mesaj gönderen Muhendiker »

A.s Hocam
Bende aslında onu düşünüyorum.Şöyle anlatıyım mesela bazen masaüstü kitlendiğinde görev yöneticisinden explorer.exe yi sonlandırıyoruz ve tekrar çalıştırdığımızda masaüstü tazelenmiş oluyor..burda explorer.exe nin yanıt verip vermediğini nasıl anlarız?? bu şekilde windows un bazı uygulamalarının kontrolünü yapabilirmiyiz?
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

Arkadaşlar lütfen soru ve cevap haricinde yazmayalım, birbirine sataşma şeklinde tartışmalara girmeyelim. Diğer mesajlar silinmiştir :idea: - rsimsek

bunu incelemekte fayda var

Kod: Tümünü seç

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComObj, StdCtrls;

type
  TForm1 = class(TForm)
    btnLaunch: TButton;
    btnCheck: TButton;
    btnKill: TButton;
    procedure btnLaunchClick(Sender: TObject);
    procedure btnCheckClick(Sender: TObject);
    procedure btnKillClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    modObjIE : OLEVariant;
    modlngWndIE : THandle;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.btnLaunchClick(Sender: TObject);
begin
  modObjIE := CreateOleObject('InternetExplorer.Application');
  modObjIE.Visible := true;
  modObjIE.Navigate2('http://www.borland.com');
  modlngWndIE := modObjIE.hwnd;
end;

procedure TForm1.btnCheckClick(Sender: TObject);
var
 dwResult : DWORD;
 lngReturnValue : longint;
begin
   lngReturnValue := SendMessageTimeout(modlngWndIE, WM_NULL, 0,
      0, SMTO_ABORTIFHUNG OR SMTO_BLOCK, 1000, dwResult);
    If lngReturnValue > 0 then
        ShowMessage('Responding')
    Else
        ShowMessage('Not Responding');
end;



procedure TForm1.btnKillClick(Sender: TObject);
var
 ProcessID : DWORD;
 Process : THandle;
begin
  GetWindowThreadProcessId(modlngWndIE, @ProcessID);
  Process := OpenProcess(PROCESS_ALL_ACCESS, false, ProcessID);
  TerminateProcess(Process, 0);
end;

end.


Although the code is written for Internet Explorer, the idea can be used for other applications as well.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
 H : THandle;
 lngReturnValue : longint;
 DWResult : DWORD;
begin
 H := FindWindow('Notepad', nil);
 if H > 0 then
  begin
    lngReturnValue := SendMessageTimeout(H, WM_NULL, 0,
      0, SMTO_ABORTIFHUNG And SMTO_BLOCK, 1000, DWResult);
    if lngReturnValue > 0 then
     ShowMessage('Responding')
      else
       ShowMessage('Not responding');
  end
   else
     ShowMessage('Application not found');
end;

end.


En son ikutluay tarafından 04 Şub 2008 06:31 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Muhendiker
Üye
Mesajlar: 16
Kayıt: 01 Oca 2008 12:12

Mesaj gönderen Muhendiker »

rsimsek yazdı:Arkadaşlar lütfen soru ve cevap haricinde yazmayalım, birbirine sataşma şeklinde tartışmalara girmeyelim. Diğer mesajlar silinmiştir :idea: - rsimsek
Teşekkürler.
Kullanıcı avatarı
barutali
Üye
Mesajlar: 297
Kayıt: 02 Tem 2007 02:30

Mesaj gönderen barutali »

bu programı ne amaçlı kullancaksınız acaba sadece merakımdan soruyorum :)
amatör küme programcı :D
Muhendiker
Üye
Mesajlar: 16
Kayıt: 01 Oca 2008 12:12

Mesaj gönderen Muhendiker »

Bazı uygulamalar yanıt vermediğinde (donduğunda) pc ye restart yaptırarak, programın kaldığı yerden çalışmasına devam etmesi için.

Hayırlı teskereler..
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

Sorular ile sizi yormayalım ama. restart ettiğinizde program nasıl kaldığı yerden devam edecek, ayrıca XP daha dogrusu NT tabanlı sistemler de Kullanıcı girişi gerekirse v.s. program zaten çalışamazki.

Bu arada @Lanetli sanada şimdiden hayırlı teskereler. Jandarma olmak biraz daha zordur herhalde.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Muhendiker
Üye
Mesajlar: 16
Kayıt: 01 Oca 2008 12:12

Mesaj gönderen Muhendiker »

@conari, program Kiosk da çalışacak ve açılışta herhangi bi kullanıcı girişi yok.devam etme işi ise gerekli değerleri ini ye yazdırıp açılışta okutturuyorum.. anlaşılmıştır sanırım.

Saygılar
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

belirli bi programiin kilitlenip kilitlenmedigini anlamak

http://users.telenet.be/ws36637/response.html

daha fazlasi icin

detect windows responding determine kelimeleri ile google uzerinde deneme yapabilirsin
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Muhendiker
Üye
Mesajlar: 16
Kayıt: 01 Oca 2008 12:12

Mesaj gönderen Muhendiker »

@sadettinpolat hocam çok sağolun..


Saygılar
Kullanıcı avatarı
barutali
Üye
Mesajlar: 297
Kayıt: 02 Tem 2007 02:30

Mesaj gönderen barutali »

@Muhendiker açıklamanız için teşekkür ederim .

Bu arada çok saolun :)
Galiba şöför yapcaklar beni :)
amatör küme programcı :D
Cevapla