Bir pencereyi kapatmak için Toplu Dosyaya ihtiyacınız var .. DEĞİL toplu iş penceresi


1

Burada tam acemi burada cevap açıksa lütfen affet.

Aşağıdakileri yapan bir toplu iş dosyası var.

1. programı başlatır 3 saniye bekler (açıldıktan sonra program 1'deki bir düğmeye basmam gerekir) Sonra program 2 başlar.

Benim sorunum bu program 1 sadece arka planda çalışması gerekiyor .... İlk 3 saniyeden sonra hiçbir pencere gerekli.

Normalde, toplu iş dosyasını başlatırım, program 1 başlar. Bir servisi başlatmak için düğmeyi tıklıyorum.

İkinci program üç saniye başlıyor.

Daha sonra program 1'e geri dönmeliyim ve kapatmak için pencerenin sağ üstündeki X işaretini tıklayın. WINDOW program 1'inin 3 saniye sonra otomatik olarak kapanmasını istiyorum (ancak programın kendisi öldürülemez).

Öneriler?

@echo off
start C:\Folder\To\MySystemManager.exe
TIMEOUT 3

start "" "C:\Program Files (x86)\CustomProgram\CustomProgram.exe"
exit

Lütfen toplu iş dosyanızın içeriğini gönderin, sorun gidermenize yardımcı olabiliriz.
LPChip

Windows Görev Zamanlayıcı'daki gecikme seçeneklerini deneyebilir ve sonuçlarınızı kontrol edebilir misiniz? Makinenizde tetiklenen bir işlem için belirli bir gecikmede çalışacak bir toplu iş dosyası oluşturabilirsiniz. Çok az düşünmeniz ve programı başlatmak ve kapatmak için biraz gecikmeye neden olabilecek bir sıralama çözümü uygulamanız gerekir.
vembutech

Gönderilen kod Gecikme ihtiyacı konusunda seni takip ettiğimden emin değilim. Bende var. İhtiyacım olan şey, aslında bir Pencereyi ("MySystemManager" başlığını taşıyan bir görev veya programı değil) ya da bu satır boyunca bir şeyi kapama komutudur.
batchKevin

Zorunlu olmadığından neden emin değilsin? "title" ilk parametre start? İkinci kullanımdakiyle aynı şeyi deneyin: start "" C:\Folder\To\MySystemManager.exe
JosefZ

Yanıtlar:


1

'Saf' parti ile mümkün olmayan AFAIK - bir 3. parti araç kullanmanız veya powershell [veya Win API'ye başvurmak için başka bir yol] kullanmanız gerekir.

Sizi doğru anladıysam ve kapatmak istediğiniz pencere, Pencereyi kapat mesajını çalışmasının gerekenden daha iyi tanımlayan bir tür kontrol paneli ise (cmd'den çalıştırılıp işlemin yalnızca bir örneği olduğunu varsayarak):

powershell (ps MySystemManager).CloseMainWindow()

Bu komut, 'kapat'ı tıklamışsınız gibi davranır ( X ) buton

Xampp kontrol paneliyle test ettim ( powershell (ps xampp-control).CloseMainWindow() ) kilometreniz değişebilir


Sen harikasın! Acemi olduğumu biliyorum ama onlarca Google araması yaptım ve bunun nasıl yapılacağını açıklayan hiçbir şey bulamadım. Power Shell'i bir .bat dosyasında etkinleştirebileceğinizi bile bilmiyordum. Neyse, çok teşekkürler. Gerçekten onu takdir ederim.
batchKevin
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.