PDA

Tam Sürümünü Görmek İçin : programdan gelen mesajları almak


yesilvadi
14/02/2006, 11:11
yazdığım programın başka bir programı kullanmasını istiyorum.
diğer program işini yaptığında bazı mesajlar gönderecek ("işlem başarıyla gerçekleştirildi", "filanca dosya eksik", "şu hata oldu" gibi)
işte bu text mesajları o programdan nasıl alabilirim.


Volkan Uzun
14/02/2006, 18:47
en kolayi tcp haberlesmesi, veya rpc veya pipe
isletim sistemine gore, shared memory.
en tavsiye etmedigim file share.

yesilvadi
15/02/2006, 22:18
bu yöntemleri biraz açıklar mısınız. en kolayı tcp haberleşrmesi demişsiniz nasıl oluyor ağ haberleşmesi için değil miydi basit bir arama yaptım sonuçlar yine ağ haberleşmesinden geldi nasıl programlar birbirlerine metin yollayabilir bu yolla

pipe bildiğim kadarıyla linux ta bir programın çıkıtısını başka programa vermek şeklinde oluyor

komut bla | bla | bla | aaaa

gibi değil miydi
eğer öyleyse bu pek işime yaramaz çünkü benim asıl istediğim win altında nasıl olduğunu öğrenmek yoksa linux ta zaten bu ve benzeri işlemleri yapmanın basit yolları var
sizden istediğim tam bir anlatım değil. basit bir şekilde mantığından bahseder ve biraz da kaynak gösterirseniz sevinirim
teşekkürler

Volkan Uzun
15/02/2006, 22:22
tam olarak sanirim sorunu anlayamadim , ben iki uygulama yazacaksin, bunlar birbiriyle haberlesecek sandim.
eger boyleyse durum, iki uygulamada bir socket ustunden haberlesebilirler.

Sabahi
16/02/2006, 01:57
Soruyu biraz daha acarsaniz memnun olurum, yinede anladigim kadari ile cevap verirsem, bu tur haberlesmeler icin WM_USER, WM_APP, veya RegisterWindowMessage API fonksiyonundan yararlanabilirsiniz.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesfunctions/registerwindowmessage.asp
http://www.thecodeproject.com/threads/ipc_tute.asp

Windows mesajlarinin yanisira DDE (Dynamic Data Exchange), OLE, Windows atoms, windows sockets v.s. gibi daha bir cok IPC (Inter Process Communication) mekanizmalari mevcut.

Revne
16/02/2006, 02:21
Oncelikle hangi teknolojiyi kullaniyorsun?
Eger VC++ kullaniyorsan bunu WM_USER gibi ozel mesaji mesaj dongusunde isleyerek yapabilirsin. Diger uygulama sadece bu mesaji gonderir...

Ama bu olay baska bir teknolojide TCP/IP veya daha baska yontemlerle yapilabilir...

yesilvadi
16/02/2006, 15:14
en iyisi bir örnek vererek açıklayayım
mesela disk işlemleri yapan bir program yazdım ve bu işlemler için windowsun kendi programlarını kullanıyorum. programımda diski formatla butonuna basıldığında arka planda format programı çağrılıyor ve asıl işi o yapıyor. ben bu işlem yapılırken format programının konsolda çalışırken verdiği mesajları (yazıları) programımın alabilmesini ve kullanabilmesini istiyorum.
yapmak istediğim çoğunlukla bu şekilde yani başkasının yazdığı programları kullanacağım kendi programımı değil
yardımlarınız için teşekkür ederim

Sabahi
16/02/2006, 17:28
Console Redirection icin, asagidaki linke bir gozativer.

http://www.thecodeproject.com/threads/redir.asp?print=true

Umarim yardimci olur. Kolay gelsin.