Frage

W32API.HWND targetHwnd = User32.INSTANCE.FindWindow("SunAwtFrame", "Frame")
W32API.HWND sourceHwnd = User32.INSTANCE.FindWindow("triuiScreen", "EVE")
W32API.HANDLE thumbnailH = new W32API.HANDLE()

NativeLibrary dwm = NativeLibrary.getInstance("dwmapi")
dwm.getFunction('DwmRegisterThumbnail').invoke(targetHwnd, sourceHwnd, thumbnailH)

gibt mir

# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x70f34bee, pid=7208, tid=7364
#
# JRE version: 6.0_18-b07
# Java VM: Java HotSpot(TM) Client VM (16.0-b13 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [DWMAPI.DLL+0x4bee]

Ich habe ein Gefühl, das ich es völlig falsch mache, aber in der Dokumentation zu graben habe mich nicht weiter.

War es hilfreich?

Lösung

Die 3. param ist ein „out“ Parameter und Bedürfnisse ein Zeiger auf den Griff sein, nicht der Griff selbst. Also, so etwas wie

dwm.getFunction("DwmRegisterThumbnail")
  .invoke(targetHwnd, sourceHwnd, new PointerByReference(thumbnailH))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top