Der Hintergrund der folgenden Frage ist der, dass ich es unter Windows XP letzlich noch immer nicht geschafft habe, dass ein im Autostart-Ordner eingetragenes Programm genau einmal gestartet wird (und nicht mehrmals). In meinem Fall will ich ein Batchprg. eben genau einmal starten. Ich kann nicht recht verstehen, wieso das (bei mir) so ist, aber - nunja, dann bastelt man eben einen Workaround...
Dieser Workaround sieht bei mir in etwa so aus.
1 Falls Laufwerk Z: definiert ist => Batchfile beenden
2 SUBST Z:
3 ... ; weitere Befehle
Da SUBST sich auf das ganze System auswirkt funktioniert das i.d.R. auch ganz gut.
Es gibt aber einen Schwachpunkt, der in letzter Zeit des öfteren Auftritt.
Befindet sich Aufruf A am Ende der Zeile 1 und Aufruf B ist jetzt am Zug, dringt auch Aufruf B zu Zeile 2 vor, d.h. Aufruf A und B durchlaufen letztlich alle Zeilen. Mein selbstgestrickter Mechanismus funktioniert also nicht immer...
?????
? Weiß jemand eine Möglichkeit wie man das verhindern kann.
Vielen Dank,
Mdl
P.S. Ich finde es eher eine (Batch-)Programmierkniffelei als ein XP-Problem, deshalb lege ich es unter diesem Forum ab...
Programmieren - alles kontrollieren 4.938 Themen, 20.667 Beiträge
Mit reinen Batch-Kommandos wahrscheinlich wirklich nicht, aber da innerhalb Batchfiles ja auch EXE-Dateien aufgerufen werden können, vielleicht doch...
Gibt es z.B. die Möglichkeit, dass ein EXE-File nur in einer Instanz läuft, egal wie oft es aufgerufen wird? Oder besser: Dass sich die verschiedenen Instanzen Und dass die verschiedenen Instanzen EINE globale Variable, einen Zeiger teilen?
Dann könnte man das Problem ja z.B. auf C verlagern, wo es ja sicher eine Lösung gibt...
????
? Frage also konkret mal: Wie können sich in C verschiedene Instanzen eines EXE-Files bestimmte Variablen teilen?
Grüße,
Mdl