Aplicación que permite mostrar los contenidos del portapapeles y su tipo MIME?

Estoy buscando una aplicación que me pueda mostrar los detalles del contenido del portapapeles.

Al copyr algunos datos en el portapapeles, los datos se asocian con un tipo MIME específico. El text normal es text/plain , los datos binarys se pueden copyr como application/octet-stream , etc. Tengo una aplicación que copy datos binarys, etiquetándolos como su propio tipo MIME, y me gustaría ver de qué tipo es, y qué datos tiene

No puedo simplemente pegar el contenido del portapapeles en una aplicación similar a un bloc de notas porque el objective espera que el tipo MIME del object del portapapeles sea text/plain .

Una aplicación que enumera todos los types de objects MIME actualmente existentes en el portapapeles también sería suficiente.

Solutions Collecting From Web of "Aplicación que permite mostrar los contenidos del portapapeles y su tipo MIME?"

De acuerdo, de hecho, he escrito un código que hace lo que necesito. Lo bueno es que es bastante fácil en Qt.

La información del edificio está en la parte inferior de esta publicación.

xclipshow.cpp:

 #include <QApplication> #include <QTimer> #include <QClipboard> #include <QMimeData> #include <QDebug> #include <QStringList> class App: public QObject { Q_OBJECT private: void main(); public: App(): QObject() { } public slots: void qtmain() { main(); emit finished(); } signals: void finished(); }; void App::main() { QClipboard *clip = QApplication::clipboard(); for(QString& formatName: clip->mimeData()->formats()) { std::string s; s = formatName.toStdString(); QByteArray arr = clip->mimeData()->data(formatName); printf("name=%s, size=%d: ", s.c_str(), arr.size()); for(int i = 0; i < arr.size(); i++) { printf("%02x ", (unsigned char) arr.at(i)); } printf("\n"); } } int main(int argc, char **argv) { QApplication app(argc, argv); App *task = new App(); QObject::connect(task, SIGNAL(finished()), & app, SLOT(quit())); QTimer::singleShot(0, task, SLOT(qtmain())); return app.exec(); } #include "xclipshow.moc" 

CMakeLists.txt:

 cmake_minimum_requinetworking(VERSION 3.0.0) project(xclipshow) find_package(Qt5Widgets) set(CMAKE_AUTOMOC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(SRC xclipshow.cpp) add_definitions(-std=c++11) add_executable(xclipshow ${SRC}) qt5_use_modules(xclipshow Widgets Core) 

Información del edificio según lo solicitado por @slm en el comentario: depende del sistema que esté utilizando. Este código necesita Qt5 y CMake para comstackr. Si tiene ambas, todo lo que necesita hacer es ejecutar:

 BUILD_DIR=<path to an empty temporary dir, which will contain the executable file> SRC_DIR=<path to the directory which contains xclipshow.cpp> $ cd $BUILD_DIR $ cmake $SRC_DIR $ make 

o 'gmake' si está en FreeBSD, o 'mingw32-make' si está en Windows, etc.

Si no tiene Qt5 o CMake, puede intentar escapingse con Qt4 y la compilation manual:

 $ moc xclipshow.cpp > xclipshow.moc $ g++ xclipshow.cpp -o xclipshow `pkg-config --cflags --libs QtGui` -I. --std=c++11 

Si obtiene información sobre la --std=c++11 inválida --std=c++11 , pruebe --std=c++0x lugar, y considere actualizar su comstackdor;).

Use xclip :

xclip -o -t TARGETS

para ver todos los types disponibles Por ejemplo:

  1. copy algo de tu browser web
  2. investigar los types disponibles
 $ xclip -o -t OBJETIVOS
 TIMESTAMP
 OBJETIVOS
 MÚLTIPLE
 text / html
 text / _moz_htmlcontext
 text / _moz_htmlinfo
 UTF8_STRING
 COMPOUND_TEXT
 TEXTO
 CUERDA
 text / x-moz-url-priv
  1. Obtenga los contenidos para el que le interesa: xclip -o -t text/html