Нет. Но с использованием WinAPI можно попытаться. Только надо иметь в виду, что в mql4 строки - юникодные (это нужно для правильного выставления типа данных в клипборде: CF_UNICODETEXT для юникода, CF_TEXT для ansi)
Порядок вызова функций примерно такой
- GlobalAlloc
- GlobalLock
- заполнение выделенного буфера
- GlobalUnlock
- OpenClipboard
- SetClipboardData
- CloseClipboard
Это описана ветка, когда всё удачно складывается. При неудаче надо обязательно вызывать GlobalFree (если GlobalAlloc был удачным). Ни в коем случае нельзя вызывать GlobalFree, если всё прошло удачно
Нашел такой код но проблема в том что помещаеться только первый символ текста в буфер.
Подскажите как исправить
#import "kernel32.dll"
#define CF_TEXT 1
// Copies the specified text to the clipboard, returning true if successful
bool CopyTextToClipboard(string Text)
{
bool bReturnvalue=false;
// Try grabbing ownership of the clipboard
if(OpenClipboard(0)!=0)
{
// Try emptying the clipboard
if(EmptyClipboard()!=0)
{
// Try allocating a block of global memory to hold the text
int lnString=StringLen(Text);
int hMem = GlobalAlloc(GMEM_MOVEABLE, lnString + 1);
if(hMem!=0)
{
// Try locking the memory, so that we can copy into it
int ptrMem = GlobalLock(hMem);
if(ptrMem!=0)
{
// Copy the string into the global memory
lstrcpyA(ptrMem,Text);
// Release ownership of the global memory (but don't discard it)
GlobalUnlock(hMem);
// Try setting the clipboard contents using the global memory
if(SetClipboardData(CF_TEXT,hMem)!=0)
{
// Okay
bReturnvalue=true;
} else {
// Failed to set the clipboard using the global memory
GlobalFree(hMem);
}
} else {
// Meemory allocated but not locked
GlobalFree(hMem);
}
} else {
// Failed to allocate memory to hold string
}
} else {
// Failed to empty clipboard
}
// Always release the clipboard, even if the copy failed
CloseClipboard();
} else {
// Failed to open clipboard
}
return (bReturnvalue);
}
Нашел такой код но проблема в том что помещаеться только первый символ текста в буфер.
Вам явно было сказано
Только надо иметь в виду, что в mql4 строки - юникодные (это нужно для правильного выставления типа данных в клипборде: CF_UNICODETEXT для юникода, CF_TEXT для ansi)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования