|
1Qter豆
本帖最后由 红尘氵梦 于 2017-3-31 09:18 编辑
我想把剪贴板里面原有的数据复制出来(原来是完整,可用,任意格式的数据,如文件夹,图片,一段文字等一些日常的数据),然后剪贴板去复制其他东西,最后再把数据还回去,但是还回去的数据却是不能在粘贴了,下面是代码,其中保存数据的代码是百度上的,这样写有什么问题吗???
void MyHotKey::HC_SaveData(QMimeData *clipData)
{
QClipboard *clipBoard = QApplication::clipboard();
const QMimeData *mimeData = clipBoard->mimeData();
for (int i = 0; i < mimeData->formats().size(); i++) //保存剪切板中数据
{
QString type = mimeData->formats().at(i); //保存剪切板中数据格式
QByteArray data = mimeData->data(type); //按照数据格式保存数据
clipData->setData(type, data);
}
clipBoard->clear();
}
void MyHotKey::HC_ReductionData(QMimeData *clipData)
{
QClipboard *clipBoard = QApplication::clipboard();
clipBoard->clear();
clipBoard->setMimeData(clipData);
}
void MyHotKey::HC_GetText()
{
QClipboard *clipBoard = QApplication::clipboard();
QString strCopy = clipBoard->text();
qDebug() << strCopy;
}
void MyHotKey::tryClipbord()
{
QMimeData *clipData = new QMimeData;
HC_SaveData(clipData);
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(0x43, 0, 0, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
keybd_event(0x43, 0, KEYEVENTF_KEYUP, 0);
HC_GetText();
HC_ReductionData(clipData);
}
|
|