tqsheng

go.....
随笔 - 366, 文章 - 18, 评论 - 101, 引用 - 0
数据加载中……

Manifest Generation in Visual Studio

http://msdn2.microsoft.com/en-us/library/ms235229.aspx

posted @ 2007-05-10 15:00 tqsheng 阅读(133) | 评论 (0)编辑 收藏

L0phtCrack

L0phtCrack

posted @ 2007-01-08 15:50 tqsheng 阅读(152) | 评论 (0)编辑 收藏

分区表

http://sunfun.blog.hexun.com/5659026_d.html

http://bbs.whnet.edu.cn/cgi-bin/f/Linux/1144888059/%CF%B5%CD%B3%D2%FD%B5%BC%D6%AA%CA%B6.htm

http://www.qqgb.com/Program/VC/VCsystem/Program_105178.html

posted @ 2006-11-15 09:33 tqsheng 阅读(153) | 评论 (0)编辑 收藏

EasyRecovery Pro v6.10 汉化版

http://www.crsky.com/soft/899.html

posted @ 2006-11-15 08:52 tqsheng 阅读(920) | 评论 (0)编辑 收藏

diskedit

http://www.cndatasos.com/download.asp?down_id=1660458390

posted @ 2006-11-15 08:40 tqsheng 阅读(158) | 评论 (1)编辑 收藏

FinalData v2.01.1028

http://www.crsky.com/soft/963.html

posted @ 2006-11-15 08:34 tqsheng 阅读(124) | 评论 (0)编辑 收藏

[导入]MFC,欢乐与痛苦

 MFC提供了许多十分有用的类和对象,在很多时候在Office插件、BHO、常规DLL这样的工程中加入MFC支持是一个不错的选择。但是,MFC中的很多功能,例如资源查找,消息预处理等等都依赖于在进程或者线程创建时被初始化的MFC内部数据;而对于需要添加MFC支持的工程,这些数据并不会被自动地初始化。这时候使用一些MFC的功能,例如使用CString从字符串表加载一个字符串,或者使用CDialog::DoModal()创建一个模态对话框,都会有断言错误,用ATL向导创建的支持MFC的程序也没有多少改善,在CWinApp的DLL版本中没有初始化线程数据,所以调用AfxGetThread会返回空指针。解决这个问题的一个办法是使用AfxBeginThread来启动一个MFC线程,这样MFC会初始化线程相关的数据。在下面的示例中,我在线程初始化时建立了一个模态对话框,以避免直接创建模态对话框会触发的断言失败信息。为了模拟模态对话框的效果,在CDialogThread::WaitForDoModal()这个函数中创建了一个消息循环来等待线程结束,同时用MsgWaitForMultipleObjects来避免死锁。因为MFC中和进程相关的数据并不总是被正确初始化,在调用模态对话框之前也需要手动设置一下。

使用VC6.0编译通过。

上面的方法只对于DLL之类的组件比较有用。对于使用MFC的应用程序来说,上面的方法比较繁琐。比较简单的方法还是使用MFC向导来创建应用程序,然后再添加ATL或者.Net之类的额外支持。参考微软知识库文章Q181505和Q824480。
参考


文章来源:http://blog.csdn.net/jiangsheng/archive/2005/08/20/459594.aspx

posted @ 2006-03-06 09:10 tqsheng 阅读(289) | 评论 (0)编辑 收藏

[导入]Win32 & .Net Q&A 200509

I would like to keep tracking some interesting discussions, but sometimes I can not find them due to the limit of the CSDN favorite and the CSDN full text search. So again I list some interesting discussions here. For details about the discussion, go to http://search.csdn.net and search posts by their topics. For previous Q&A discussions, see my blogs Win32 & .Net Q&A and VC/MFC Q&A 200407 . A topic may appear in these Q&A blogs more than once, but I will try to cover every interesting discussi
文章来源:http://blog.csdn.net/jiangsheng/archive/2005/09/13/480540.aspx

posted @ 2006-03-06 09:10 tqsheng 阅读(221) | 评论 (0)编辑 收藏

[导入]存取在线存储

使用USB存储或者软盘可以在机房和家里的计算机之间传输数据,但是在可以访问因特网的时候,在线存储是更加快捷和便宜的替代方案。典型的在线存储包含MSN 上的“我的网站”、FTP服务,以及基于网页的存储空间。 原文:http://cn.geocities.com/sheng_jiang/accessdocumentsfrominternet.doc (英文) 全文阅读:http://spaces.msn.com/members/jiangsheng/Blog/cns!1pVUmC6mid-3zVpLZNQTgtuw!199.entry (英文)
文章来源:http://blog.csdn.net/jiangsheng/archive/2005/10/08/497916.aspx

posted @ 2006-03-06 09:10 tqsheng 阅读(226) | 评论 (1)编辑 收藏

[导入]C++/CLI中的默认属性访问

