C# 禁用存储卡上的加密而不进行硬重置

C# 禁用存储卡上的加密而不进行硬重置,c#,windows-mobile,C#,Windows Mobile,我正在使用windows mobile 6.1并尝试在不重置设备的情况下禁用存储卡上的加密。如果存储卡是加密的,那么我可以进入ctlpnl并取消选中它,然后单击ok(确定),这会实现我想要的功能并立即解密。如果我通过注册表项更改它,它将在我重新启动设备之前不会解密。我如何在不重新启动的情况下解密它,就像在ctlpnl中一样 我如何知道单击“确定”按钮时会发生什么 到目前为止,我可以通过执行以下代码来更新复选框。但它仍然不能解密存储卡 谢谢 [DllImport("coredll.dll")] p

我正在使用windows mobile 6.1并尝试在不重置设备的情况下禁用存储卡上的加密。如果存储卡是加密的,那么我可以进入ctlpnl并取消选中它,然后单击ok(确定),这会实现我想要的功能并立即解密。如果我通过注册表项更改它,它将在我重新启动设备之前不会解密。我如何在不重新启动的情况下解密它,就像在ctlpnl中一样

我如何知道单击“确定”按钮时会发生什么

到目前为止,我可以通过执行以下代码来更新复选框。但它仍然不能解密存储卡

谢谢

[DllImport("coredll.dll")]
public static extern int SendMessage(IntPtr hWnd, uint msg, int wParam, int lParam);
[DllImport("coredll.dll")]
public static extern bool SendMessageTimeout(IntPtr hWnd, int Msg, int wParam, int lParam, int fuFlags, int uTimeout, out int lpdwResult);
[DllImport("coredll.dll")]
public static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

public const int HWND_BROADCAST = 0xffff;
public const int WM_WININICHANGE = 0x1A;
public const int WM_SETTINGCHANGE = 0x1A;
public const int SMTO_NORMAL = 0x0000; 
public const int SMTO_BLOCK = 0x0001;

 SendMessage((IntPtr)HWND_BROADCAST, WM_WININICHANGE, 0, 0);
            SendMessage((IntPtr)HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
            PostMessage((IntPtr)HWND_BROADCAST, WM_WININICHANGE, 0, 5000);
            PostMessage((IntPtr)HWND_BROADCAST, WM_SETTINGCHANGE, 0, 5000);

这就是加密的目的。它的设计目的不是为了方便四处走动


您必须找到破解加密的方法(即与供应商联系以删除其加密),或者需要从SD卡中取出所需内容并重新格式化。

如我在评论中所述,您可以使用wap设置:



更改仅适用于更改后存储在sd卡上的文件。因此,在您复制加密文件之前,加密文件将保持加密状态。

我不会试图破坏加密。我把钥匙放在设备上,真的只是想弄清楚,当按下ok按钮时,我要做的事情是一样的。我可以重新格式化我想要的卡,但如果仍然启用加密,它将重新加密,直到设备重新启动。让我们只说我对格式化没问题,还更改了encryptmydefault=0。我如何告诉windows mobile停止加密将来复制到设备上的文件,而不重新启动?很抱歉,答复太晚。这听起来像是一个制造商添加的东西,因为Windows不加密SD卡(无论如何,在旧的Windows Mobile中不加密)。听起来你需要联系这个制造商,或者从他们的网站上找到一个SDK。Windows Mobile 61肯定会加密。这是关于它的信息。似乎我甚至无法调用控制面板小程序并使其单击“确定”,因为该小程序被锁定。是的,Windows Mobile 6默认支持SD卡加密。另请参阅我的SD卡上有EncFiltLog.menc文件的问题()。此文件是WM6.x设置的标记。用户发布了一条评论,Josef,但他在我的回答下发布了它。谢谢,这正是我需要的。
<wap-provisioningdoc>
    <characteristic type="SecurityPolicy">     <!-- Set encryption policy such that the user cannot change the setting -->
        <parm name="4134" value="0" /> 
    </characteristic>
    <characteristic type="MobileEncryption">   <!-- Turn on encryption -->
        <parm name="Enable" value="1" /> 
    </characteristic>
</wap-provisioningdoc>