Re: [問題] 想在空專案裡面使用Win32 API,hWnd 該 …
※ 引述《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
推
09/09 13:51, , 1F
09/09 13:51, 1F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章