Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi tarafından çağrılan programın süresini bulma
#1
İyi günler.

Kendi şirketimizde kullanmak için bir program yazmamız gerekiyor.
Müşterilerimize uzak destek veriyoruz. Ammy.exe ve Alpemix.exe kullanıyoruz.
Verilen destek süresini almak istiyorum.
aşağıdaki kodu örnek olarak yazdım ihtiyacımız delphi den  bir exe çalıştırıp işi bitip
kapatınca aradaki süreyi bulmak istiyorum.
Öğrenmek istediğim  delphi den exe kapatıldığını yakalayabilir miyim.
yada bu konuda tecrübeli olan arkadaşlar izlemem gereken yol hakkında öneride buluna bilir mi ?
Not : Aynı anda aynı bilgisayardan birden fazla Ammy veya alpemix açıyoruz.

Killtask adlı bir fonksiyon ile program içerisinden exe dosyayı sonlandırabiliyorum.
ama aynı exe birden fazla olunca hangi exe hangi müşteride bağlı bulamıyorum.


procedure Tip_form.Button3Click(Sender: TObject);
begin
 if fileexists(cal_yol + '\ammyy.exe') then 
 begin
   winexec('ammyy.exe', SW_MAXIMIZE);
   exit;
 end;

 if fileexists(cal_yol + '\Alpemix.exe') then
 begin
   winexec('Alpemix.exe', SW_MAXIMIZE);
   exit;
 end;
 Application.MessageBox('Uzak bağlantı dosyaları bulunamadı.', 'Uyarı', MB_OK + MB_ICONWARNING);
end;
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#2
(03-01-2018, Saat: 13:06)cinarbil Adlı Kullanıcıdan Alıntı: delphi den  bir exe çalıştırıp işi bitip kapatınca aradaki süreyi bulmak istiyorum.

CreateProcess yada ShellExecuteEx ile bunu yapabilirsiniz.
There's no place like 127.0.0.1
WWW
Cevapla
#3
var
 Form1: TForm1;

implementation

uses ShellApi, System.Diagnostics, System.TimeSpan;

{$R *.dfm}

Function ElapsedTimeExe(ExeFilePath: string): Double;
var
 SEInfo: TShellExecuteInfo;
 ExitCode: DWORD;
 ExecuteFile: string;
 Stopwatch: TStopwatch;
 Elapsed: TTimeSpan;
 Seconds: Double;
begin
 ElapsedTimeExe:=0;
 ExecuteFile := ExeFilePath;//'C:\Windows\System32\Calc.exe';
 Stopwatch := TStopwatch.StartNew; // İşlem başlatıldı başlangıç süresi alındı
 FillChar(SEInfo, SizeOf(SEInfo), 0);
 SEInfo.cbSize := SizeOf(TShellExecuteInfo);
 with SEInfo do
 begin
   fMask := SEE_MASK_NOCLOSEPROCESS;
   Wnd := Application.Handle;
   lpFile := PChar(ExecuteFile);
   nShow := SW_SHOWNORMAL;
 end;
 if ShellExecuteEx(@SEInfo) then
 begin
   repeat
     Application.ProcessMessages;
     GetExitCodeProcess(SEInfo.hProcess, ExitCode);
   until (ExitCode <> STILL_ACTIVE) or Application.Terminated;
   Elapsed := Stopwatch.Elapsed;
   Seconds := Elapsed.TotalSeconds;
   ElapsedTimeExe:=Seconds;//Saniye olarak geriye döndürüldü
 end
 else
   ShowMessage('Program Çalıştırılamadı !');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(FloatToStr(ElapsedTimeExe('C:\Windows\System32\Calc.exe')));
end;

end.

İstediğin bu olsa gerek Smile

Gerisi sana kalmış Dönen değeri veritabanına işlemi yapan kullanıcı ile kaydedebilirsin
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#4
Eline sağlık müsait olunca üzerinde çalışacağım.
İstediğim bu 
Teşekkür ederim
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#5
Selamlar

