|
飞信是中国移动推出的一款聊天工具,在PC客户端上,聊天记录是不容易导出的。经过研究发现,飞信PC客户端使用的数据库是SQLite,它的数据库文件一般存放在:C:\Documents and Settings\用户名\Application Data\Fetion\708087590\history.dat 中,可以使用程序将其导出。
使用C#导出记录的关键代码如下:
string sqlE = "";
if (dtpStartTime.Checked && dtpEndTime.Checked)
{
sqlE = " and MessageBody.Time>=$time1 and MessageBody.Time<=$time2";
}
else if (dtpStartTime.Checked && !dtpEndTime.Checked)
{
sqlE = " and MessageBody.Time>=$time1";
}
else if (!dtpStartTime.Checked && dtpEndTime.Checked)
{
sqlE = " and MessageBody.Time<=$time2";
}
else
{
sqlE = "";
}
try
{
connHis = new SQLiteConnection(string.Format(connString, DataBaseUrl, txtOwnFetionNumber.Text));
SQLiteDataAdapter sda = new SQLiteDataAdapter();
DataSet ds = new DataSet("Message");
connHis.Open();
string sql = "select MessageBody.SenderName,Message.ReceiverName,MessageBody.Body,MessageBody.Time " +
" from MessageBody,Message " +
" where MessageBody.ID=Message.MessageID and (" +
" Message.ReceiverUri like '%" + FriendFetionNum + "%' or Message.ReceiverUri like '%" + OwnFetionNumber + "%'" +
" or Message.ReceiverUri like '%" + OwnTelephone + "%' or Message.ReceiverUri like '%" + FriendTelephone + "%')" +
" and (MessageBody.SenderUri like '%" + FriendFetionNum + "%' or MessageBody.SenderUri like '%" + OwnFetionNumber + "%'" +
" or MessageBody.SenderUri like '%" + OwnTelephone + "%' or MessageBody.SenderUri like '%" + FriendTelephone + "%')" +
" and (MessageBody.MessageType=1 or MessageBody.MessageType=4)" +
sqlE + " order by MessageBody.Time desc";
sda.SelectCommand = new SQLiteCommand(sql, connHis);
if (dtpStartTime.Checked && dtpEndTime.Checked)
{
sda.SelectCommand.Parameters.AddWithValue("$time1", dtpStartTime.Value);
sda.SelectCommand.Parameters.AddWithValue("$time2", dtpEndTime.Value);
}
else if (dtpStartTime.Checked && !dtpEndTime.Checked)
{
sda.SelectCommand.Parameters.AddWithValue("$time1", dtpStartTime.Value);
}
else if (!dtpStartTime.Checked && dtpEndTime.Checked)
{
sda.SelectCommand.Parameters.AddWithValue("$time2", dtpEndTime.Value);
}
else
{
}
sda.Fill(ds, "Msg");
ds.Tables[0].Columns.Add("tTime");
ds.Tables[0].Columns.Add("Remark");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
ds.Tables[0].Rows["tTime"] = ds.Tables[0].Rows["Time"].ToString();
ds.Tables[0].Rows["Remark"] = "飞信";
}
ds.Tables[0].Columns.Remove("Time");
ds.Tables[0].Columns["tTime"].ColumnName = "Time";
string Xml = ds.GetXml();
System.IO.File.WriteAllText(txtXMLPath.Text.Trim(), Xml, System.Text.Encoding.UTF8);
sda.Dispose();
connHis.Close();
MessageBox.Show("聊天记录已经成功导出为xml文件,现在您可以将xml导入到网站", "操作成功", MessageBoxButtons.OK,
MessageBoxIcon.Information);
点击这里可以下载应用程序。 |
-
-
fetion.rar
458.25 KB, 下载次数: 1024
下载后运行目录中的FetionBackUp_1_0_0_2
|