基於ATL WTL的程式中使用MSLU

2021-04-06 17:02:34 字數 1208 閱讀 9065

假如你的專案基於

atl或

wtl框架,同時在

windows 95/98/me

系統上使用

mslu

庫,這裡還一些額外的工作需要由你自己來完成。

1)避免使用

_atl_min_crt

巨集--

這個巨集和

mslu

不相容2)

在windows

的工作列上會顯示出錯的名字

-- 這是在

atl和

wtl中使用

::defwindowproc

和::callwindowproc

函式的問題。在程式執行的起始位置中增加下面**就可以解決這個問題:

//解決

unicows

的thunk

問題::defwindowproc (null, 0, 0, 0); •

tim **ith

給出了詳細的解釋:

這個問題是,假如你在呼叫

::defwindowproc

函式之前建立了乙個

atl視窗,那麼

m_pfnsuperwindowproc

指向的thunk[

在起動]

並沒有解決位址問題。因而,當

atl把

m_pfnsuperwindowproc

傳入::callwindowproc

同時傳入了

wm_settext

訊息,mslu [

它自身]

並不知道傳入的已經是

::defwindowproc

函式,因此額外做了字串轉換工作。如果在程式的開始位置呼叫

::defwindowproc

,那麼當

atl建立乙個視窗並且把

::defwindowproc

作為值賦給

m_pfnsuperwindowproc

變數,它就會儲存

mslu

函式的位址,那麼

mslu

中的::callwindowproc

函式意識到這個已經不需要作轉化。通常,如果你要使用

atl/wtl

,只需在你的程式執行的起始位置中增加這個**就可以了。同時也要注意上面問題已經在

wtl7.0

中已經解決了,因此這個方法只對

7.0之前的版本才起作用。

php中使用mysql介紹 PHP中使用MySQL

mysql資料庫的擴充套件 擴充套件庫基本功能相似,用法基本相同,會增加一些新的特性 mysqli擴充套件庫 只能對mysql資料庫操作 pdo擴充套件 可以操作很多態別的資料庫 wamp下修改mysql資料庫密碼 三者在建立連線上的比較 pdo需要四個引數,除了資料庫管理員名稱 密碼 host 還...

NUint 測試程式中使用的attribute

測試程式中使用的attribute testfixture test class s attribute.nuint根據這個attribute來判斷這個類是否是用來測試的。test test method s attribute.nuint根據這個attribute來判斷這個方法是否是用來測試的。e...

C 程式中使用系統熱鍵

1.首先引入system.runtime.interopservices using system.runtime.interopservices 2.在類內部宣告兩個api函式,它們的位置和類的成員變數等同.system.runtime.interopservices.dllimport user...