@ComInterface(iid = "{EA1AFB91-9E28-4B86-90E9-9E9F8A5EEFAF}")
public interface ITaskbarList3 extends ITaskbarList2 {
/* https://msdn.microsoft.com/en-us/library/windows/desktop/dd391703%28v=vs.85%29.aspx */
@ComMethod
public HRESULT ThumbBarAddButtons(HWND hWnd, int cButtons, THUMBBUTTON pButton);
/* https://msdn.microsoft.com/en-us/library/windows/desktop/dd391705%28v=vs.85%29.aspx */
@ComMethod
public HRESULT ThumbBarUpdateButtons(HWND hwnd, int cButtons, THUMBBUTTON pButton);
/* https://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */
@ComMethod
public HRESULT SetProgressState(HWND hwnd, int tbpFlags);
/* https://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */
@ComMethod
public HRESULT SetProgressValue(HWND hwnd, ULONGLONG ullCompleted, ULONGLONG ullTotal);
/* https://msdn.microsoft.com/pt-br/library/windows/desktop/dd562322.aspx */
public static interface THUMBBUTTONMASK {
public static final int THB_BITMAP = 0x00000001;
public static final int THB_ICON = 0x00000002;
public static final int THB_TOOLTIP = 0x00000004;
public static final int THB_FLAGS = 0x00000008;
}
/* https://msdn.microsoft.com/pt-br/library/windows/desktop/dd562321.aspx */
public static interface THUMBBUTTONFLAGS {
public static final int THBF_ENABLED = 0x00000000;
public static final int THBF_DISABLED = 0x00000001;
public static final int THBF_DISMISSONCLICK = 0x00000002;
public static final int THBF_NOBACKGROUND = 0x00000004;
public static final int THBF_HIDDEN = 0x00000008;
public static final int THBF_NONINTERACTIVE = 0x00000010;
}
/* https://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */
public static interface TBPFLAG {
public static final int TBPF_NOPROGRESS = 0x00000000;
public static final int TBPF_INDETERMINATE = 0x00000001;
public static final int TBPF_NORMAL = 0x00000002;
public static final int TBPF_ERROR = 0x00000004;
public static final int TBPF_PAUSED = 0x00000008;
}
}
public class ExplorerFrames extends COMLateBindingObject {
public ExplorerFrames() {
super(new CLSID("EA1AFB91-9E28-4B86-90E9-9E9F8A5EEFAF"), false);
}
}
CLSID_TaskbarList: "56FDF344-FD6D-11d0-958A-006097C9A090".
Then you can create the object. With the IID as class-id windows is right: that class is not registered.
Hope this helps.
With kind regards,
Mathias
Hello,
I've been trying to map ITaskBarList3 and I'm having some trouble with it.
I'm fairly new to JNA and haven't used COM with it before, however, by following some tutorials in c++ I've managed to find the (I think) correct CLSID's and map the correct methods.
After failing to initialise the object normally, I switched to ComLateBindingObject but I still cannot create an instance.
Not sure if you prefer doing this arithmetic, but I've always found it easier to look up the C vtable definition, as it includes all the inherited methods in the right order. Open Shobjidl.h and find ITaskbarList3Vtbl