bir program ile diğer program ilişkisi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
bir program ile diğer program ilişkisi
selam arkadaşlar, ben bir program yapıyorum şuan fakat bir sorunum var bu program kapandığı anda (yani kill çekildiği anda) diğer programında kapanmasını istiyorum, var mı bi fikri olan?
procedure TForm1.FormCreate(Sender: TObject);
begin
halt;
end;
begin
halt;
end;
Re: bir program ile diğer program ilişkisi
Kod: Tümünü seç
procedure programkapa(programadi:string);
var
myhandle:Thandle;
begin
myhandle:=Findwindow(nil , pchar(programadi));
Sendmessage(Myhandle, WM_CLOSE , 0 , 0);
end;
+Kaynak: http://www.google.com.tr/search?hl=tr&q ... =&aq=f&oq=
+Yani: google amcaya bana 'delphi ile başka programı nası kapıcam' diye sormak yeterli

+Kolay Gelsin, bir de örnek veriyorum formuna bir buton ve edit ekleyip şu kodları onClick eventine yazabilirsin

Kod: Tümünü seç
begin
programkapa(edit1.text);
end;
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
'Yükseldikçe küçülen bir uçurtma..'
Re: bir program ile diğer program ilişkisi
cevabın için teşekkürler fakat bunu bende biliyorum, yazımı tam anlayamadın sanırım neyse mühim değil, kill çektiğimiz zaman diyorum..
procedure TForm1.FormCreate(Sender: TObject);
begin
halt;
end;
begin
halt;
end;
Re: bir program ile diğer program ilişkisi
Kod: Tümünü seç
Uses tlhelp32;
Procedure TForm1.Button_GetProcListClick(Sender : TObject);
Var
ContinueLoop : BOOL;
FSnapshotHandle : THandle;
FProcessEntry32 : TProcessEntry32;
Begin
ListBox1.Items.Clear;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
While integer(ContinueLoop) <> 0 Do
Begin
ListBox1.Items.AddObject(ExtractFileName(FProcessEntry32.szExeFile), Tobject(FProcessEntry32.th32ProcessID));
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
End;
CloseHandle(FSnapshotHandle);
End;
Procedure TForm1.Button_KillProcClick(Sender : TObject);
Var
Ret : BOOL;
ProcessID : integer;
ProcessHndle : THandle;
SelProcIndex : Integer;
Begin
SelProcIndex := ListBox1.ItemIndex;
If SelProcIndex < 0 Then exit;
Try
With ListBox1 Do
Begin
If MessageDlg('Do You Want To Terminate "' + ListBox1.Items[SelProcIndex] + '"?', mtConfirmation, [mbYes, mbNo], 0) = mrYes Then
Begin
ProcessID := LongInt(ListBox1.Items.Objects[SelProcIndex]);
ProcessHndle := OpenProcess(PROCESS_TERMINATE, BOOL(0), ProcessID);
Ret := TerminateProcess(ProcessHndle, 0);
If Integer(Ret) = 0 Then
MessageDlg('Can Not Terminate "' + ListBox1.Items[SelProcIndex] + '"', mtInformation, [mbOk], 0)
Else
ListBox1.Items.Delete(SelProcIndex);
End;
End;
Except
End;
End;

+Bu kod ile o an açık olan process'leri listeliyoruz. Timer ile, periyodik olarak istediğiniz programın kill edilip edilmediğini listboxta program exe'sinin var olup olmamasıyla kontrol edebilirsiniz. Eğer yoksa 2. projenizi de kill edebilirsiniz.

+Kaynak: http://www.google.com.tr/search?hl=tr&q ... %3Dlang_tr

