作者yoco315 (眠月)
看板C_and_CPP
标题Re: [问题] 想在空专案里面使用Win32 API,hWnd 该 …
时间Tue Sep 8 22:46:13 2009
※ 引述《SweepingMonk ((((((((((()))))))))))》之铭言:
: int WSAAsyncSelect(SOCKET s, HWND hWnd, unsigned int wMsg, long lEvent);
: 其中
: 1. hWnd 好像是视窗程式专属的参数,可以直接设成 NULL 吗?
如果你是写 win32 windows application,那当然是填入你的 main window,
如果你写的是 console,请 create 一个 invisible windows 在背景接收讯息。
: 2. 另外,我希望可以使用 message-driven 的方式,像是收到网路封包就呼叫
: 我自己写的 handler ,但又觉得 while(GetMessage(...)) 很冗,是否有
: 其他办法?
嗯...
: 3. MS 提供的 example 里面常有关键字 CALLBACK ,但是我自己是用 C++ ,
: 常常想把需要用到 CALLBACK function 的地方放在 class 里面,compile
: 不通过,请问遇到这种状况该怎麽办呢?
因为 non-static member function 的签名,
实际上是会多出一个 this 指标放在最前面,
所以参数列实际上不是你看到的那样,所以编译不会过哩,
请把你要 call back 的函数宣告成 static member function,
然後你可能下一个问题会要问:「那我要怎麽存取我的物件 QQ?」
请把你的物件的指标放在 call function 用来传自用参数的那个地方。
: 4. 如果不用 int WINAPI WinMain 作为程式的进入点,还是可以使用 Win32 API,
: 那 int main 和 int WINAPI WinMain 有什麽差异呢?
: 以上,希望有高手指点迷津!谢谢!
我也不知道 qq
--
To iterate is human, to recurse, divine.
递回只应天上有, 凡人该当用回圈. L. Peter Deutsch
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.160.110.8
1F:推 SweepingMonk:感谢分享~!谢谢! 09/09 13:51