Форум программистов, компьютерный форум CyberForum.ru

Незнаю как вставить файл из буфера обмена...надеюсь на помощь - C++

Восстановить пароль Регистрация
 
Mcray
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 36
02.09.2011, 18:15     Незнаю как вставить файл из буфера обмена...надеюсь на помощь #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
//---------- Сама программа -----------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <vcl\Clipbrd.hpp>
#include "Unit1.h"
#include "CopyFilesToClipboard.cpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
vector <AnsiString> ListFile;           //создаём масив
TClipboard *clip;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   ListFile.push_back("E:\\new  2.txt");   //запалняем
   CopyFilesToClipboard(ListFile);         //копируем в буфер :)
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 
}
//---------------------------------------------------------------------------
//А вот файл копирования файла в буфер
//---------------------------------------------------------------------------
#ifndef COPYFFILES_TO_CLIPBOARD_CPP
#define COPYFFILES_TO_CLIPBOARD_CPP
//---------------------------------------------------------------------------
#define NO_WIN32_LEAN_AND_MEAN
#include <Clipbrd.hpp>
#include <vector>
#include <string>
#include "Unit1.h"
using namespace std;
//---------------------------------------------------------------------------
typedef struct _DROPFILES
{
    DWORD pFiles; // offset of file list
    POINT pt;     // drop point (coordinates depend on fNC)
    BOOL fNC;     // see below
    BOOL fWide;   // TRUE if file contains wide characters,
                  // FALSE otherwise
} DROPFILES, FAR * LPDROPFILES;
//---------------------------------------------------------------------------
bool CopyFilesToClipboard(vector <AnsiString> &ListFile)
{
   vector<AnsiString>::iterator It;
   //открываем буфер
   if(!OpenClipboard(Application->Handle)) return false;
   //очищаем буфер
   EmptyClipboard();
   //Определяем размер
   int SizeLine(1);
   for (It=ListFile.begin();It!=ListFile.end();++It)
      SizeLine+=(*It).Length()+1;
   //Выделяем память
   HGLOBAL  hGlobal = GlobalAlloc(GMEM_SHARE|GMEM_MOVEABLE|GMEM_ZEROINIT,
                                            sizeof(DROPFILES) + SizeLine);
   if (!hGlobal) return false;
   //Создаем структуру
   DROPFILES *MyDropFiles = (DROPFILES*)GlobalLock(hGlobal);
   //записываем данные в структуру
   SizeLine = MyDropFiles->pFiles = sizeof(DROPFILES);
   for (It=ListFile.begin();It!=ListFile.end();++It)
   {
      strcpy((char*)MyDropFiles + SizeLine, (*It).c_str());
      SizeLine+=(*It).Length()+1;
   }
   GlobalUnlock(hGlobal);
   //записываем данные в буфер
   if (!SetClipboardData(CF_HDROP, hGlobal)) return false;
   //закрываем буфер
   CloseClipboard();
   return true;
}
//---------------------------------------------------------------------------
#endif
А как из буфера незнаю Помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2011, 18:15     Незнаю как вставить файл из буфера обмена...надеюсь на помощь
Посмотрите здесь:

Как создать файл с именем введенным с клавиатуры. нужна помощь. C++
Скан из файла. Файл в качестве промежуточного буфера. C++
C++ Можно ли как нибудь вставить свой файл
C++ Code::Blocks Когда нажимаешь среднюю среднюю кнопку мыши, то вставляется содержимое буфера обмена. Как это можно изменить?
незнаю как вывести полное решение для задачки.смысл улавливаю, а как реализовать - туплю C++
Взять текст из буфера обмена C++
Запись в файл, очистка буфера ввода C++
C++ Незнаю как написать функцию

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mcray
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 36
16.09.2011, 18:51  [ТС]     Незнаю как вставить файл из буфера обмена...надеюсь на помощь #2
Походу никто незнает...печалька
Yandex
Объявления
16.09.2011, 18:51     Незнаю как вставить файл из буфера обмена...надеюсь на помощь
Ответ Создать тему
Опции темы

Текущее время: 03:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru