1.CALLBACK,WINAPI的实质: 在windef.h中的定义:#undef far
#undef near
#undef pascal#define far
#define near
#if (!defined(_MAC)) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))
#define pascal __stdcall
#else
#define pascal
#endif#if defined(DOSWIN32) || defined(_MAC)
#define cdecl _cdecl
#ifndef CDECL
#define CDECL _cdecl
#endif
#else
#define cdecl
#ifndef CDECL
#define CDECL
#endif
#endif#ifdef _MAC
#define CALLBACK PASCAL
#define WINAPI CDECL
#define WINAPIV CDECL
#define APIENTRY WINAPI
#define APIPRIVATE CDECL
#ifdef _68K_
#define PASCAL __pascal
#else
#define PASCAL
#endif
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY WINAPI
#define APIPRIVATE __stdcall
#define PASCAL __stdcall
#else
#define CALLBACK
#define WINAPI
#define WINAPIV
#define APIENTRY WINAPI
#define APIPRIVATE
#define PASCAL pascal
#endif2.為什麼 Windows Programming Modal 要把視窗函式設計為
一個 call back 函式?為什麼不讓程式在抓到訊息(GetMessage )之後直接呼叫它就好
了?原因是,除了你需要呼叫它,有很多時候作業系統也要呼叫你的視窗函式(例如當某個訊
息產生或某個事件發生)。視窗函式設計為 callback 形式,才能開放出一個介面
給作業系統叫用。
#undef near
#undef pascal#define far
#define near
#if (!defined(_MAC)) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))
#define pascal __stdcall
#else
#define pascal
#endif#if defined(DOSWIN32) || defined(_MAC)
#define cdecl _cdecl
#ifndef CDECL
#define CDECL _cdecl
#endif
#else
#define cdecl
#ifndef CDECL
#define CDECL
#endif
#endif#ifdef _MAC
#define CALLBACK PASCAL
#define WINAPI CDECL
#define WINAPIV CDECL
#define APIENTRY WINAPI
#define APIPRIVATE CDECL
#ifdef _68K_
#define PASCAL __pascal
#else
#define PASCAL
#endif
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY WINAPI
#define APIPRIVATE __stdcall
#define PASCAL __stdcall
#else
#define CALLBACK
#define WINAPI
#define WINAPIV
#define APIENTRY WINAPI
#define APIPRIVATE
#define PASCAL pascal
#endif2.為什麼 Windows Programming Modal 要把視窗函式設計為
一個 call back 函式?為什麼不讓程式在抓到訊息(GetMessage )之後直接呼叫它就好
了?原因是,除了你需要呼叫它,有很多時候作業系統也要呼叫你的視窗函式(例如當某個訊
息產生或某個事件發生)。視窗函式設計為 callback 形式,才能開放出一個介面
給作業系統叫用。
解决方案 »
- 如何在DOM加载完后调用CDHtmlDialog::GetDHtmlDocument?
- 如何从swf文件中获取图像数据
- VC+ADO+ORACLE读取日期型数据时产生“多步操作产生错误...”错误
- 请教:打印完位图后程序崩溃 怎么解决?
- 在Win98下,进程以只读的方式打开该进程的程序文件出错?
- 我自己的COM中用了ADO,也IMPORT了,我如何才能使用各个ADO对象的IID_Ixxxx这个玩意?
- 数据库问题
- CDC求助
- 有没有做过在线安装程序的,100分请教一下怎样做在线安装程序?
- 各位高人,帮忙看看MDI的消息拦截
- 请问在DLL中,如何向主程序发送消息??????
- 怎么获取一个文件夹目录下的所有文件的名字?急!
#undef near
#undef pascal#define far
#define near
#if (!defined(_MAC)) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))
#define pascal __stdcall
#else
#define pascal
#endif#if defined(DOSWIN32) || defined(_MAC)
#define cdecl _cdecl
#ifndef CDECL
#define CDECL _cdecl
#endif
#else
#define cdecl
#ifndef CDECL
#define CDECL
#endif
#endif#ifdef _MAC
#define CALLBACK PASCAL
#define WINAPI CDECL
#define WINAPIV CDECL
#define APIENTRY WINAPI
#define APIPRIVATE CDECL
#ifdef _68K_
#define PASCAL __pascal
#else
#define PASCAL
#endif
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY WINAPI
#define APIPRIVATE __stdcall
#define PASCAL __stdcall
#else
#define CALLBACK
#define WINAPI
#define WINAPIV
#define APIENTRY WINAPI
#define APIPRIVATE
#define PASCAL pascal
#endif2.為什麼 Windows Programming Modal 要把視窗函式設計為
一個 call back 函式?為什麼不讓程式在抓到訊息(GetMessage )之後直接呼叫它就好
了?原因是,除了你需要呼叫它,有很多時候作業系統也要呼叫你的視窗函式(例如當某個訊
息產生或某個事件發生)。視窗函式設計為 callback 形式,才能開放出一個介面
給作業系統叫用。
#undef near
#undef pascal#define far
#define near
#if (!defined(_MAC)) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))
#define pascal __stdcall
#else
#define pascal
#endif#if defined(DOSWIN32) || defined(_MAC)
#define cdecl _cdecl
#ifndef CDECL
#define CDECL _cdecl
#endif
#else
#define cdecl
#ifndef CDECL
#define CDECL
#endif
#endif#ifdef _MAC
#define CALLBACK PASCAL
#define WINAPI CDECL
#define WINAPIV CDECL
#define APIENTRY WINAPI
#define APIPRIVATE CDECL
#ifdef _68K_
#define PASCAL __pascal
#else
#define PASCAL
#endif
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY WINAPI
#define APIPRIVATE __stdcall
#define PASCAL __stdcall
#else
#define CALLBACK
#define WINAPI
#define WINAPIV
#define APIENTRY WINAPI
#define APIPRIVATE
#define PASCAL pascal
#endif2.為什麼 Windows Programming Modal 要把視窗函式設計為
一個 call back 函式?為什麼不讓程式在抓到訊息(GetMessage )之後直接呼叫它就好
了?原因是,除了你需要呼叫它,有很多時候作業系統也要呼叫你的視窗函式(例如當某個訊
息產生或某個事件發生)。視窗函式設計為 callback 形式,才能開放出一個介面
給作業系統叫用。