Я реализую метод JNI, который вызывает функцию setClipboardContent () в windows.h для установки содержимого буфера обмена Windows.Заголовок выглядит следующим образом.FormatName - это формат буфера обмена. Данные - это байт [] в Java.Это данные, которые вы хотите поместить в буфер обмена.
Я не совсем понимаю, как вызывать функцию setClipboardContent () в методе JNI.Кто-нибудь может помочь?
JNIEXPORT jboolean JNICALL Java_msoffice_MSOfficeClipboard_setClipboardContents(JNIEnv *pEnv, jobject, jstring formatName, jbyteArray data)
{
BOOL fSucces = OpenClipboard(NULL);
if (fSucces) {
EmptyClipboard();
const char *str = pEnv->GetStringUTFChars(formatName, NULL);
if (str = NULL) return false; /* OutOfMemoryError already thrown */
UINT format = RegisterClipboardFormat(str);
pEnv->ReleaseStringUTFChars(formatName, str);
// This is where I should call setClipboardContent(format, HANDLE) method. I don't know what to do here.
CloseClipboard();
}
return fSucces;
}