+Başarılar..
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
'Yükseldikçe küçülen bir uçurtma..'
Re: bir program ile diğer program ilişkisi
programlar bir birleriyle bir çok şekilde haberleşebilirler
Bunlar Örn. Handle bunu threadlar kullanarak açık olan pencerenin handlına bakarsın handlı yoksa kendisinide öldürürsün.
Diğeri ise TCP IP ile haberleştirilirsin haberleşme kesilirse aynı mantık kendini Kill ettirirsin
Handle örnekleri sitede mevcut
Kolay Gelsin
Bunlar Örn. Handle bunu threadlar kullanarak açık olan pencerenin handlına bakarsın handlı yoksa kendisinide öldürürsün.
Diğeri ise TCP IP ile haberleştirilirsin haberleşme kesilirse aynı mantık kendini Kill ettirirsin
Handle örnekleri sitede mevcut
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.
Re: bir program ile diğer program ilişkisi
şimdi bi oyun var bu oyunun clientine güvenlik programı yapıyorum herşeyi tamam fakat benim programım killendiği anda onunda kapanması gerek onu anlatmaya calısıyorum
yorumlar için teşekkürler
yorumlar için teşekkürler
procedure TForm1.FormCreate(Sender: TObject);
begin
halt;
end;
begin
halt;
end;
Re: bir program ile diğer program ilişkisi
+Üstteki yorumlar ile dediğinizi yapabilirsiniz.
+Kolay Gelsin..
+Kolay Gelsin..
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
'Yükseldikçe küçülen bir uçurtma..'
Re: bir program ile diğer program ilişkisi
arkadaşın dediğini anlamamışsınız.
bu programın koruduğu dosya onunla alakası olmayan bi dosya kendisi yazmadı yani proje kaynak kodlarıda yok oynama yapılamaz. Bu oyuna giriş dosyası zannedersem. Oyunu hile programlarından korumak adına bir güvenliik sistemi yazıyor. programdan tüm hile programlarını engellemiş sadece programın kendi güvenliği kalmış. Bu güvenlik programı killtask ile killendiği zaman oyunun programı açık kalıyor ve güvenlik falan kalmıyor. o yüzden bu programla 2 si yapışık ikizler gibi çalışması lazım demek istiyor
bu programın koruduğu dosya onunla alakası olmayan bi dosya kendisi yazmadı yani proje kaynak kodlarıda yok oynama yapılamaz. Bu oyuna giriş dosyası zannedersem. Oyunu hile programlarından korumak adına bir güvenliik sistemi yazıyor. programdan tüm hile programlarını engellemiş sadece programın kendi güvenliği kalmış. Bu güvenlik programı killtask ile killendiği zaman oyunun programı açık kalıyor ve güvenlik falan kalmıyor. o yüzden bu programla 2 si yapışık ikizler gibi çalışması lazım demek istiyor

Re: bir program ile diğer program ilişkisi
evet sawyer saol aynen öyle
procedure TForm1.FormCreate(Sender: TObject);
begin
halt;
end;
begin
halt;
end;
Re: bir program ile diğer program ilişkisi
2 yol önerebilirm.
1.si servis olarak programı hazırlaman servis sonlandığı zaman tekrar çalışacak şekilde ayarlarsan görevi sonlandırsalar bile terkrar başlayacaktır.
2.si programı bir kopyasını daha hazırlarsın. iki program birbirini ve korumak istediğin diğer programı korur. biri sonlanınca tekrar çalıştırırsın yada sonlandırırsın.
1.si servis olarak programı hazırlaman servis sonlandığı zaman tekrar çalışacak şekilde ayarlarsan görevi sonlandırsalar bile terkrar başlayacaktır.
2.si programı bir kopyasını daha hazırlarsın. iki program birbirini ve korumak istediğin diğer programı korur. biri sonlanınca tekrar çalıştırırsın yada sonlandırırsın.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: bir program ile diğer program ilişkisi
teşekkür ederim aslangeri fakat 1. dediğini anlayamadım 2. dediğinde ise
killtask('1.exe');
killtask('2.exe');
diye bir yordamın altına yazarsa ikiside anında kapanır ve yine gider...
killtask('1.exe');
killtask('2.exe');
diye bir yordamın altına yazarsa ikiside anında kapanır ve yine gider...
procedure TForm1.FormCreate(Sender: TObject);
begin
halt;
end;
begin
halt;
end;