目前版本的VC2005测试版中,default关键字不仅用于指定类级别的索引器,而且也用于访问默认属性。但是奇怪的是,默认属性的原名不能访问了,也就是说,如果要把下面的代码段从托管C++移植到VC2005附带的C++/CLI,不仅需要更改指针的类型,而且要把属性的名称更改为default: //[System::Reflection::DefaultMemberAttribute("Fields")] interface _Recordset //托管C++语法 //extern _Recordset* results; Fields* ResultFields=results->Fields; //C++/CLI语法 //extern _Recordset^ results; Fields^ ResultFields=results->default; 如果继续使用原来名字来访问属性的话,会报告编译错误: Fields^ ResultFields=results->Fields;//C3293: 'Fields': use 'default' t
文章来源:http://blog.csdn.net/jiangsheng/archive/2005/10/08/497924.aspx

posted @ 2006-03-06 09:10 tqsheng 阅读(323) | 评论 (1)编辑 收藏

[导入]托管C++中函数调用的双重转换(Double Thunking)

在VC.Net中使用默认设置/clr编译时,一个托管函数会产生两个入口点,一个是托管的,供托管代码调用,另外一个是非托管的,供非托管代码调用。但是函数地址,特别是虚函数指针只能有一个值,所以需要有一个默认的入口。 非托管入口点可能是所有调用的默认入口(在 Visual Studio .NET2003 中,编译器总是会选择非托管入口,但是在Visual Studio 2005中,如果参数或者返回值中包含托管类型,那么编译器会选择托管入口),而另外一个只是使用托管C++中的互操作功能对默认入口的调用。在一个托管函数被另一个托管函数调用的时候,这可能会造成不必要的托管/非托管上下文切换和参数/返回值的复制。如果函数不会被非托管代码使用指针调用,那么可以在声明函数时用VC2005新增的__clrcall修饰符阻止编译器生成两个入口。 现在用简单的冒泡排序算法来比较一下使用__clrcall之后的性能改善程度。 using namespace System; #define ARRAY_SIZE 1000 struct bubbleBase { int value;
文章来源:http://blog.csdn.net/jiangsheng/archive/2005/10/08/497936.aspx

posted @ 2006-03-06 09:10 tqsheng 阅读(199) | 评论 (0)编辑 收藏

[导入]Visual C++ 2005 中的XML注释

C#程序员可以用三个斜杠来开始XML格式的注释,而且编译器可以据此生成可用于自动生成帮助文档的XML文件。Visual C++ 2005中的编译器也支持了这个功能,而且对非托管函数也生效,前提是必须打开/clr/DOC开关,并且不能使用/clr:oldSyntax开关编译。

/// ///Use two bubble sort steps ///to show the performance information ///of different function calls. /// int main(array<System::String ^> ^args) { bubbleSort<bubble1>(ARRAY_SIZE); bubbleSort<bubble2>(ARRAY_SIZE); return 0; } #pragma unmanaged /// ///testing unmanaged function... /// int foo() { return 0; }

有空的话,多去微软的反馈中心提提对产品的建议是很有好处的……

参考


文章来源:http://blog.csdn.net/jiangsheng/archive/2005/11/05/523786.aspx

posted @ 2006-03-06 09:10 tqsheng 阅读(282) | 评论 (0)编辑 收藏

[导入]FAQ:如何在……中获得……的指针(MFC)

问:请问如何在一个全局函数中,获得它视图类,文档类得指针啊?
问:如何在一个对话框中,获得它视图类,文档类得指针啊?

答:虽然你可以使用AfxGetMainWnd或者AfxGetApp之类的函数来访问全局变量,但是不建议这么做。你应该尽量少使用全局函数和变量以增加代码的可移植性。你可以在对象中声明变量来保存和传递需要使用的对象和指针,调用函数或者创建对象时传递指针。

举例来说,如果视图的成员函数需要创建一个对话框,而对话框需要访问文档,那么可以在对话框类中声明一个文档指针,视图的成员函数创建对话框之后把对话框中的文档指针变量的值设置为和视图关联的文档指针。

再一个例子:对于在一个对话框按钮的处理函数中创建的线程,其线程函数中需要控制对话框。因为不能跨线程访问对话框对象,而且线程函数是全局函数。所以要把对话框中线程需要访问的数据封装成一个结构,然后将它和对话框句柄打包成另外一个结构,将其地址作为参数传递给线程函数。线程函数在启动时应该复制数据和对话框句柄,然后使用线程安全的Windows API或者再创建一个MFC对话框对象关联对话框句柄到来控制对话框。


文章来源:http://blog.csdn.net/jiangsheng/archive/2005/11/14/529522.aspx

posted @ 2006-03-06 09:10 tqsheng 阅读(282) | 评论 (1)编辑 收藏

[导入]Jiangsheng的CSDN Digest (Dec 2005)

jiangsheng在2005年11月-12月之间参与的CSDN已结贴子的摘要
文章来源:http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx

posted @ 2006-03-06 09:10 tqsheng 阅读(121) | 评论 (0)编辑 收藏

[导入]Jiangsheng的CSDN Digest (Oct 2005)

jiangsheng在2005年9月-10月之间参与的CSDN已结贴子的摘要
文章来源:http://blog.csdn.net/jiangsheng/archive/2005/12/27/563274.aspx

posted @ 2006-03-06 09:10 tqsheng 阅读(193) | 评论 (1)编辑 收藏

仅列出标题
共25页: First 17 18 19 20 21 22 23 24 25