HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\*\MRUList
這里的值記錄的是檔案歷史打開保存記錄
在xp系統下,資料型別是reg_sz, 通過RegistryGet函式可以直接取出來用。
代碼示例如下:
string ls_express, ls_dir
long ll_rtn
blob lbl_temp
ls_express = 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\*'
ll_rtn = RegistryGet(ls_express, "MRUList", Regstring! , ls_dir)
但在vista/win7里。 注冊表位置和資料型別都變了
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU\*\MRUListEx
資料型別是reg_binary, 通過RegistryGet函式取出來后,應該做一個轉換才能使用。
我的做法是:
string ls_express
long ll_rtn
blob lbl_temp
ls_express = 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU\*'
ll_rtn = RegistryGet(ls_express, "MRUListEx", RegBinary! , lbl_temp)
現在我就卡在這里了。lbl_temp無法正確轉為string。
特在此請教各位前輩。。
uj5u.com熱心網友回復:
你自己測驗一下,自己寫的regbinary!,能否正常取出并轉換blob lb
registrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\aa", "aa",RegBinary!,blob('測驗一下'))
registryGet( "HKEY_LOCAL_MACHINE\SOFTWARE\aa", "aa",RegBinary!,lb)
messagebox('',string(lb))
uj5u.com熱心網友回復:
string ls_expresslong ll_rtn
blob lbl_temp
ls_express = 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU\*'
ll_rtn = RegistryGet(ls_express, "MRUListEx", RegBinary! , lbl_temp)
messagebox('', string(lbl_temp, EncodingANSI!))
messagebox('', string(lbl_temp, EncodingUTF8!))
以下是pb中string的幫助說明,請參考
Description
Converts data in a blob to a string value. If the blob's value is not text data, String attempts to interpret the data as characters.
Syntax
String ( blob {,encoding} )
Argument Description
blob The blob whose value you want returned as a string. Blob can also be an Any variable containing a blob.
encoding Character encoding of the blob you want converted. Values are:?EncodingANSI!?EncodingUTF8!?EncodingUTF16LE! (default)?EncodingUTF16BE!
uj5u.com熱心網友回復:
Useless..I have try it before.
it return a messy code.
uj5u.com熱心網友回復:
請參考:http://social.msdn.microsoft.com/Forums/bs-Cyrl-BA/vcmfcatl/thread/bfd89fd3-8dc7-4661-9878-1d8a1bf62697
How to get PIDL from OpenSavePidlMRU
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/62195.html
標籤:API 調用
