首页 > 应用 > 软件技巧 > 正文

浅谈API学习经验

2024-07-16 17:44:52
字体:
来源:转载
供稿:网友
API学习经验之谈___1

  问题1____句柄

  相信这个"东西"足以让各位朋友郁闷很长一段实际在"云里雾里"中(小生可能更严重)

  其实,这是一个最不足以让你去深究的东西,先听听"大师级人物"(个人认为)罗云彬老师在<<Windows 环境下32位汇编语言程序设计>>(好书啊!~_~)一书中对它的定义:

  句柄只是一个数值而已,它的值对程序来说是没什么有意义的,它只是Windows用来表示资源的编号而已,所以只有Windows才知道怎么使用它来引用各种资源!

  明白了吗?(鬼才明白~_~!)

  好,举例来说,屏幕上已经有10个窗口,Windows把他们从1道10编号,应用程序又建立了一个窗口,现在Windows把它编号位11,然后把11当做窗口句柄返回个应用程序,应用程序并不知道11代表的是什么,但在操作窗口的时候,把11当作句柄传给Windows,Windows自然可以根据这个数值查出是哪个窗口.当该窗口关闭的时候,11这个编号就作废了.第二次运行的时候,如果屏幕上又有5个窗口,那么现在句柄可能就是6了,所以,应用程序不用关心句柄的具体数值是多少.打个比方,可以把句柄当做是商场中寄放包包时营业员MM给的纸条,纸条上的标号代表什么,用户不用去了解,但把它给营业员MM时,她自然会给你正确的包包啦!

  明白了吗?(要是还不明白就改行算了!你小子的天赋不在学计算机上~_~!)

  问题2____新建项目(以VC.NET/6.0为例)

  要想编译一段API代码,可以考虑走明星路线(我就是我生活中的明星,呵呵,说笑)

  VC.NET

  在新建项目中选择"Win32项目"为模板,前提是你选择Visual C++为项目类型

  填了名字下一步后,停下,选择应用程序设置,给附加选项的空项目打上钩

  好了,你就可以随心所欲了,每次看到这个界面,我就忍不住欲火焚身啊!(不要误解,是写程序的欲火)

  我先在源文件里添加了一个Cpp文件,叫做first.cpp,为了让你们爽下,带码也考给你们算了,要是觉得太简单,不要K我啊!(我躲):

  #include <windows.h>

  #include <string.h>

  #include <stdlib.h>

  #include <stdio.h>

  #include <assert.h>

  LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

  HDC hdc;

  HDC hdcmem;

  HBITMAP hBm;

  BITMAP bm;

  int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow)

  {

  HWND hwnd;

  MSG msg;

  WNDCLASS wndclass;

  char lpszClassName[]=" ";

  char lpszTitle[]="Example";
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表