惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
Recorded Future
Recorded Future
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The GitHub Blog
The GitHub Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Microsoft Azure Blog
Microsoft Azure Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
M
MIT News - Artificial intelligence
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
N
News | PayPal Newsroom
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Help Net Security
Help Net Security
博客园 - Franky
SecWiki News
SecWiki News
Recent Announcements
Recent Announcements
T
Troy Hunt's Blog
The Register - Security
The Register - Security
The Last Watchdog
The Last Watchdog
Webroot Blog
Webroot Blog
S
Security Affairs
博客园 - 司徒正美
S
Schneier on Security
I
InfoQ
博客园_首页
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Threat Research - Cisco Blogs
Forbes - Security
Forbes - Security
腾讯CDC
N
Netflix TechBlog - Medium
N
News and Events Feed by Topic
Cloudbric
Cloudbric
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
Recent Commits to openclaw:main
Recent Commits to openclaw:main
B
Blog
V
Vulnerabilities – Threatpost
C
Check Point Blog
Google DeepMind News
Google DeepMind News
Google Online Security Blog
Google Online Security Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
Cisco Blogs
Schneier on Security
Schneier on Security
O
OpenAI News
K
Kaspersky official blog

博客园 - DotCat

幽默的David Solomon MSDN上ReportViewer的两个代码下载地址 .NET threading in C# Training Highlights sharing Converting RDL and RDLC Files VS打SP1后reportviewer用custom assembly的变化 Meet 牛人 @ April: Jeffrey Richter & David Solomon 哈,IE7!--dudu的CNBlogs DotText 1.0 Beta 2中FreeTextBox对IE7的不兼容性 CCS bug之8: 有关设置精华帖的操作在帖子的操作历史里浏览出错 CCS bug之7: 设置精华帖后在精华区不能看到 [CodeProject每日一荐]实现Double Metaphone语音匹配算法[三,四] VBScript调用COM;存储过程实现及高级话题 MSN和Windows Live Messenger机器人大赛 [CodeProject每日一荐]实现Double Metaphone语音匹配算法[二]:Visual Basic的COM实现和关系数据库解决方案 [CodeProject每日一荐]实现Double Metaphone语音匹配算法[一]:介绍与C++实现 [CodeProject每日一荐] 基于xml的在线选择题小测试(调查问卷) 解决问题: .Net异常 Method not found: Void System.Web.UI.WebControls.BaseDataList.set_Caption(System.String). 解决问题: sql server 2000 企业管理器打不开了 推荐解除文件锁定软件: unlocker CuteChat3.0 (for CommunityServer2.0) 发布了 CommunityServer 2.1 的消息
当你聊天你会想起谁--Vista Sidebar Gadget DIY
DotCat · 2007-02-05 · via 博客园 - DotCat

看到有vista的sidebar gadget的比赛,早就心痒痒了,但是一开始论文压倒一切,没功夫给头脑来个风暴想想what to do,中间网络又抽风,没资源让我看看How to do,最后人偏懒,一会儿瞎忙活,一会儿耍摆起,没心情静下来整整程序.盖茨保佑,总算在我即将答辩,溜之大吉之前完成了一个小小的程序--当你聊天你会想起谁.程序尚在审批之中,还没列在作品展示中,因为简陋而匆忙,得奖就不奢望了,这次真的督促自己践行了一把"重在参与".

把思路理一理吧,最初设想蛮简单的:根据Windows Live Messenger聊天历史记录
P0: (1)按最近聊天和最多聊天排序显示联系人.(2)显示联系人当前在线状态
P1: (3)能通过点击图标直接打开聊天窗口
P2: (4)分析聊天历史,以类似outlook calendar的直观图形方式显示用户及其联系人在不同时段的昵称
P3: (5)对不同联系人的聊天字数提供图形化的统计结果

功能(1)比较容易,让用户来配置聊天历史记录目录,分析其下文件就行.但是聊天历史记录的文件名是在联系人的Email前綴(用户名)加了9或10个哈希数字而得的,所以联系人的Email还不得而知,这样功能(3)无法实现.至于如何通过点击就能打开聊天窗口,粗粗设想考虑了2个方案:
(a)记得以前windows messenger的exe中有Messenger Client的API,我可以调用它从而每次从服务器获取联系人信息
(b)记得以前Hotmail等网站上用某些ActiveX控件可以显示联系人的在线状态,配合msnim:chat?contact=...语法即可实现功能(2)

调研后发现(a)的API已经不再支持了,windows server 2003, vista不自带windows messenger,没有试验原来的API还是否可以运行,决定弃用方案(a),而且我的注册表里和现在的live系列网站上都找不到原来的HotmailControl等ActiveX了,诡异!估计微软处于安全考虑不打算再使用这些ActiveX了,山穷水尽疑无路,柳暗花明又一村,又看到2个方案:
(c)msdn上另外的API:MessengerClient
(d)微软推出个Windows Live Contacts Control Beta v2d,看了介绍,似乎直接利用该控件再加点对聊天记录的分析就大功告成,

再调研后发现MessengerClient主要是针对插件开发,体系结构不允许gadget这样调用,而且功能也不包括获取联系人列表.地震之后,Windows Live Messenger Service和Presence Service太不稳定了,Windows Live Contacts Control打开100次才能连上一次,而且1分钟就断了,几乎没法用.

拖了太久,无心恋战,于是想先实现部分功能吧,就先瞄准了功能(1)和(3),在微软提供的vem empty示例代码基础上开始修改.让用户在WLM上导出自己的联系人列表,再在gadget里配置一下,这样在联系人Email和其聊天记录文件中做个简单的映射.

支持系统: Vista
支持语言: 中英文
使用步骤
:
[1]从这里或稍后在比赛网站下载,如果是.rar格式,则须解压为gadget后缀的文件,然后双击安装.得下图

[2]点击上图中红圈所示图标,如下进行两步设置.

已知问题:
[1]点击联系人用户名或其前的图标时,打开聊天窗口的同时会在浏览器中打开一个新窗口,比较土,还没想到解决办法.
[2]如果在导出联系人列表后与以前从未聊天的联系人聊天,则gadget无法找到该联系人的Email信息,从而不能打开聊天窗口.而且显示该联系人用户名也只能根据聊天记录文件名,可能会多一位数字.
[3]理论上有将联系人Email和其聊天记录文件映射错误的可能

后话:虽然这个功能很微小,但后来发现还其他人有类似想法呃,http://gallery.live.com/results.aspx?c=3&l=1
,其中Compact messenger我没有运行成功,看代码用到了一个ActiveX,推测是我的电脑上新版本的WLM没有这个ActiveX导致.Cener Live Messenger Gadget跑得不错,看了代码,一看connector目录有个MSNMessengerAPI.dll,我就明白了,人家不嫌麻烦地自己带了API呃,虽然后向兼容性有所隐患,简化版的Messenger总算做得到家,如果我用这个技术也不至于手脚受限,功能弱弱.