RSS 2.0 Feed
2004-06 Entries
摘要:Report: Hotmail To Offer 250 MB Free Storage  除了Yahoo!之外,hotmail也要给大家提供更大的邮件空间了。从这一点来讲,我喜欢Gmail.除了国外的传统email服务商,国内的比如163,23,sina也打着各种各样的招牌,宣布自己也要增加邮箱的空间。联想起当年,一窝蜂的降低邮箱大小,不得不感慨一下国内的@$!$!$%@#$%#$% 说起感慨国内,这个也许更能说明一些问题。 ,不过既然敢打出Gmail的牌子,为什么只给提供25M的空间呢? 这个编辑器的一个Tip:为了保持上个段落的格式,在回车的时候按住Shift,这个是我在CodeProject看到的 现在BlogCn做的比以前好多了,提交的时候自动将blog的内容保存到剪贴板上,这样就算IE出错,也不至于影响blog的情绪,但是这样又带来了新的问题,万一我原来的剪贴板上是有内容的话,怎么办?...[阅读全文]

posted @ | Feedback (15) |

摘要:终于申请到了自己的Gmail帐户,但是开心说没有自动登录的程序可以收邮件,并且想找一些Gmail的Client API ,并且向我推荐了HTTP 1.1中的WebDav,我可使第一次听说在HTTP 1.1 中除了Post,Get以外增加了这么多的内容,开心同时还告诉我,在Exchange 中已经支持WebDav了。   这些先进的东西我不懂,不过我有我的老绝招---控制IE。 其实控制IE是个老题目了,网上也有很多这样的例子,比较突出的就是codeproject上的Yahoo mail. 不过这些都没有解决Frames和IFrame的问题,而很不幸Gmail的登陆是在IFrame中,不过在Visual Assit 的帮助下,这些都不是问题。 代码基本上就是下面了。谁需要完整的例子,可以给我留言。 void getGMailFrame() {                        SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);   //生成一个IE窗口的智能指针                      if (spBrowser){                             spDispatch=NULL;                 if (SUCCEEDED(spBrowser->get_Document( &spDispatch)))                                    pDoc2 = spDispatch;                             if(pDoc2!=NULL)                             {                                    pIFrameElementCol=NULL;                                    CComPtr<IHTMLFramesCollection2>  pIFrameCol;                                    if (SUCCEEDED(pDoc2->get_frames(&pIFrameCol)))                                    {                                           //成功得到页面中所有的Frames                                           long p=0;                                           pIFrameCol->get_length(&p);                                           if(p!=0)                                           {   //如果有一个以上的Frame,则进一步分析                                                  for(long i=0;i<=(p-1);i++)                                                  {                                                             VARIANT frameRequested;                                                         VARIANT frameOut;                                                         frameRequested.vt = VT_I4 ;                                                         frameRequested.bstrVal = (BSTR)i;                                                         pIFrameCol->item(&frameRequested, &frameOut);                                                         IHTMLWindow2* pIFrameWindow;                                                         frameOut.pdispVal->QueryInterface(IID_IHTMLWindow2, (void**)&pIFrameWindow);                                                         IHTMLDocument2* pIFrameDoc;                                                         pIFrameWindow->get_document(&pIFrameDoc);                                                         ParseDoc(pIFrameDoc);                                                  }                                           }                                    }                             }                      }               }        } }   让我郁闷的是,在我写完这个程序以后,我的同事webmote找到了可以直接登入Gmail系统的连接,如果不喜欢这么复杂的登陆,直接访问这个就可以了。...[阅读全文]

posted @ | Feedback (41) |

摘要:最近看到很多Blog上都在讨论Blog Spammer的问题。 Comment Spam: 现状和对策 以及其中的留言都对这个问题进行了很深入的讨论。为了测试大家的理论的正确性,我自己写了一个Spam的软件,看看是否是真的可以做到这一点。 其实这样的程序是很简单的,为了简单起见,我使用了托管C++来写这个工具。 其实这样的工具是很简单的说,不过是大家没有时间做而已。我利用了RSS中提供的comment的键值找到当前可以进行评论的页面,然后用Web Browser控件实现提交即可。 其中可能还有些用处的就是对Rss文件的解析,在CodeProject上http://www.codeproject.com/csharp/rssframework.asp是一个CSharp的非常不错的工具,我么有必要用到那么多复杂的功能,我自己用MC++写了一段简单的代码:      Uri* myUri = new Uri(txtRss->Text);   // Create a new request to the above mentioned URL.   WebRequest* myWebRequest= WebRequest::Create(myUri);   // Assign the response object of 'WebRequest' to a 'WebResponse' variable.   WebResponse* myWebResponse = myWebRequest->GetResponse();    Stream *RssStream=myWebResponse->GetResponseStream();   Encoding* encode = System::Text::Encoding::GetEncoding(S"utf-8");   // Pipes the stream to a higher level stream reader with the required encoding format.   StreamReader* readStream = new StreamReader(RssStream, encode);   //read the return stream into an xml reader   XmlReader *xmlTextReader=new XmlTextReader(readStream);    然后针对XmlTextReader进行Parse就好了。对着一个现成的Rss文件,就知道该怎么办了。 至于这个工具,有兴趣的朋友可以自己写一个或者我们可以共同提高。不过需要注意的是,现在的Blog系统,明显没有做好解决这样的问题的准备。  ...[阅读全文]

posted @ | Feedback (11) |

摘要:Intel昨天宣布(或者说应该是今天),将开放新一代BIOS(Tiano)的源码。或许我们从此就要和我们从认识计算机开始的BIOS启动画面说再见了。 真的希望Intel能够将自己Intel Complier给Open了。 HP宣布自己也加入Open Source 的阵营。 是不是,我们也有必要将自己开发的软件给Open了? 今天下午去成都,又没有地头上接待呀。...[阅读全文]

posted @ | Feedback (6) |