当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 有关微软编程技术的书籍可谓多如牛毛,但读来读去感觉还是MSDN比较权威。
 

 

    摘要: 在经典的汇编语言教程中,函数调用时堆栈的使用都是着重讲解的问题。如今随着高级语言的越来越完善,单纯使用汇编开发的程序已经不多了。但对函数调用时堆栈动向的了解仍有助于我们明晰程序的执行流程,从而在程序编写和调试的过程中有一个清晰的思路。 一.调用约定 在win32中,有关函数的调用主要有两种约定。 1._stdcall 以__stdcall方式调用的函数有以下特征: • ......
 ·注册activex控件的几种方法    »显示摘要«
    摘要:  文/黄昱   使用activex控件可快速实现小型的组件重用、代码共享,从而提高编程效率,降低开发成本。但是activex控件对于最终用户并不能直接使用,因为activex控件必须先在windows中注册。注册activex控件一般来说有六种途径,它们有各自的优点,运用范围也不同。   regsvr32.exe注册   regsvr32.exe位于windows目录的system子目......


Win32开发中最易踏上的地雷
  有关微软编程技术的书籍可谓多如牛毛,但读来读去感觉还是msdn比较权威.这里就拿一个例子来说吧,可能让很多刚开始学习win32 api程序设计.甚至是一些已经有一定win32 api经验的人感觉大汗淋漓.

【程序编程相关:Windows2000的“隐形”武器…

【推荐阅读:Win2000安全审核让入侵者无…

  在学习win32 api程序设计时,“第一课”我想都会学到“事件循环”吧?很多书给出了类似这样的经典示例: 【扩展信息:Windows2000的“隐形”武器…

int winapi _twinmain(hinstance hinst, hinstance hprevinst, lpctstr lpcmdline, int ncmdshow)

{

 msg msg;

 ...

 while(getmessage(&msg, null, 0, 0))

 {

  translatemessage(&msg);

  dispatchmessage(&msg);

 }

 ...

 return (int)msg.wparam;

}

  没错吧?多么熟悉的事件循环,它可以很好地工作,当收到一个wm_quit事件的时候,getmessage()返回0,我们的程序得以正常退出.因此,几乎任何一本讲述win32 api程序设计的书籍或文章,不论国内的还是国外的,都会以这样一个程序作为第一章中的示例.

  然而,就在前不久,与往常一样,闲来无事就翻起msdn来,不知怎么的,就跑来看这个再熟悉不过的getmessage()函数的参考来了.这一看不要紧,头顶顿时冒出虚汗——原来这么多年我们这么写程序,不能说是错误的,但绝对是有漏洞!来看msdn上对于getmessage()函数的讲解(节选):

  注意:下面一段文字节选自msdn library online,原文参见:

http://msdn.microsoft.com/

library/

en-us/

winui/

winui/

windowsuserinterface/

windowing/

messagesandmessagequeues/

messagesandmessagequeuesreference/

messagesandmessagequeuesfunctions/

getmessage.asp

>return value


...   下一页
 ·串行通信与重叠i/o    »显示摘要«
    摘要:win 32系统把文件的概念进行了扩展。无论是文件、通信设备、命名管道、邮件槽、磁盘、还是控制台,都是用api函数createfile来打开或创建的。该函数的声明为: handle createfile( lpctstr lpfilename, // 文件名 dword dwdesiredaccess, // 访问模式 dword dwsharemode, // 共享模式 lp......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE