Использовал CopyFileW из kernel32.dll но копировать так и не получилось.
Пробовал на mql4.
#import "kernel32.dll"
bool CopyFileW(string lpExistingFileName, string lpNewFileName, bool failIfExists);
#import
CopyFileW("C:\Users\User1\AppData\Roaming\MetaQuotes\Terminal\90271F5A6EF646EE3A8805FDEE834716\tester\files\text.txt","D:\Alp",0);
Попробуйте так (не проверил, но бросилось в глаза):
... CopyFileW("C:\\Users\\User1\\AppData\\Roaming\\MetaQuotes\\Terminal\\90271F5A6EF646EE3A8805FDEE834716\\tester\\files\\text.txt","D:\\Alp",0); ...
Попробуйте так (не проверил, но бросилось в глаза):
Спасибо , и так пробовал, но так тоже не работает.
Вроде выглядит правильно. Почитайте про rtlgetlastwin32error и посмотрите какую ошибку функция возвращает
Я немного по другому смотрел значение ошибки Print("CopyFileW error#",kernel32::GetLastError()," mql5 error#",::GetLastError());
И возвращало либо 3, либо 123 (именно от кернел32), в зависимости от варианта указания пути...
Не могу найти, где посмотреть описание ошибок?
Я немного по другому смотрел значение ошибки Print("CopyFileW error#",kernel32::GetLastError()," mql5 error#",::GetLastError());
И возвращало либо 3, либо 123 (именно от кернел32), в зависимости от варианта указания пути...
Не могу найти, где посмотреть описание ошибок?
3:
The system cannot find the path specified.
123:
The filename, directory name, or volume label syntax is incorrect.
Источник: https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx
Алгоритм поиска: в гугле вбиваем название функции (CopyFileW), находим её описание. В описании будет упоминание GetLastError(), идём в описание GetLastError() и там находим ссылки на коды ошибок :)
- msdn.microsoft.com
3:
123:
Источник: https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx
Алгоритм поиска: в гугле вбиваем название функции (CopyFileW), находим её описание. В описании будет упоминание GetLastError(), идём в описание GetLastError() и там находим ссылки на коды ошибок :)
Спасибо, но теперь выдает ошибку 5, Access is denied.
Запускал терминал от админа, не помогло, что еще можно попробовать?
Спасибо, но теперь выдает ошибку 5, Access is denied.
Запускал терминал от админа, не помогло, что еще можно попробовать?
Хмм, даже не знаю, что ещё посоветовать. Явно ошибка в отсутствии прав доступа.
Может рассмотреть вариант копирования файлов куда-нибудь, куда будут права доступа? Например, в "C:\\Users\\User1\\AppData\\Roaming\\Alp". Или, может, открыть доступ к D:\\Alp (в свойствах папки, хотя не уверен в успехе такой затеи).
Ну или понизить уровень UAC, хотя это дурная идея (если непонятно о чём речь, то гугл -> "понизить уровень UAC").
Спасибо, но теперь выдает ошибку 5, Access is denied.
Запускал терминал от админа, не помогло, что еще можно попробовать?
Админ тут не причем. Дайте необходимые права на нужную паку для "User1".

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Использовал CopyFileW из kernel32.dll но копировать так и не получилось.
Пробовал на mql4.
#import "kernel32.dll"
bool CopyFileW(string lpExistingFileName, string lpNewFileName, bool failIfExists);
#import
CopyFileW("C:\Users\User1\AppData\Roaming\MetaQuotes\Terminal\90271F5A6EF646EE3A8805FDEE834716\tester\files\text.txt","D:\Alp",0);