Unable to drag files into Cubase due to Windows UIPI

Under Windows 7+, there is a feature in the system that called “User Interface Privilege Isolation”. It prevents processes with a lower “integrity level” (IL) from sending messages to higher IL processes (except for a very specific set of UI messages).

So if run Cubase as Administrator, I cannot drag any file from Explorer to Cubase, because Explorer is not in Administrator mode. Explorer is with a lower IL and Cubase is with a higher one.

This can be solved by a declaration. You can use Windows API ChangeWindowMessageFilter to allow file dragging from lower IL Explorer.

An example below:

void InitUIPIFilter()
    typedef BOOL (WINAPI *ChangeWindowMessageFilterProc)(UINT,DWORD);
    HMODULE hUser = LoadLibraryA("user32.dll");
    if (hUser)
        ChangeWindowMessageFilterProc proc = (ChangeWindowMessageFilterProc)GetProcAddress(hUser, "ChangeWindowMessageFilter");

Or it can be solved by run Cubase in normal mode, but I can’t do that! In anoter issue I said my Cubase cannot find License without running it as Administrator!