2012-04-02 23 views
8

Bir Android uygulamasına TCP Ağ soketi üzerinden izleme verileri gönderen basit bir WMI tabanlı monitör uygulaması yazıyorum. Android App'i Titanium Mobile (JavaScript) ile yazmakta hiçbir sorunum yok, böylece bir soket oluşturup verileri kabul ediyor. Ancak ben WMI veri almak ve TCP soketi üzerinden bir VERY temel Windows GUI ile göndermek için en iyi (en kolay ve en hızlı) yolu arıyorum. GUI'nin tek sebebi, kullanıcının yazılımın çalışmakta olduğunu bilmesidir ve muhtemelen IP üzerinden buraya wifi üzerinden bağlanmak için IP gireceklerdir. Şu ana kadarki durumum:Windows için en iyi komut dosyası dili GUI EXE

  • PHP ve JavaScript benim en güçlü dilimlerim (web dev olmak). PHP ile WMI/COM komut dosyaları yazabilirim ve bir Windows komut satırı EXE'e Bamcompile ile derleyebilirim. Sadece PHP4'ü destekliyor ve hangi GUI araç setinin (eğer varsa) çok eski olduğundan çalışacağından emin değilim, fakat hala temel Windows şeylerim için tercih ediyorum.
  • Perl (Strawberry Perl) ile oynuyorum ve potansiyelini farkettim. Ama benim ana programlama bilgisayarımın bir vekil olarak görmesi, Tk'u yüklememde sorun yaşıyorum. Ben "ppm install Tk" ve "cpan Tk" denedim ve tüm vekil ayrıntılarını koymuştum, hatta çok fazla veri/modül indiriyordum ama ben çözemediğim gibi bir fikrim yok hatalar alıyorum henüz bir Perl kişi.
  • PHP için WinBinder'ı denedim ve Windows'a çift tıkladım .phpw dosyaları işe yaradı, ama her şeyi bir şekilde paketlemek zorunda kaldım ve ayrıca arka planda komut istemi penceresi dağınık görünüyor.
  • AutoIT 3'ü kullanabilirim - GUI, yuva, tüm bu tür şeyler yapar ve EXE'e derler, ancak PHP ya da Perl'i öğrenme deneyimine tercih ederim ve sadece sözdiziminde daha çok kullanıyorum.
  • Python harika görünüyor ama PHP veya Perl için biraz farklı, bu yüzden şimdi öğrenmek için zaman harcayacağım. Muhtemelen çok ilginç bir yapıya sahip gibi görünse de çizgiye doğru değişecektir.

Karşılaştığım ana sorun, bu uygulamayı PHP ve sadece Bamcompile için yazabildiğim, ancak kullanıcıların girişini almam ve bir şeylerin çalıştığını bilmelerini sağladığımı düşünüyorum. Ayrıca bir araç çubuğu olmayan bir web tarayıcısını göstermek için Wapache gibi bir şey kullanmayacağımı düşünürüm çünkü PHP'nin sürekli bir döngüde çalışması ve herhangi bir "tarayıcı" nı çökertmesi gerekiyordu? Bu işe yarayacak mı?

set_time_limit(0); // 0 means never timeout 

ignore_user_abort(true); // continue running when browser closes 

Yani herhangi bir fikir? Jscript ve JSC?

Herhangi bir Microsoft .Net malzemesi veya karmaşık C dili veya Java öğrenmek istemediğimi unutmayın.

PHP/JavaScript'teki mevcut becerilerimle böyle bir şey yapabileceğime eminim? Yok hayır?

+0

Hayır, PHP en iyi cevap IMHO olmaz. – Shoe

+0

Bunun en iyi cevap olmadığını biliyorum. Ama bu olası bir cevap mı? : -D – TheDavil

+0

Ben öyle düşünmüyorum. Ve (bazı hack yapmak) olsa bile, PHP bunun için tasarlanmamıştır. PHP, C++ veya diğer komut satırı dilleri gibi değildir. PHP'nin bir kez çalıştırılması ve tarayıcıya HTML göndermesi gerekiyor. Son zamanlarda AJAX eklendi (Javascript ile birlikte), ama yine de Javascript bir istekte bulunur, PHP betiği bir kez çalıştırılır ve daha sonra tarayıcıya çıktı gönderilir. PHP benim dürüst düşüncemde olası bir seçim değildir. – Shoe

cevap

1

Ayrıca, Strawberry Perl'im için the Tk module'u yükleme konusunda sorunlar yaşadım, ancak manuel olarak yüklendiğini fark ettim. İşlemi anlamak için

perldoc permodinstall 

'a bir göz atın. senin CPAN doğru paketleri indirirken eğer - -

Belki basit yolu cpan kabuğu çalıştırmak ve

cpan> look Tk 

indirir ve sizin modülü açmak ve daha sonra bir komut istemi için ödemek hangi demek ki Mevcut konum olarak paketini açın.Burada devam edin ve perlmodinstall anlatıldığı gibi

perl MAKEFILE.pl 
dmake 
dmake test 
dmake install 

söyleyebiliriz. (dmake Çilek Perl kullandığı marka lezzeti budur.)

bir GUI kütüphanesi için benim kişisel tercihi taşınabilir olması sıfırdan tasarlanmış ve bir görünüme sahiptir ve platform bağlıdır hissediyorum wxWindows API Wx olduğunu nerede çalışıyor. Ancak, Tk'u kullanarak daha fazla yardım almanız muhtemeldir, bu yüzden seçim sizin.

+0

Yorumlarınız için teşekkürler ... Hemen bakarım! (bir linux başı olmamasına rağmen, yapmak korkutucu) – TheDavil

+0

efendim, efsane vardır! Şimdi tek yapmam gereken Perl'i öğrenmek ve herşeyi EXE yapmanın bir yolunu bulmak. – TheDavil

+0

Hizmete sevindim; Perl, silahın içinde çok kullanışlı bir silah olacak. [Perl sitesini öğrenin] (http://learn.perl.org/) ve [[email protected]] (http://lists.perl.org/list/beginners.html) postalama listesini şiddetle tavsiye ediyorum. – Borodin

1

Orada verdiğiniz çoğu dil, çapraz platform GUI kitaplıkları kullanacak ve Windows GUI istediğinizi söylediğinizde gereksiz bir sorun. Sonunda kendin için daha çok iş yapacaksın.

Herkes burada kendi dilini satmak isteyecektir. En iyisi olduğunu düşünmezlerse kullanmazlardı. Bu yüzden, sanırım atlayabileceğimi (disclaimer: bir AutoIt MVP tarafından yazılan):

AutoIt, küçük pencereler uygulamalarını çok hızlı bir şekilde kutudan çıkarmanıza izin verecek, gerçekten de mükemmel olan şeylerden biri. Aynı zamanda tamamen yerli, bu çoğu zaman, yakında herhangi bir zamanda linux'e geçmeyi düşünmemeniz koşuluyla çalışmak çok daha kolay demektir.

İlgili konular