WinMain 函数调用参数的含义?

Meaning of WinMain function call parameters?

 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR pScmdline, int iCmdshow)

在这一行中,关于调用参数的说法是否正确?

HINSTANCE 是一个 class,hInstance 和 hPrevInstance 是对象,PSTR 是一个 class,pScmdline 是一个对象,int 是一个 class,iCmdshow 是一个对象?

HINSTANCEvoid * 而不是 class,int 也不是 class。它们是类型。

有关这些类型的定义,请参阅此 link。

https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx

首先,对象是内存中具有值并可能由标识符引用的位置。对象可以是变量、数据结构或函数。

A class 是一个可扩展的程序代码模板,用于创建对象,为状态(成员变量)和行为实现(成员函数、方法)提供初始值。

 int WINAPI WinMain:

- Win32项目的入口函数

 HINSTANCE = Handle INSTANCE:

- 是空指针(void, int, bool...都是类型),不是class,是模块在内存中的基地址。

 hInstance and hPrevInstance:

- 是 WinMain 函数的参数,hInstance 是应用程序当前实例的句柄,hPrevInstance 是应用程序上一个实例的句柄,hPrevInstance 始终为 NULL。是的,这是一个对象,因为它位于内存中的某个位置。

PSTR:

- 是一个8bit字符串的指针

pScmdline:

- 应用程序的命令行。它也是一个对象。

int:

- 类型不是 class。

iCmdshow:

- 它控制 window 的显示方式(最小化、最大化、隐藏...),它是一个类型的对象。

看到这个关于类型和class的区别的问题:What is the difference between Type and Class?