分类目录归档: 学习日志

编译好的windows版本的libplist

  这个解析苹果的plist专用的。用cmake搞了好久才弄出来的。运行要有libxml2.dll和zlib1.dll。经过试验可以用。源码demo都在。 点这里下载

// TestPlist.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <plist/plist.h>
#include <stdlib.h>

#pragma comment(lib, "libplist.lib")

int main(int argc, char* argv[])
{

 char *payload = NULL;
 unsigned __int32 payload_size = 0;

 plist_t dict = plist_new_dict();

 plist_dict_insert_item(dict, "这是key", plist_new_string("这是string"));

 plist_to_xml(dict, &payload, &payload_size);
 plist_free(dict);

 printf("%s n" , payload);
 free(payload);

 return 0;
}

拯救我的me860

  自从上次乱刷造成开不了机,刷法国、巴西底包会显示sec_exception: febe, 35, 35后。

自己就想,我一个个底包刷总有可以的。后来在http://www.angeeks.com/thread-1444953-1-1.html 里找到了ATT专用的底包ATT olympus-user-2.3.4-4.5.91-110625。发现不会出现sec_exception: febe, 35, 35现象了。而且成功了。

其实不用解锁也是可以用的,直接插移动卡都可以打电话上网。但是是英文的,不喜欢。就解锁,解锁时又遇到sec_exception: febe, 35, 35。

后来照着http://bbs.gfan.com/android-3498034-1-1.html这个帖子,就OK了。

刷基带的时候会失败。后来开机在进入恢复模式,单独刷基带就可以了。

1、我刷的底包ATT olympus-user-2.3.4-4.5.91-110625,这里要分清自己是国际版,还是ATT版。我自己就弄错了以为自己是国际版的。

http://115.com/file/bhtp9pjw

2、我刷的ROM Top_T5_end

3、我刷的基带 国行2.3.5基带

4、国行2.3.5WEBTOP下载

http://115.com/file/aqxbqwd7

最后感谢这三个帖子

http://www.angeeks.com/thread-1444953-1-1.html

http://bbs.gfan.com/android-3498034-1-1.html

http://bbs.gfan.com/android-3591719-1-1.html

复制内容到粘贴板或剪切板

[cpp]
//////////////////////////////////////////////////////////////////////////
//复制文字到剪切板
bool CopyTextToClipbrd(LPCTSTR lpData)
{
if (!OpenClipboard(NULL))
return false;

bool fOk = false;
EmptyClipboard();

int len = lstrlen(lpData);

if (len &gt; 0)
{
HGLOBAL hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (len + 1) * sizeof(TCHAR));

if (hglbCopy == NULL)
goto _exit;

LPTSTR lptstrCopy = (LPTSTR)GlobalLock(hglbCopy);

memcpy(lptstrCopy, lpData, len * sizeof(TCHAR));

GlobalUnlock(hglbCopy);
UINT format = CF_TEXT;

if (SetClipboardData(format, hglbCopy)==NULL)
goto _exit;

fOk = true;
}

_exit:
CloseClipboard();

return fOk;
}
[/cpp]

MFC选择文件夹对话框

void Dlg::OnBtNdBrowse()
{
 // TODO: Add your control notification handler code here
 BROWSEINFO bi = {0};

 TCHAR szFilePath[MAX_PATH] = {0};
 ITEMIDLIST *pidl = {0};

 bi.hwndOwner = m_hWnd;
 bi.lpszTitle = "请选择要保存到的文件夹";
 bi.ulFlags  = BIF_RETURNONLYFSDIRS | BIF_EDITBOX | BIF_NEWDIALOGSTYLE;
 bi.lpfn   = BrowseCallbackProc;

 bi.lParam = (LPARAM)"C:"; //默认文件夹

 pidl = ::SHBrowseForFolder(&bi);  //获取目录
 if (pidl == NULL)
 {
  //MessageBox("选择的目录不能为空");
  return;
 }

 if (!::SHGetPathFromIDList(pidl, szFilePath)) //获取目录
  return;

 int fpl = strlen(szFilePath);
 if(szFilePath[fpl-1] != ”)
 {
  szFilePath[fpl] = ”;
  szFilePath[fpl+1] = ‘’;
 }
 //szFilePath 这里获取到了

}

int CALLBACK Dlg::BrowseCallbackProc(HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
 if(uMsg == BFFM_INITIALIZED ){        //设置初始化目录
  ::SendMessage(hWnd, BFFM_SETSELECTION, TRUE, lpData);
 }
 return 0;
}