mirror of
https://github.com/mitb-archive/filebot
synced 2025-03-09 13:59:49 -04:00
Try to fix 32-bit MWS support
This commit is contained in:
parent
7e4888d95f
commit
197d0e0b6b
@ -10,8 +10,11 @@ public interface Kernel32 extends StdCallLibrary {
|
|||||||
|
|
||||||
Kernel32 INSTANCE = Native.loadLibrary("kernel32", Kernel32.class, W32APIOptions.DEFAULT_OPTIONS);
|
Kernel32 INSTANCE = Native.loadLibrary("kernel32", Kernel32.class, W32APIOptions.DEFAULT_OPTIONS);
|
||||||
|
|
||||||
|
long APPMODEL_ERROR_NO_PACKAGE = 15700;
|
||||||
|
long ERROR_INSUFFICIENT_BUFFER = 122;
|
||||||
|
|
||||||
long GetCurrentPackageFullName(UINTByReference packageFullNameLength, LPWSTR packageFullName);
|
long GetCurrentPackageFullName(UINTByReference packageFullNameLength, LPWSTR packageFullName);
|
||||||
|
|
||||||
long APPMODEL_ERROR_NO_PACKAGE = 15700;
|
long GetCurrentApplicationUserModelId(UINTByReference applicationUserModelIdLength, LPWSTR applicationUserModelId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -13,10 +13,10 @@ import com.sun.jna.Native;
|
|||||||
import com.sun.jna.WString;
|
import com.sun.jna.WString;
|
||||||
import com.sun.jna.platform.win32.Shell32;
|
import com.sun.jna.platform.win32.Shell32;
|
||||||
import com.sun.jna.platform.win32.W32Errors;
|
import com.sun.jna.platform.win32.W32Errors;
|
||||||
|
import com.sun.jna.platform.win32.WTypes.LPWSTR;
|
||||||
import com.sun.jna.platform.win32.WinDef.UINT;
|
import com.sun.jna.platform.win32.WinDef.UINT;
|
||||||
import com.sun.jna.platform.win32.WinDef.UINTByReference;
|
import com.sun.jna.platform.win32.WinDef.UINTByReference;
|
||||||
import com.sun.jna.platform.win32.WinError;
|
import com.sun.jna.platform.win32.WinError;
|
||||||
import com.sun.jna.platform.win32.WTypes.LPWSTR;
|
|
||||||
import com.sun.jna.ptr.PointerByReference;
|
import com.sun.jna.ptr.PointerByReference;
|
||||||
|
|
||||||
public class WinAppUtilities {
|
public class WinAppUtilities {
|
||||||
@ -42,17 +42,29 @@ public class WinAppUtilities {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String getPackageName() {
|
public static String getPackageName() {
|
||||||
UINTByReference length = new UINTByReference(new UINT(0));
|
UINTByReference packageFullNameLength = new UINTByReference(new UINT(64));
|
||||||
if (Kernel32.INSTANCE.GetCurrentPackageFullName(length, null) != W32Errors.ERROR_SUCCESS) {
|
LPWSTR packageFullName = new LPWSTR(new Memory(packageFullNameLength.getValue().intValue() * Native.WCHAR_SIZE));
|
||||||
throw new IllegalStateException("Kernel32.GetCurrentPackageFullName");
|
|
||||||
|
long r = Kernel32.INSTANCE.GetCurrentPackageFullName(packageFullNameLength, packageFullName);
|
||||||
|
|
||||||
|
if (r != W32Errors.ERROR_SUCCESS) {
|
||||||
|
throw new IllegalStateException(String.format("Kernel32.GetCurrentPackageFullName (%d)", r));
|
||||||
}
|
}
|
||||||
|
|
||||||
LPWSTR lpwstr = new LPWSTR(new Memory(length.getValue().intValue() * Native.WCHAR_SIZE));
|
return packageFullName.getValue();
|
||||||
if (Kernel32.INSTANCE.GetCurrentPackageFullName(length, null) != W32Errors.ERROR_SUCCESS) {
|
}
|
||||||
throw new IllegalStateException("Kernel32.GetCurrentPackageFullName");
|
|
||||||
|
public static String getPackageAppUserModelID() {
|
||||||
|
UINTByReference applicationUserModelIdLength = new UINTByReference(new UINT(64));
|
||||||
|
LPWSTR applicationUserModelId = new LPWSTR(new Memory(applicationUserModelIdLength.getValue().intValue() * Native.WCHAR_SIZE));
|
||||||
|
|
||||||
|
long r = Kernel32.INSTANCE.GetCurrentPackageFullName(applicationUserModelIdLength, applicationUserModelId);
|
||||||
|
|
||||||
|
if (r != W32Errors.ERROR_SUCCESS) {
|
||||||
|
throw new IllegalStateException(String.format("Kernel32.GetCurrentApplicationUserModelId (%d)", r));
|
||||||
}
|
}
|
||||||
|
|
||||||
return lpwstr.toString();
|
return applicationUserModelId.getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void initializeApplication(String aumid) {
|
public static void initializeApplication(String aumid) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user