为了便于搜索,这里尽可能保留了论坛上讨论的原文,但是这并不表示本人赞同帖子中的表述方式和观点。
CSDN 讨论总结系列:
Jiangsheng的CSDN Digest (Jan 21 2006)( http://blog.csdn.net/jiangsheng/archive/2006/03/05/615669.aspx)
Jiangsheng的CSDN Digest (Jan 7 2006)(http://blog.csdn.net/jiangsheng/archive/2006/01/07/573288.aspx)
Jiangsheng的CSDN Digest (Jan 1 2006)http://blog.csdn.net/jiangsheng/archive/2006/01/01/568362.aspx
Jiangsheng的CSDN Digest (Dec 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx)
Jiangsheng的CSDN Digest (Oct 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/27/563274.aspx)
Win32 & .Net Q&A 200509 (http://blog.csdn.net/jiangsheng/archive/2005/09/13/480540.aspx)
Win32 & .Net Q&A (http://blog.csdn.net/jiangsheng/archive/2005/02/28/304654.aspx)
VC/MFC Q&A 200407 (http://blog.csdn.net/jiangsheng/archive/2004/07/13/40771.aspx)
在c++中如何创建一个文件? (VC/MFC 基础类)
已知IStream *pIStream取道内容,如何将pIStream内容写到一个文件中去?
http://www.codeproject.com/cpp/memorystream.asp
















bResult = WriteFile( hFile, lpData, lBytesStreamed, &dwBytesWritten, NULL );

bResult &= ( dwBytesWritten == (DWORD)lBytesStreamed );























想获取windows下CPU温度,请高手指点(其他开发语言 汇编语言)
搜索过以前的帖子,发现没有好的解决方案.那我想只能分成下面几个步骤进行:
1,获取主板上用于监测的芯片型号。
2,针对特定型号写特定的访问程序。
现在想请高手指点,如何获取主板上使用的芯片型号?现在我对windows驱动是一窍不通。
try http://support.microsoft.com/default.aspx?scid=306852
or contact your motherboard manufacturer.
虽然ms在win2k之后就提供wmi中的win32_temperatureProbe,但大部分主板不能直接支持(需要安装主板自己的驱动程序)现在的普遍做法是通过访问superio的register来获取,所以程序第一步就是必须获取主板上的superio芯片的型号,不同型号的访问方法不同
如何监控Outlook Express接收新邮件? (VC/MFC ATL/ActiveX/COM )
想做的是像杀毒软件的邮件监控程序那样,每当Outlook Express接收到新邮件时,先启动自己编的一个程序,由这个程序中先检查这封电子邮件的标题和内容。查了好多资料,最多的都是用Office里的Outlook.可我们的要求是OE。如果可以实现我上面的功能,那能否扩展到任何邮件处理程序(如foxmail...)都适用可以监控呢?
检查这封电子邮件的标题和内容可以通过抓pop3包来实现。直接hook winsock的相关函数,然后检查进程名称,是邮件发生程序则执行自己的工作。
Outlook Express is not designed for automation. however, if you target Windows XP or later, you may use some new OE interfaces to obtain information.
Reference:
把一个WebBrowser窗口里的内容都写到bmp里(VC/MFC 图形处理/算法)
有两个思路,第一个是提取WebBrowser的hdc,然后得到hBitmap,然后按Bmp的格式保存。还有一个很痛苦的方法, 就是在hMemDC里按WebBrowser中的字体字号去自己画。现在我尝试第一个方法,可是WebBrowser的内容很长,有滚动条控制的,我得到的hdc里只有当前屏幕上的内容。
IViewObject
http://www.2ccc.com/article.asp?articleid=1423
http://www.codeproject.com/miscctrl/wbp.asp
http://www.codeproject.com/internet/htmlimagecapture.asp
使用CListCtrl显示大批量缩略图问题 (VC/MFC 界面)
由于工作需要大批量显示SolidWorks文件的缩略图(一万个左右),我现在使用的是虚CListCtrl既style = LVS_ICON|LVS_ALIGNTOP|LVS_OWNERDATA|WS_VISIBLE|WS_BORDER|WS_CHILD|LVS_SINGLESEL,对于SolidWorks文件可以读成bitmap,由于文件太多内存存不下,我现在想利用文件缓存,来缓存我生成的这些bitmap,有没有这样的方法,最好有例子.
我看了vcmute(横秋)有关这方面的解释提道了IExtractImage,不知道能解决我的问提吗?
http://community.csdn.net/Expert/topic/4134/4134216.xm8l?temp=.4045069
提供的连接没打开.
既然用了虚拟列表,一次显示的缩略图也不会超过几百个吧,这样对内存的需求就减少了很多。至于缓存,不需要加载所有的缩略图,使用后马上释放掉就可以了,利用双缓冲,绘制到一个内存DC上,刷新的时候再调取需要的缩略图http://blog.csdn.net/jiangsheng/archive/2003/11/20/3796.aspx
这个示例没有在空闲时释放缓存,你可以自己决定缓存的大小上限,然后改写PrepCache函数。
http://www.codeguru.com/cpp/controls/listview/usingimages/article.php/c899/
http://www.codeguru.com/cpp/controls/listview/usingimages/article.php/c4159
http://www.codeproject.com/shell/thumbextract.asp
请问怎样屏蔽WebBrowser下载窗口(VB 网络编程 )
当用WebBrowser打开一些不能解释的文件时就出现下载窗口,请问怎样屏蔽?即如果不能解释时就只出现网页不有打开页面不出现下载窗口。
一个思路:新建一个线程,在新的线程中不停的查找"文件下载"对话框,找到后,就用postmessage关闭它,不过要注意两个问题,一是要保证程序安全执行,调试的时候要小心,第二是,这样做的开销问题
让VB6.0编的程序通过soap tooltik3.0调用C#写的WebService? (.NET技术 Web Services )
目前要改造部分以前用VB6.0编的管理程序,需要通过soap tooltik3.0调用C#写的WebService。由于这方面资料很少,只有求助于CSDN上的各位朋友了,谢谢!
http://msdn.microsoft.com/library/en-us/dnmapnet30/html/_MWSHeaders.asp
用什么工具能够将 一个COM插件注册(反注册)操作 提取到一个 .reg文件中(VC/MFC ATL/ActiveX/COM)
注册时被调用的插件的DllRegisterServer函数的具体实现依赖于DLL的作者,有可能超出注册表操作的范围。要监视注册表操作的话,HOOK 注册表操作函数,把目标进程的一切注册表操作和文件操作都被记录下来。
使用WebBrowser控件,如何获取当前页面,当前鼠标所在图片【或文字】的连接地址(Delphi 网络通信/分布式开发 )
简单来说,就是如何获取网页中当前鼠标下的连接地址











最近用IShellFolder2做了个遍历文件夹的程序,但是我发现当文件夹中文件数超过3000时,shell接口也不是很快啊(VC/MFC 基础类 )
能不能讲讲windows explorer点击文件夹,然后显示在右边list的工作原理。以前我也用vlist实现过,我用vector<MyData>存储每个右边tree的相应打开的list条目,MyData类型是存储文件夹下各个路径pidl及该节点一些辅助信息,然后在vlist需要显示的时候在把PIDL转换成相应的filename,filesize,filetype等等,可是还是很慢啊,(当然我是把vector填充满了以后再update_vlist),照理说vector插入几千条简单结构的记录应该很快才对啊。如果普通list用TEXTCALLBACK和I_IMAGECALLBACK,也是在需要显示时才去调用相应的text和image吧?那这样效率和虚列表差不多吧,指的是10000条记录以下的list
explorer那不是遍历,那只是展开当前文件下的文件而已。遍历肯定会慢的,IShellFolder应该是最理想的方法了,你也可以用一下FindFile,但是对虚拟目录无效。普通list用TEXTCALLBACK和I_IMAGECALLBACK还是可能差一些,因为虚列表中提供了缓存消息,你可以在适当的时候缓存数据来提高性能。vlist 只会重绘当前能显示的条目。如果你要保存数据结构的话,建议使用一个CArry只保存PIDL,然后用另外CArry一个保存要显示的信息列结构体的指针,再把第二个CArry以地址的方法传给vlist ,然后开线程去计算其他的信息,每计算一条调用一次RedrawItem,当然线程的操作要小心。仔细观察expolore你会发现,某些列的重绘并不是及时的。比如一个音乐文件的时间
有没有人用activeX控件或者其它控件显示过chm文件的内容(Delphi VCL组件开发及应用 )
请教:如用使用HtmlHelpA函数调用chm文档的指定页面(Delphi VCL组件开发及应用)
是显示在delphi的form里就行,不是调用hh.exe
Use the webbrowser control.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/vsconocxov.asp
The HTML Help ActiveX control is designed to work with Internet Explorer and the Shdocvw.dll component. It does not include the design-time support that is necessary to use it with development tools, such as Microsoft Visual Basic Scripting Edition and Microsoft Visual C++.
var
theAdd: OleVariant;
begin
theAdd := 'mk:@MSITStore:' + AppPath + 'GPHelp.chm::/index.html';
///ms-its:C:\i386\CALC.CHM::/calc_scientific.htm
WebBrowser1.Navigate(theAdd);
end;
Reference
http://community.borland.com/article/0,1410,27842,00.html
SHGetSpecialFolderLocation是干什么的(VC/MFC 基础类 )
SHGetSpecialFolderLocation用来取得代表一些虚拟目录ITEMIDLIST。














The long and sad story of the Shell Folders key
http://blogs.msdn.com/oldnewthing/archive/2003/11/03/55532.aspx
能否让我的应用程序以管理员的权限运行?就象通过管理员登陆后运行一样? (VC/MFC 基础类)
http://msdn.microsoft.com/library/en-us/secauthz/security/client_impersonation.asp
如何获得Web Browser中页面框架(frame iframe)内的元素(VB 网络编程 )
如果我们枚举Web Browser的Document对象中所有的元素,只能的页面框架的元素,请问怎样才能获得框架 src所指向页面的元素。
The capability of scripting across domain is affected by builtin security. Under "IE security settings" - "Miscellaneous", there are the options "Access data sources across domains" and "Navigate sub-frames across different domains".
































webrowser.document.frames.item(index).all(i)
关于IHTMLDocument2接口(.NET技术 C# )
执行
IHTMLDocument2 doc = (IHTMLDocument2)axWebBrowser1.Document;
后发现:
可以正确进行 doc.write 操作,但访问doc的url和parentWindow属性运行的时候就提示错误
那个axWebBrowser1 是拖到对话框以后没有改任何设置的。
Document is not ready
handle DocumentComplete
http://support.microsoft.com/?kbid=312777
.net里面,怎么出来classWizard界面啊?我只会用vc6.0,.net不大会用(VC/MFC 基础类)
就是需要加消息处理函数,和虚拟函数继承的那个界面,在vc下面是快捷健:CTRL+W。.net下怎么做?
Visual C++ Concepts: Porting and Upgrading
Where Are ClassWizard and WizardBar in Visual C++ .NET?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcgrfWhereIsClassWizardInVisualCNET.asp
如何设置WebBrowser控件显示内容的Html代码?(VB 控件)
如何设置WebBrowser显示页面的Html代码,WebBrowser可以显示制定的页面,但是我打算把页面的Html代码发送给WebBrowser进行显示,如何做呢?
WebBrowser1.Navigate2 "0", 0, "", "<HTML><DIV>我的内容</DIV></HTML>", ""
这行代码没作用啊.另外,我将网页文件放到资源文件中,然后读出来怎么就是乱码了呢?我想把网页放到资源文件中,防止用户改动内容,读出来后送给WebBrowser显示。
WebBrowser1.Navigate("about:blank")
WebBrowser1.Document.open
WebBrowser1.Document.writeln("<HTML>")
WebBrowser1.Document.writeln("<HEAD>")
WebBrowser1.Document.writeln("<TITLE>")
WebBrowser1.Document.writeln("New Document")
WebBrowser1.Document.writeln("</TITLE>")
WebBrowser1.Document.writeln("</HEAD>")
WebBrowser1.Document.writeln("<BODY>aaaa")
WebBrowser1.Document.writeln("</BODY>")
WebBrowser1.Document.writeln("</HTML>")
WebBrowser1.Document.Close
or
Navigate to about:blank
Wait for readyState to indicate "complete"
Get IPersistStreamInit interface from document
Call InitNew
Call Load
Wait for readyState to indicate "complete"
调用非托管 DLL 时,多层 struct/union 怎么 marshal (.NET技术 .NET Framework )
struct 的结构大概是这样





























而且这个结构体的地址还要通过一个 callback 函数的 Int32 型参数传进来,只需要读,不需要写,应该怎么 Marshal 呢
最简单的方法就是在你的C++代码里写一个托管类为本地类marshal(就像你在COM Automation里干的一样.)
关于SHGetMalloc(&pMalloc) (VC/MFC 基础类)
是否windows将所有需要动态内存分配的(如new)shell对象,全都放在它自己管理的一个堆里?但是windows又不自己释放,需要用
SHGetMalloc(&pMalloc);来获得这个堆的指针,最后通过pMalloc->free(shellobj) 来释放分配的对象,最后再pMalloc->Release();释放自己对所有的动态创建的shellobj都适用吗?那什么时候调用pMalloc->Alloc来分配对象呢?用上面的方法后不需要调用它吗?
What's the difference between SHGetMalloc, SHAlloc, CoGetMalloc, and CoTaskMemAlloc
http://blogs.msdn.com/oldnewthing/archive/2004/07/05/173226.aspx
They are different code segments to do the same thing *now*. They used to do different things in history. In general, you should not implement IMalloc, instead using the COM implementation, which is guaranteed to be thread-safe in managing task memory. You get a pointer to the COM task allocator object's IMalloc through a call to the CoGetMalloc function.
SHFree can be used to free shell objects *allocated by* shelll functions
如何编程修改文件夹的属性? 比如隐藏(VC/MFC 基础类 )
The SetFileAttributes function sets the attributes for a file or directory.
http://msdn.microsoft.com/library/en-us/fileio/fs/retrieving_and_changing_file_attributes.asp