API函数的调用(包含一个大小写的问题)
遇到问题:
今天做的一个程序要调用AnimateWindow()函数来实现窗口的动画效果,参考书上在类的成员函数中直接调用该函数,没有做任何处理。然而实验时发现编译通不过。
解决过程:
查看MSDN后,发现AnimateWindow()函数说明中有以下描述
Function Information
Header Declared in winuser.h, include windows.h
Import library user32.lib
Minimum operating systems Windows 98, Windows 2000
可见:
1.要添加#include"winuser.h"或#include"windows.h"语句;
2.在弹出菜单中选择:项目-"工程名"+属性-链接器-输入-附加依赖项,将user32.lib添加进去
但此时编译时还是认不出AnimateWindow()及其参数,在AnimateWindow()上点击右键选"转到声明",发现在winuser.h文件中对AnimateWindow()的声明如下:
#if(WINVER >= 0x0500)
WINUSERAPI
BOOL
WINAPI
AnimateWindow(
IN HWND hWnd,
IN DWORD dwTime,
IN DWORD dwFlags);
#endif /* WINVER >= 0x0500 */
可见如果WINVER的取值不满足WINVER >= 0x0500的条件的话,AnimateWindow()函数的声明将不被编译,在WINVER上点击右键选"转到定义",发现在stdafx.h文件中对WINVER的定义如下:
#ifndef WINVER // 允许使用 Windows 95 和 Windows NT 4 或更高版本的特定功能。
#define WINVER 0x0400 //为 Windows98 和 Windows 2000 及更新版本改变为适当的值。
#endif
这样问题就出来了,由于WINVER的值不满足WINVER >= 0x0500的条件,导致AnimateWindow()函数的声明不被编译,将#define WINVER 0x0400语句改成#define WINVER 0x0500,再编译,就发现AnimateWindow()函数已经可以识别了。
但是AnimateWindow()函数的一个参数宏仍然不能识别,而其它的参数宏却可以,经过检查发现由于参数宏都是大写字母,是自己一时粗心看错了拼写导致的,改成正确的拼写后程序编译通过!
心得体会:
1.“转到定义“的解决问题的方法十分重要。
2.对于宏等全大写字母的标志要注意拼写。
3.MSDN要仔细的阅读。
转载于:https://www.cnblogs.com/toosuo/archive/2007/12/02/979957.html
API函数的调用(包含一个大小写的问题)相关推荐
- 【Python 3.7】喜欢的图书:编写一个名为 favorite_book() 的函数,其中包含一个名为 title 的形参。
[Python 3.7]喜欢的图书:编写一个名为 favorite_book() 的函数,其中包含一个名为 title的形参.这个函数打印一条消息,如 One of my favorite books ...
- C#中对 API函数的调用
C#中对 API函数的调用 1 C#中对 API函数的调用 2 3 4 using System ...
- python语言下同一个类下有多个函数,其中一个函数想调用另外一个函数里面的变量怎么调用
一:问题,同一个类下,有多个函数,其中一个函数想调用另外一个函数里面的变量怎么调用 解决方法:在调用函数里面,初始化一下被调用的函数,然后就可以直接使用被调用函数数里面的变量了 self.被调用函数名 ...
- vue中在一个函数中调用另外一个函数
vue中在一个函数中调用另外一个函数 this.$options.methods.函数名.bind(this)();
- 【Python——类】 同一个类中一个函数里调用另一个函数的方法
[Python-类] 同一个类中一个函数里调用另一个函数的方法 class Solution:def a(self):self.b() # 注意这种写法:self.类名def b(self):prin ...
- VB中API函数的调用
1.API函数 API的英文全称(Application Programming Interface),WIN32 API也就是MicrosoftWindows32位平台的应用程序编程接口 ...
- VS2010中VB.NET中API函数的调用
API有两种调用方式: 第一种使用declare的API调用, Declare Function publicname Lib "libname" [Alias "ali ...
- python 调用class不指定函数_python调用另一个.py中的类或函数
同一文件夹下的调用 1.调用函数 A.py文件如下: def add(x,y): print('和为:%d'%(x+y)) 在B.py文件中调用A.py的add函数如下: import A A.add ...
- 在一个类的成员函数中调用另一个类的成员函数
假设你想在类A里调用类B的函数int f(x),两种办法: 1.class A::B 也就是说将B定义为A的父类, 这样你就可以自然的在A里面用f(x)了 2.class A { B B_ins; ...
最新文章
- php dedecms 记录访问者ip,dedecms实现显示访问者ip地址的方法
- 【PWA学习与实践】(3) 让你的WebApp离线可用
- 密码技术--非对称加密算法及Go语言应用
- 移动测试中游戏和应用的不同之处
- android 布局管理器,【Android开发】布局管理器-表格布局
- 1070: [SCOI2007]修车
- 7-49 打印学生选课清单 (25 分)(思路+详解+map做法(一对多)+超时解决)Come baby!
- 算法题10 最长等差序列问题
- 80-200-040-原理-MySQL服务端架构
- java modal_Java 源码-模态对话框(Modal Dialog Box)的实现
- windows 2003活动目录更名操作[图]
- oracle 增删改查语法,转载-增删改查sql语句语法
- 【数据库系统工程师复习笔记】0.考试大纲及教程目录
- SnifferProDynamipsGUI环境构建
- C语言IDE和编辑器比较
- TM1640 数码管驱动代码(简化版)
- Java实现Redis批量读取List
- cpu计算机性能指标有哪些,CPU性能指标有哪些
- 不用 IDE,仅用命令行 + SDK 开发 Android App
- logN²是O(N)的