GUI uygulamasını çağırmadan önce otomatik olarak bir çevre değişkenini ayarlama


0

Bir Windows GUI uygulaması var, sistem yolundaki bir klasörde bulunan prog.exe. Bu uygulama benim değil ve sahip olduğum her şey ikili, bu yüzden programı değiştiremiyorum.

Prog.exe ile ilişkilendirdiğim * .typ adlı bir dosya türüm var.

Belirli bir dosya, that.type dosyasının bir klasörde bulunduğunu söyleyin, C: \ tst, yani tam yol C: \ tst \ tst.type.

Sonra, Windows Gezgini'nde C: \ tst klasörünü açtım ve tst.typ dosyasına çift tıklayın. Bunu yaptığımda, prog başarıyla açılır.

Ancak, prog hiçbir argüman almaz, bu yüzden prog doğru açılsa da, C: \ tst çalışma dizininden veya C: \ tst \ tst.typ dosyasından çağrıldığını bilmiyor.

Ancak başlangıçta, prog yapar bir çevresel değişkeni kontrol edin, PROG_VAR deyin.

İşte ne yapardım sevmek test.type dosyasını C: \ tst klasöründen çift tıkladığımda gerçekleşecek:

  • PROG_VAR çevre değişkeni C: \ tst \ tst.typ olarak ayarlandı.
  • prog.exe daha sonra çağrılır (güncellenmiş ortamla birlikte).

Bir yaklaşım * .typ ilişkisini bir toplu iş dosyasıyla açılacak şekilde değiştirmek, prog.bat diyor. Ardından prog.bat, PROG_VAR ortam değişkenini doğru bir şekilde ayarlayabilir ve prog.exe'yi çağırabilir. Bu yaklaşımla ilgili sorun, bir komut penceresinin de gösterileceği ve bunu istemiyorum. Ben sadece prog.exe'den GUI penceresini görmek istiyorum.

Bu amacı gerçekleştirmenin bazı yolları nelerdir?

Şimdiden teşekkürler.

Yanıtlar:


0

Toplu iş dosyanızı kullanın, sonra bir kısayol oluşturun ( .lnk ) "gizli" olarak ayarlanmış pencere tipi ile. Şimdi bu kısayolu dosya türü için işleyici olarak ayarlayın .typ.

Mesele şu ki, "gizli" pencere stili sadece ilk pencereye (toplu iş dosyası) uygulanır, fakat açılan herhangi bir başka pencerenin (yani GUI penceresi) uygulanmadığı


Güzel! Deneyeceğim . . .
lowpoweruser

Windows bir dosya türünü kısayolla ilişkilendirmeme izin vermiyor. * .Typ ile prog.bat dosyasını veya bir exe dosyasını ilişkilendirebilirim, ancak bir toplu iş dosyasını kullanırsam bir cmd penceresi görünür.
lowpoweruser

* .Typ dosyasını prog.bat işlevinin masaüstü kısayoluyla ilişkilendirmeye çalıştığımda, "tst.typ geçerli bir win32 uygulaması değil" hata iletisini alıyorum. Windows XP Pro SP3 kullanıyorum.
lowpoweruser

Tamam, Windows 98 veya XP'yi düşünmedim - pardon, çalışmalarını Win 7'de gördüm.
Eugen Rieck

Hiç sorun değil, Windows 7'de çalışacağını bilmek güzel. sonunda !
lowpoweruser

0

Regedit.exe dosyasını açın. Benzeyen .type ilişkilendirme komut satırı dizesinin anahtarını bulun

c:\somefolder\prog.exe "%1"

İle güncelle

cmd /c set PROG_VAR="%1" && c:\somefolder\prog.exe "%1"

Bu yeterli olmaktır.


Bu, birkaç dakika boyunca komut satırı konsolunu gösterecektir.
Eugen Rieck

Bu ideal değil, ama başka hiçbir şey işe yaramazsa bununla yaşayabilirim sanırım.
lowpoweruser

Elbette ... Ama bence bu kritik bir sorun değil.
Akina

Titreşim can sıkıcı bir yan etkisi olabilir, bu yüzden optimal çözüm bunun önüne geçecek bir çözümdür.
lowpoweruser
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.