Попробуйте это.
<?php
$dir = "/images/";
// Open a directory, and read its contents
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
$ostream = fopen("ssh2.sftp://$sftp" . $file, 'w');
$ofile = file_get_contents($localFile_Official);
fwrite($ostream, $ofile);
fclose($ostream);
}
closedir($dh);
}
}
?>
Я не могу действительно помочь Вам с winapi-материалом, но если Вы используете карту Nvidia, можно взглянуть на документацию API NVcontrolPanel Затем, Вы могли сделать вторичный вывод Вашим основным использованием rundll32.exe NvCpl.dll,dtcfg primary 2
Надежда, которая поможет Вам.
Согласно документации для ChangeDisplaySettingsEx, "dmSize участник должен быть инициализирован к размеру, в байтах, структуры DEVMODE". Кроме того, состояния документации EnumDisplaySettings, "Прежде, чем назвать EnumDisplaySettings, устанавливают dmSize участника на sizeof (DEVMODE) и устанавливают dmDriverExtra участника для указания на размер, в байтах, дополнительного пространства, доступного для получения частных данных драйвера". Я не вижу этот случай в примере кода, данном в вопросе; это - одна причина, почему она может перестать работать.
Кроме того, у Вас могли бы быть ошибки в определениях DEVMODE и структур DISPLAY_DEVICE, которые не были включены в вопрос. Предложение Roger Lipscombe для получения его работающий от C/C++ сначала является отличным способом исключить этот тип проблемы.
Наконец, проверьте возвращаемое значение от ChangeDisplaySettingsEx и посмотрите, дает ли это ключ к разгадке относительно того, почему это могло бы перестать работать.