2013-05-23 1 views
0

Я использую Windows Mobile 6.1 и пытаюсь отключить шифрование на карте памяти без перезагрузки устройства. Он появляется, если карта памяти зашифрована, и я могу войти в ctlpnl и снять ее с экрана, а затем щелкнуть ОК, что делает то, что я хочу и дешифрует прямо сейчас. Если я изменил его по ключу реестра, он не будет расшифровываться, пока я не перезагружу устройство. Как я могу его расшифровать без перезагрузки, как это происходит в 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); 

ответ

0

Это то, что шифрование для. Он не предназначен для легкого передвижения.

Либо вам нужно будет найти способ разбить шифрование (то есть связаться с продавцом об удалении их шифрования), либо вам нужно будет извлечь то, что вы хотите от SD-карты, и переформатировать его.

+0

Я не пытаюсь разбить шифрование. У меня есть ключ на устройстве, и я просто пытаюсь понять, как сделать то же самое, что и при нажатии кнопки ok. Я могу переформатировать карту все, что хочу, но если шифрование все еще включено, оно будет зашифровано до перезагрузки устройства. – user2190928

+0

Давайте просто скажем, что я в порядке с форматированием, а также изменил encryptmydefault = 0. Как я могу сказать Windows Mobile прекратить шифрование будущих файлов, скопированных на устройство без перезагрузки? – user2190928

+0

Извините за поздний ответ. Это похоже на то, что добавил производитель, поскольку Windows не шифрует SD-карты (не в старой Windows Mobile, так или иначе). Похоже, вам нужно будет связаться с этим производителем или найти SDK для него на своем веб-сайте. – jp2code

1

Как уже упоминалось в моем комментарии, вы можете использовать WAP инициализацию: http://msdn.microsoft.com/en-us/library/bb416357.aspx

<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> 

Изменения будут применяться только к файлам, хранящимся на сд карту после изменения. Таким образом, зашифрованные файлы остаются зашифрованными до тех пор, пока вы их не скопируете.

+0

Пользователь отправил комментарий, Josef, но он разместил его под моим ответом. – jp2code

+0

Спасибо, что сделал именно то, что мне нужно. – user2190928

Смежные вопросы