API kullanımı hakkında
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
API kullanımı hakkında
S.a arkadaslar ben programıma soyle bır ozellık eklemek ıstıyorum..
programım acıkken gorev yonetıcısınden kapatılmak ıstendıgınde
.... programı kapatılacak emınmısınız? seklınde bı uyarı vermek ıstıyorum..bunu apılerle yapacagım sanırım ama bu konu hakkında detaylı bılgıye sahıp degılım... bı kac gundur bu forumda ve dıger forumlarda aramama ragmen ıstedıgım bılgıyı bulamadım..yardımlarınızı beklıorum sımdıden tesekkurler.. Hayırlı ramazanlar..
programım acıkken gorev yonetıcısınden kapatılmak ıstendıgınde
.... programı kapatılacak emınmısınız? seklınde bı uyarı vermek ıstıyorum..bunu apılerle yapacagım sanırım ama bu konu hakkında detaylı bılgıye sahıp degılım... bı kac gundur bu forumda ve dıger forumlarda aramama ragmen ıstedıgım bılgıyı bulamadım..yardımlarınızı beklıorum sımdıden tesekkurler.. Hayırlı ramazanlar..
- Görev yöneticisinden saklayabilirsin. Bu işini görürü mü ?
bkz.
viewtopic.php?t=8036&postdays=0&postord ... t=15#72234
bkz.
viewtopic.php?t=8036&postdays=0&postord ... t=15#72234
mrmarman yazdı:- Görev yöneticisinden saklayabilirsin. Bu işini görürü mü ?
bkz.
viewtopic.php?t=8036&postdays=0&postord ... t=15#72234
Hocam görev yöneticisinde görünmesini istiyorum..Çünkü herhangi bi sorun olduğunda ordan kapatılması gerekir..
- Bir sorun olduğunda oradan da kapatabileceğini sanmak bunu yapmaktan daha mı etkili tartışmaya açık. Sana başka bir çözüm önereyim...
- Programın kapatılamaz olsun. Görev Yöneticisinden gizle. Sadece programın kendi kendini kapatabilir olsun. Tabi önce projenin kendi erişim bilgisini bir INI dosyaya yazsın. Ondan sonra acil durumlarda kapatmak istediğinde -ki sanırım sık görülecek bir durum olmayacaktır, aksi ise projenin elden geçirilmesi lazım gelir bir sorun var demektir- ikinci bir proje ise bu INI dosyasından okuduğu erişim nosuyla projeni öldürsün... Fikir işe yarar bence...
- Ana programının OnCreate olayına şunu yaz...
- OnClose olayına da AppHandle değerini sıfır (0) yazan kodu yaz.
- Bu senin projenin handle'ini INI dosyasına kaydeder. Sonra da yukarda bildirdiğim şekilde programı Task Manager'den gizle. Bu kullanıcıların programını direkt bulup kapatmasını engeller.
- Sen bunu acil durumlarda kapatmak istediğinde ise ikinci bir ayrı proje yaz bulunsun. Bu proje ise INI dosyasından bu handle nosunu okuyup KillProcess yapsın. Şöyle :
- Tabi ondan sonra da INI'deki AppHandle değerini (0) yapsın.
Not : KillProcess için bkz. viewtopic.php?t=2178#10607
- Programın kapatılamaz olsun. Görev Yöneticisinden gizle. Sadece programın kendi kendini kapatabilir olsun. Tabi önce projenin kendi erişim bilgisini bir INI dosyaya yazsın. Ondan sonra acil durumlarda kapatmak istediğinde -ki sanırım sık görülecek bir durum olmayacaktır, aksi ise projenin elden geçirilmesi lazım gelir bir sorun var demektir- ikinci bir proje ise bu INI dosyasından okuduğu erişim nosuyla projeni öldürsün... Fikir işe yarar bence...
- Ana programının OnCreate olayına şunu yaz...
Kod: Tümünü seç
With TINIFile.Create( ExtractFilePath(Application.ExeName) + 'App.INI' ) do begin
WriteInteger('PROJE', 'AppHandle', Application.Handle);
Free;
end;
- Bu senin projenin handle'ini INI dosyasına kaydeder. Sonra da yukarda bildirdiğim şekilde programı Task Manager'den gizle. Bu kullanıcıların programını direkt bulup kapatmasını engeller.
- Sen bunu acil durumlarda kapatmak istediğinde ise ikinci bir ayrı proje yaz bulunsun. Bu proje ise INI dosyasından bu handle nosunu okuyup KillProcess yapsın. Şöyle :
Kod: Tümünü seç
Var
AppID : dWord;
begin
With TINIFile.Create( ExtractFilePath(Application.ExeName) + 'App.INI' ) do begin
AppID := ReadInteger('PROJE', 'AppHandle', 0);
Free;
end;
If (AppID <> 0) then begin
KillProcess( AppId );
end;
end;
Not : KillProcess için bkz. viewtopic.php?t=2178#10607