@narkotik'in verdiği örnek kodu test ettiğimde kod sadece açılıncaya kadar geçen sürenin bilgisini veriyor
uygulama kapatılmış yada kapatılmamış dikkate almıyor
yada ben bir şeyleri test sırasında gözden kaçırdım test sonuçlarını başka paylaşan olursa memnun olurum.

Teşekkürler
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#6
(04-01-2018, Saat: 19:02)adelphiforumz Adlı Kullanıcıdan Alıntı: Selamlar

@narkotik'in verdiği örnek kodu test ettiğimde kod sadece açılıncaya kadar geçen sürenin bilgisini veriyor
uygulama kapatılmış yada kapatılmamış dikkate almıyor
yada ben bir şeyleri test sırasında gözden kaçırdım test sonuçlarını başka paylaşan olursa memnun olurum.

Teşekkürler

   
   
Benim denemelerimde sorun yok, doğru çalışıyor.Mesaj programı kapatınca çıkıyor ve süre de kapatıldığı andaki farkı gösteriyor.
Herhangi bir basit problem, hakkında yeterince toplantı yapılarak, çözümsüz hale getirilebilir.
https://play.google.com/store/apps/developer?id=ONGUN
WWW
Cevapla
#7
(04-01-2018, Saat: 19:02)adelphiforumz Adlı Kullanıcıdan Alıntı: Selamlar

@narkotik'in verdiği örnek kodu test ettiğimde kod sadece açılıncaya kadar geçen sürenin bilgisini veriyor
uygulama kapatılmış yada kapatılmamış dikkate almıyor
yada ben bir şeyleri test sırasında gözden kaçırdım test sonuçlarını başka paylaşan olursa memnun olurum.

Teşekkürler

Testini yaptım ve attım sorunsuz çalışmaktadır.
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#8
(04-01-2018, Saat: 22:18)narkotik Adlı Kullanıcıdan Alıntı:
(04-01-2018, Saat: 19:02)adelphiforumz Adlı Kullanıcıdan Alıntı: Selamlar

@narkotik'in verdiği örnek kodu test ettiğimde kod sadece açılıncaya kadar geçen sürenin bilgisini veriyor
uygulama kapatılmış yada kapatılmamış dikkate almıyor
yada ben bir şeyleri test sırasında gözden kaçırdım test sonuçlarını başka paylaşan olursa memnun olurum.

Teşekkürler

Testini yaptım ve attım sorunsuz çalışmaktadır.

Dışardan bir uygulamayı çalıştırınca bende hala çalışmıyor "Calc.Exe"
ben 10.1 berlin kullanıyorum
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#9
(04-01-2018, Saat: 23:19)adelphiforumz Adlı Kullanıcıdan Alıntı:
(04-01-2018, Saat: 22:18)narkotik Adlı Kullanıcıdan Alıntı: Testini yaptım ve attım sorunsuz çalışmaktadır.

Dışardan bir uygulamayı çalıştırınca bende hala çalışmıyor "Calc.Exe"
ben 10.1 berlin kullanıyorum

Calc.Exe Dosya yolunu kontrol edip deneyiniz
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#10
Calc.exe çalışıyor
çalışır çalışmaz Showmessage devreye giriyor
Calc.Exe'yi kapatıncada herhangi birşey olmuyor
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi 7 Unrar mcuyan 12 462 19-03-2024, Saat: 10:30
Son Yorum: frmman
Lightbulb Delphi 7zip Password lü Dosya Sıkıştırma ve Açma + Bonus RAR5 Desteği frmman 6 262 16-03-2024, Saat: 17:55
Son Yorum: delphi.developer
  delphi 12 ile TFileStream çalışmıyor aegean 5 420 05-03-2024, Saat: 22:23
Son Yorum: aegean
  Delphi ile geliştirdiğiniz uygulamalar neler? - İki Ödüllü Mr.Developer 20 12.672 01-01-2024, Saat: 22:46
Son Yorum: aegean
  Delphi 7 ye göre MB Döviz kurları nasıl alırız maydin60 7 962 31-12-2023, Saat: 02:18
Son Yorum: maydin60



Konuyu Okuyanlar: 1 Ziyaretçi