Yapılmış bir program(.exe) python içine entegre edilebilir mi?


#1

yapılmış bir programı(.exe) tkinter yada başka bir modulle kendi yapacağımız görsel(pencereli) programa entegre edebilirmiyiz.Programımızın içinde kullanabilirmiyiz_?


#2

Üzgünüm, ama bu mümkün değil :frowning:


#3

bildiğim kadarıyla c# ile oluyor galiba sebebi windows’a sahip(microsoft) olmalarındanmı kaynaklanıyor artık her neyse.
Yanlışta olabilirim tabii.


#4

bu şekilde yapabilirsiniz sanırım:


#5

Böyle yaparsa o exe dosyasını çalıştırır. Modül de olsa açılıp kapanır zaten niteliklere erişemezsiniz.


#6

Niye böyle bir şey yapmak istediğinizi söylerseniz daha iyi yardımcı olabiliriz diye düşünüyorum. Mesela bahsettiğiniz program nasıl bir program? Mümkünse programın tam olarak ne olduğunu belirtin. Durumdan duruma çözüm yolları değişir, bu sebeple olabildiğince belirleyici olmanız gerekir.


#7

ben c# ile bir kasa satış programı yapmıştım öğrenerek yaptığım için programın kodları şuanda çok kafa karıştırıyor yeni şeyleri python ile eklemek istiyorum…


#8

Bence C# ile devam edin ya da Python ile yeniden yazın. Bu ikisini karıştırmaya çalışmak sizi hüsrana uğratabilir. Ya da en azından bu sorunuzun cevabını bilecek düzeye gelene kadar bekleyin.


#9

Kısmen evet.

Hiç bir exe dosyasının rutinleri diğer bir exe nin rutinlerini debugger yada cheat programı değilse çağırmaz.

Tabi sonuçta programlama dünyası imkansız diye bir şey yoktur.

Bu nedenle kısmen evet;

Evet kısmı nasıl.

Exe olarak düşünmeyip, dll olarak kullanırsanız yada derlerseniz ki bu konuda bilginiz olduğunu ve executable yerine dinamik bağlantı kütüphanesi namı diğer dll olarak derlerseniz bunu python dan çağırabilirsiniz.

Burada sorunuzun cevabına örnek bulabilirsiniz.

Executable bir dosyanın hangi özelliklerine ihtiyacınız olduğu da etkili. Programınızın return parametresi ile bir veri almaktan ibaretse isteğiniz shell fonksiyonları ile API çağrıları da işinizi görebilir.

Ama kodun kendinize ait olduğu varsayımı ile dll yapmak daha mantıklı.


#10

Exe nin sadece dönüş parametresini kullanabileceğiniz örnek te şöyle.

Ama bunda sadece dönüş parametresi alabileceğiniz tüm subrutinlerin ve parametrelerin çağrılamayacağını genellikle hata kodu üretmek için tercih edildiğini, bunun kullanımının da kısıtlı olduğunu göz önünde bulundurmak gerekir.


#11

PE exe’leriyle dll’leri arasinda cok buyuk bir fark yok. dll’i yukleyip cagirdiginiz gibi exe’yi de yukleyip cagirabilirsiniz.

Fonksiyon cagirmaktan ziyade client programi calistirip WM_ mesajlari yollamak veya hakikaten mouse’u/klavyeyi kontrol etmek daha mantikli olabilir.

Yine de programi yeniden yazmaktan daha kolay degil, orasi ayri.


#12

Başka process e WM göndermek belki ama gelen mesajları da çekmek için win hooking yapılacaksa yine dll ihtiyacı olacak.

tabi bir de subclassing durumu var da…

Biraz daha zorlarsa cracking tool yazmayı anlaşmış olacağız burada :slight_smile: