Forum: Object-Pascal / Delphi-Language
by Dalai,
27. Jan 2020
Also eine Batchdatei wie @echo off
set DS=%SystemRoot%\System32\DisplaySwitch.exe
if exist %SystemRoot%\SysNative\*.exe set DS=%SystemRoot%\SysNative\DisplaySwitch.exe
"%DS%"funktioniert garantiert.
Und wie gesagt: Umgebungsvariablen müssen sehr wahrscheinlich schon aufgelöst an ShellExecute(Ex) übergeben werden. Die CMD macht das selbst und daher funktioniert das dort ohne weitere...
Forum: Object-Pascal / Delphi-Language
by Dalai,
27. Jan 2020
Naja, die Umgebungsvariable(n) musst du vorher wahrscheinlich schon auflösen (ExpandEnvironmentStrings).
Grüße
Dalai
Forum: Object-Pascal / Delphi-Language
by Dalai,
27. Jan 2020
DisplaySwitch.exe gibt's im Windows 10 nur noch im %SystemRoot%\System32. Bei älteren Windows-Versionen (7 und 8.1) liegt zusätzlich eine 32-bit-Version in %SystemRoot%\SysWOW64. Falls du Windows 10 und ein 32-bit-Delphi-Programm verwendest, müsstest du daher %SystemRoot%\SysNative\DisplaySwitch.exe statt %SystemRoot%\system32\DisplaySwitch.exe aufrufen. Oder eben wie himitsu bereits sagte, dein...