锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲第一视频网站,亚洲深夜福利视频,欧美日本一区二区高清播放视频http://www.shnenglu.com/weiyan/archive/2006/07/06/9500.htmlwillwillThu, 06 Jul 2006 10:42:00 GMThttp://www.shnenglu.com/weiyan/archive/2006/07/06/9500.htmlhttp://www.shnenglu.com/weiyan/comments/9500.htmlhttp://www.shnenglu.com/weiyan/archive/2006/07/06/9500.html#Feedback0http://www.shnenglu.com/weiyan/comments/commentRss/9500.htmlhttp://www.shnenglu.com/weiyan/services/trackbacks/9500.html C/C+璇█struct娣卞眰鎺㈢儲(chǔ)

鍑哄錛歅Conline

1. struct鐨勫法澶т綔鐢?br />銆銆闈㈠涓涓漢鐨勫ぇ鍨婥/C++紼嬪簭鏃訛紝鍙湅鍏跺struct鐨勪嬌鐢ㄦ儏鍐墊垜浠氨鍙互瀵瑰叾緙栧啓鑰呯殑緙栫▼緇忛獙榪涜璇勪及銆傚洜涓轟竴涓ぇ鍨嬬殑C/C++紼嬪簭錛屽娍蹇呰娑夊強(qiáng)涓浜?鐢氳嚦澶ч噺)榪涜鏁版嵁緇勫悎鐨勭粨鏋勪綋錛岃繖浜涚粨鏋勪綋鍙互灝嗗師鏈剰涔夊睘浜庝竴涓暣浣撶殑鏁版嵁緇勫悎鍦ㄤ竴璧楓備粠鏌愮紼嬪害涓婃潵璇達(dá)紝浼?xì)涓嶄細(xì)鐢╯truct錛屾庢牱鐢╯truct鏄尯鍒竴涓紑鍙戜漢鍛樻槸鍚﹀叿澶囦赴瀵屽紑鍙戠粡鍘嗙殑鏍囧織銆?/font>

銆銆鍦ㄧ綉緇滃崗璁侀氫俊鎺у埗銆佸祵鍏ュ紡緋葷粺鐨凜/C++緙栫▼涓紝鎴戜滑緇忓父瑕佷紶閫佺殑涓嶆槸綆鍗曠殑瀛楄妭嫻侊紙char鍨嬫暟緇勶級(jí)錛岃屾槸澶氱鏁版嵁緇勫悎璧鋒潵鐨勪竴涓暣浣擄紝鍏惰〃鐜板艦寮忔槸涓涓粨鏋勪綋銆?/font>

銆銆緇忛獙涓嶈凍鐨勫紑鍙戜漢鍛樺線寰灝嗘墍鏈夐渶瑕佷紶閫佺殑鍐呭渚濋『搴忎繚瀛樺湪char鍨嬫暟緇勪腑錛岄氳繃鎸囬拡鍋忕Щ鐨勬柟娉曚紶閫佺綉緇滄姤鏂囩瓑淇℃伅銆傝繖鏍峰仛緙栫▼澶嶆潅錛屾槗鍑洪敊錛岃屼笖涓鏃︽帶鍒舵柟寮忓強(qiáng)閫氫俊鍗忚鏈夋墍鍙樺寲錛岀▼搴忓氨瑕佽繘琛岄潪甯哥粏鑷寸殑淇敼銆?/font>

銆銆涓涓湁緇忛獙鐨勫紑鍙戣呭垯鐏墊椿榪愮敤緇撴瀯浣擄紝涓句竴涓緥瀛愶紝鍋囪緗戠粶鎴栨帶鍒跺崗璁腑闇瑕佷紶閫佷笁縐嶆姤鏂囷紝鍏舵牸寮忓垎鍒負(fù)packetA銆乸acketB銆乸acketC錛?/font>

struct structA
{
int a;
char b;
};

struct structB
{
char a;
short b;
};

struct structC
{
int a;
char b;
float c;
}
銆銆浼樼鐨勭▼搴忚璁¤呰繖鏍瘋璁′紶閫佺殑鎶ユ枃錛?/font>

struct CommuPacket
{
int iPacketType;銆銆//鎶ユ枃綾誨瀷鏍囧織
union銆銆銆銆銆銆//姣忔浼犻佺殑鏄笁縐嶆姤鏂囦腑鐨勪竴縐嶏紝浣跨敤union
{
聽(tīng) struct structA packetA;
聽(tīng) struct structB packetB;
聽(tīng) struct structC packetC;
}
};
銆銆鍦ㄨ繘琛屾姤鏂囦紶閫佹椂錛岀洿鎺ヤ紶閫乻truct CommuPacket涓涓暣浣撱?/font>

銆銆鍋囪鍙戦佸嚱鏁扮殑鍘熷艦濡備笅錛?/font>

// pSendData錛氬彂閫佸瓧鑺傛祦鐨勯鍦板潃錛宨Len錛氳鍙戦佺殑闀垮害
Send(char * pSendData, unsigned int聽(tīng) iLen);
鍙戦佹柟鍙互鐩存帴榪涜濡備笅璋冪敤鍙戦乻truct CommuPacket鐨勪竴涓疄渚媠endCommuPacket錛?br />Send( (char *)&sendCommuPacket , sizeof(CommuPacket) );
鍋囪鎺ユ敹鍑芥暟鐨勫師褰㈠涓嬶細(xì)
// pRecvData錛氬彂閫佸瓧鑺傛祦鐨勯鍦板潃錛宨Len錛氳鎺ユ敹鐨勯暱搴?br />//榪斿洖鍊鹼細(xì)瀹為檯鎺ユ敹鍒扮殑瀛楄妭鏁?br />unsigned int Recv(char * pRecvData, unsigned int聽(tīng) iLen)錛?br />銆銆鎺ユ敹鏂瑰彲浠ョ洿鎺ヨ繘琛屽涓嬭皟鐢ㄥ皢鎺ユ敹鍒扮殑鏁版嵁淇濆瓨鍦╯truct CommuPacket鐨勪竴涓疄渚媟ecvCommuPacket涓細(xì)

Recv( (char *)&recvCommuPacket , sizeof(CommuPacket) );
銆銆鎺ョ潃鍒ゆ柇鎶ユ枃綾誨瀷榪涜鐩稿簲澶勭悊錛?/font>

switch(recvCommuPacket. iPacketType)
{
聽(tīng)聽(tīng)聽(tīng) case PACKET_A:
聽(tīng)聽(tīng)聽(tīng) 鈥β?tīng)聽(tīng)?//A綾繪姤鏂囧鐞?br />聽(tīng)聽(tīng)聽(tīng) break;
聽(tīng)聽(tīng)聽(tīng) case PACKET_B:
聽(tīng)聽(tīng)聽(tīng) 鈥︺聽(tīng) //B綾繪姤鏂囧鐞?br />聽(tīng)聽(tīng)聽(tīng) break;
聽(tīng)聽(tīng)聽(tīng) case PACKET_C:
聽(tīng)聽(tīng)聽(tīng) 鈥β?tīng)?//C綾繪姤鏂囧鐞?br />聽(tīng)聽(tīng)聽(tīng) break;
}
銆銆浠ヤ笂紼嬪簭涓渶鍊煎緱娉ㄦ剰鐨勬槸

Send( (char *)&sendCommuPacket , sizeof(CommuPacket) );
Recv( (char *)&recvCommuPacket , sizeof(CommuPacket) );
銆銆涓殑寮哄埗綾誨瀷杞崲錛?char *)&sendCommuPacket銆?char *)&recvCommuPacket錛屽厛鍙栧湴鍧錛屽啀杞寲涓篶har鍨嬫寚閽堬紝榪欐牱灝卞彲浠ョ洿鎺ュ埄鐢ㄥ鐞嗗瓧鑺傛祦鐨勫嚱鏁般?/font>

銆銆鍒╃敤榪欑寮哄埗綾誨瀷杞寲錛屾垜浠繕鍙互鏂逛究紼嬪簭鐨勭紪鍐欙紝渚嬪瑕佸sendCommuPacket鎵澶勫唴瀛樺垵濮嬪寲涓?錛屽彲浠ヨ繖鏍瘋皟鐢ㄦ爣鍑嗗簱鍑芥暟memset()錛?/font>

memset((char *)&sendCommuPacket,0, sizeof(CommuPacket));

2. struct鐨勬垚鍛樺榻?br />銆銆Intel銆佸井杞瓑鍏徃鏇劇粡鍑?guó)櫩囦竴閬撶被浼肩殑闈㈣瘯棰橈細(xì)
1. #include <iostream.h>
2. #pragma pack(8)
3. struct example1
4. {
5. short a;
6. long b;
7. };
8. struct example2
9. {
10. char c;
11. example1 struct1;
12. short e;聽(tīng)聽(tīng)聽(tīng)
13. };
14. #pragma pack()
15. int main(int argc, char* argv[])
16. {
17. example2 struct2;
18. cout << sizeof(example1) << endl;
19. cout << sizeof(example2) << endl;
20. cout << (unsigned int)(&struct2.struct1) - (unsigned int)(&struct2) << endl;
21. return 0;
22. }
銆銆闂▼搴忕殑杈撳叆緇撴灉鏄粈涔堬紵
銆銆絳旀鏄細(xì)
8
16
4
銆銆涓嶆槑鐧斤紵榪樻槸涓嶆槑鐧斤紵涓嬮潰涓涓閬撴潵錛?br />2.1 鑷劧瀵圭晫
銆銆struct鏄竴縐嶅鍚堟暟鎹被鍨嬶紝鍏舵瀯鎴愬厓绱犳棦鍙互鏄熀鏈暟鎹被鍨嬶紙濡俰nt銆乴ong銆乫loat絳夛級(jí)鐨勫彉閲忥紝涔熷彲浠ユ槸涓浜涘鍚堟暟鎹被鍨嬶紙濡俛rray銆乻truct銆乽nion絳夛級(jí)鐨勬暟鎹崟鍏冦傚浜庣粨鏋勪綋錛岀紪璇戝櫒浼?xì)鑷姩杩涜鎴愬憳鍙橀噺鐨勫瘹w綈錛屼互鎻愰珮榪愮畻鏁堢巼銆傜己鐪佹儏鍐典笅錛岀紪璇戝櫒涓虹粨鏋勪綋鐨勬瘡涓垚鍛樻寜鍏惰嚜鐒跺鐣岋紙natural alignment錛夋潯浠跺垎閰嶇┖闂淬傚悇涓垚鍛樻寜鐓у畠浠澹版槑鐨勯『搴忓湪鍐呭瓨?shù)腑椤哄簭瀛樺偍锛尳W竴涓垚鍛樼殑鍦板潃鍜屾暣涓粨鏋勭殑鍦板潃鐩稿悓銆?br />銆銆鑷劧瀵圭晫(natural alignment)鍗抽粯璁ゅ榻愭柟寮忥紝鏄寚鎸夌粨鏋勪綋鐨勬垚鍛樹(shù)腑size鏈澶х殑鎴愬憳瀵歸綈銆?br />銆銆渚嬪錛?br />struct naturalalign
{
char a;
short b;
char c;
};
銆銆鍦ㄤ笂榪扮粨鏋勪綋涓紝size鏈澶х殑鏄痵hort錛屽叾闀垮害涓?瀛楄妭錛屽洜鑰岀粨鏋勪綋涓殑char鎴愬憳a銆乧閮戒互2涓哄崟浣嶅榻愶紝sizeof(naturalalign)鐨勭粨鏋滅瓑浜?錛?br />銆銆濡傛灉鏀逛負(fù)錛?br />struct naturalalign
{
char a;
int b;
char c;
};
銆銆鍏剁粨鏋滄樉鐒朵負(fù)12銆?/font>

2.2鎸囧畾瀵圭晫
銆銆涓鑸湴錛屽彲浠ラ氳繃涓嬮潰鐨勬柟娉曟潵鏀瑰彉緙虹渷鐨勫鐣屾潯浠訛細(xì)
銆銆路 浣跨敤浼寚浠?pragma pack (n)錛岀紪璇戝櫒灝嗘寜鐓涓瓧鑺傚榻愶紱
銆銆路 浣跨敤浼寚浠?pragma pack ()錛屽彇娑堣嚜瀹氫箟瀛楄妭瀵歸綈鏂瑰紡銆?br />銆銆娉ㄦ剰錛氬鏋?pragma pack (n)涓寚瀹氱殑n澶т簬緇撴瀯浣撲腑鏈澶ф垚鍛樼殑size錛屽垯鍏朵笉璧蜂綔鐢紝緇撴瀯浣撲粛鐒舵寜鐓ize鏈澶х殑鎴愬憳榪涜瀵圭晫銆?br />銆銆渚嬪錛?br />#pragma pack (n)
struct naturalalign
{
char a;
int b;
char c;
};
#pragma pack ()
銆銆褰搉涓?銆?銆?6鏃訛紝鍏跺榻愭柟寮忓潎涓鏍鳳紝sizeof(naturalalign)鐨勭粨鏋滈兘絳変簬12銆傝屽綋n涓?鏃訛紝鍏跺彂鎸ヤ簡(jiǎn)浣滅敤錛屼嬌寰梥izeof(naturalalign)鐨勭粨鏋滀負(fù)8銆?br />銆銆鍦╒C++ 6.0緙栬瘧鍣ㄤ腑錛屾垜浠彲浠ユ寚瀹氬叾瀵圭晫鏂瑰紡錛屽叾鎿嶄綔鏂瑰紡涓轟緷嬈¢夋嫨projetct > setting > C/C++鑿滃崟錛屽湪struct member alignment涓寚瀹氫綘瑕佺殑瀵圭晫鏂瑰紡銆?br />銆銆鍙﹀錛岄氳繃__attribute((aligned (n)))涔熷彲浠ヨ鎵浣滅敤鐨勭粨鏋勪綋鎴愬憳瀵歸綈鍦╪瀛楄妭杈圭晫涓婏紝浣嗘槸瀹冭緝?yōu)畱琚娇鐢ㄥQ屽洜鑰屼笉浣滆緇嗚瑙c?/font>

2.3 闈㈣瘯棰樼殑瑙g瓟
銆銆鑷蟲錛屾垜浠彲浠ュIntel銆佸井杞殑闈㈣瘯棰樿繘琛屽叏闈㈢殑瑙g瓟銆?br />銆銆紼嬪簭涓2琛?pragma pack (8)铏界劧鎸囧畾浜?jiǎn)瀵圭晫湄?fù)8錛屼絾鏄敱浜巗truct example1涓殑鎴愬憳鏈澶ize涓?錛坙ong鍙橀噺size涓?錛夛紝鏁卻truct example1浠嶇劧鎸?瀛楄妭瀵圭晫錛宻truct example1鐨剆ize涓?錛屽嵆絎?8琛岀殑杈撳嚭緇撴灉錛?br />銆銆struct example2涓寘鍚簡(jiǎn)struct example1錛屽叾鏈韓鍖呭惈鐨勭畝鍗曟暟鎹垚鍛樼殑鏈澶ize涓?錛坰hort鍙橀噺e錛夛紝浣嗘槸鍥犱負(fù)鍏跺寘鍚簡(jiǎn)struct example1錛岃宻truct example1涓殑鏈澶ф垚鍛榮ize涓?錛宻truct example2涔熷簲浠?瀵圭晫錛?pragma pack (8)涓寚瀹氱殑瀵圭晫瀵箂truct example2涔熶笉璧蜂綔鐢紝鏁?9琛岀殑杈撳嚭緇撴灉涓?6錛?br />銆銆鐢變簬struct example2涓殑鎴愬憳?shù)?涓哄崟浣嶅鐣岋紝鏁呭叾char鍙橀噺c鍚庡簲琛ュ厖3涓┖錛屽叾鍚庢墠鏄垚鍛榮truct1鐨勫唴瀛樼┖闂達(dá)紝20琛岀殑杈撳嚭緇撴灉涓?銆?br />



will 2006-07-06 18:42 鍙戣〃璇勮
]]>
鏁版嵁搴撲腑瀛樺彇BMP鍥懼儚http://www.shnenglu.com/weiyan/archive/2006/07/06/9482.htmlwillwillThu, 06 Jul 2006 03:56:00 GMThttp://www.shnenglu.com/weiyan/archive/2006/07/06/9482.htmlhttp://www.shnenglu.com/weiyan/comments/9482.htmlhttp://www.shnenglu.com/weiyan/archive/2006/07/06/9482.html#Feedback1http://www.shnenglu.com/weiyan/comments/commentRss/9482.htmlhttp://www.shnenglu.com/weiyan/services/trackbacks/9482.html浜岃繘鍒跺ぇ瀵硅薄BLOB(Binary Large Object)
鍏跺瓨鍙栫殑鏂瑰紡涓庢櫘閫氭暟鎹湁鎵鍖哄埆銆傛湰鏂囧皢浠嬬粛鍒╃敤ADO鍦ㄦ暟鎹簱涓瓨鍙朆LOB鏁版嵁鐨勫叿浣撳疄鐜拌繃紼嬶紝騫剁粰鍑哄疄鐜板浘鍍忓瓨鍙栨樉紺虹殑瀹屾暣紺轟緥宸ョ▼銆?

浜屻佸墠鏈熷噯澶?

棣栧厛鎴戜滑寤虹珛涓寮犲悕涓簎serinfo鐨勮〃錛屽寘鍚笁涓瓧孌?id,username,old,photo,鍏朵腑photo鏄竴涓彲浠ュ瓨鍌ㄤ簩榪涘埗鏁版嵁鐨勫瓧孌點(diǎn)?

2.1 鍦⊿QL SERVER涓垜浠彲浠ュ湪Query Analyzer涓洿鎺ヨ緭鍏ュ涓嬭鍙ュ垱寤猴細(xì)

CREATE TABLE [dbo].[userphoto] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[username] [varchar] (50) NULL ,
[old] [int] NULL ,
[photo] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
鍏朵腑photo鎴戜滑瀹氫箟涓篿mage綾誨瀷鐨勫瓧孌點(diǎn)?

2.2 鍦ˋCCESS涓垱寤虹殑鏂規(guī)硶濡備笅錛?

寤虹珛涓寮犳柊琛ㄥ寘鎷琲d,username,old,photo鍥涗釜瀛楁錛岀劧鍚庢墦寮琛紝閫夎鍥捐彍鍗曚腑璁捐瑙嗗浘錛屽皢id璁劇疆涓鴻嚜鍔ㄧ紪鍙風(fēng)殑閫掑闀挎暣鍨嬶紝username涓烘枃鏈紝old涓烘暟瀛楋紝photo涓篛LE瀵硅薄銆?
鍦ㄦ垜浠殑紺轟緥宸ョ▼涓凡緇忓寘鍚簡(jiǎn)涓涓緩绔嬪ソ鐨凙CCESS2000鐨勫簱錛屼綘鍙互鐩存帴鎷挎潵浣跨敤銆?

涓夈佸叿浣撴楠?

3.1 BLOB鏁版嵁鐨勪繚瀛?

BLOB綾誨瀷鐨勬暟鎹棤娉曠敤鏅氱殑鏂瑰紡榪涜瀛樺偍錛屾垜浠渶瑕佷嬌鐢ˋppendChunk鍑芥暟錛孉ppendChunk鍖呭惈鍦‵ield瀵硅薄涓紝鍘熷瀷濡備笅錛?
HRESULT AppendChunk (const _variant_t & Data );
浠庡嚱鏁板師鍨嬩腑鍙互鐪嬪埌鍏抽敭鐨勯棶棰樻槸鎴戜滑闇鎶婁簩榪涘埗鏁版嵁璧嬪肩粰VARIANT綾誨瀷鐨勫彉閲忥紝涓嬮潰鎴戜滑緇欏嚭鍏蜂綋鐨勪唬鐮佸茍浣滅畝鍗曠殑鍒嗘瀽:

///鍋囪m_pBMPBuffer鎸囬拡鎸囧悜涓鍧楅暱搴︿負(fù)m_nFileLen鐨勪簩榪涘埗鏁版嵁,騫朵笖宸茬粡鎴愬姛鎵撳紑浜?jiǎn)璁板綍闆嗗璞_pRecordset///

char *pBuf = m_pBMPBuffer ;
VARIANT varBLOB;
SAFEARRAY *psa;
SAFEARRAYBOUND rgsabound[1];

m_pRecordset->AddNew(); ///娣誨姞鏂拌褰?
m_pRecordset->PutCollect("username",_variant_t("灝忔潕")); ///涓烘柊璁板綍濉厖username瀛楁
m_pRecordset->PutCollect("old",_variant_t((long)28); ///濉厖old瀛楁

if(pBuf){
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = m_nFileLen;
psa = SafeArrayCreate(VT_UI1, 1, rgsabound); ///鍒涘緩SAFEARRAY瀵硅薄

for (long i = 0; i < (long)m_nFileLen; i++)
SafeArrayPutElement (psa, &i, pBuf++); ///灝唒Buf鎸囧悜鐨勪簩榪涘埗鏁版嵁淇濆瓨鍒癝AFEARRAY瀵硅薄psa涓?

varBLOB.vt = VT_ARRAY | VT_UI1;///灝唙arBLOB鐨勭被鍨嬭緗負(fù)BYTE綾誨瀷鐨勬暟緇?

varBLOB.parray = psa; ///涓簐arBLOB鍙橀噺璧嬪?

m_pRecordset->GetFields()->GetItem("photo")->AppendChunk(varBLOB); ///鍔犲叆BLOB綾誨瀷鐨勬暟鎹?
}

m_pRecordset->Update(); ///淇濆瓨鎴戜滑鐨勬暟鎹埌搴撲腑

鑷蟲鎴戜滑鐨勬暟鎹凡緇忔垚鍔熷湴淇濆瓨鍒頒簡(jiǎn)鏁版嵁搴撲腑,鎺ヤ笅鏉ユ垜浠墍瑕佸仛鐨勫伐浣滀究鏄皢璇ユ暟鎹彁鍙栧嚭鏉?璁╂垜浠戶緇惂!

3.2 BLOB鏁版嵁鐨勮鍙?

瀵瑰簲浜庝繚瀛樻暟鎹椂鎴戜滑鎵浣跨敤鐨凙ppendChunk鍑芥暟錛岃鍙栨暟鎹簲璇ヤ嬌鐢℅etChunk鍑芥暟,GetChunk鐨勫師鍨嬪涓?
_variant_t GetChunk (long Length );
緇欏嚭鏁版嵁鐨勯暱搴﹀悗GetChunk灝嗚繑鍥炲寘鍚暟鎹殑VARIANT綾誨瀷鍙橀噺,鐒跺悗鎴戜滑鍙互鍒╃敤SafeArrayAccessData鍑芥暟寰楀埌VARIANT鍙橀噺涓寚鍚戞暟鎹殑char *綾誨瀷鐨勬寚閽?浠ユ柟渚挎垜浠殑澶勭悊錛屽叿浣撲唬鐮佸涓嬶細(xì)

long lDataSize = m_pRecordset->GetFields()->GetItem("photo")->ActualSize;
///寰楀埌鏁版嵁鐨勯暱搴?

if(lDataSize > 0)
{
_variant_t varBLOB;

varBLOB = m_pRecordset->GetFields()->GetItem("photo")->GetChunk(lDataSize);

if(varBLOB.vt == (VT_ARRAY | VT_UI1)) ///鍒ゆ柇鏁版嵁綾誨瀷鏄惁姝g‘
{
銆銆 char *pBuf = NULL;
銆銆 SafeArrayAccessData(varBLOB.parray,(void **)&pBuf);
銆銆 ///寰楀埌鎸囧悜鏁版嵁鐨勬寚閽?/*****鍦ㄨ繖閲屾垜浠彲浠ュpBuf涓殑鏁版嵁榪涜澶勭悊*****/
銆銆 SafeArrayUnaccessData (varBLOB.parray);
銆銆 }

}

浠ヤ笂鎴戜滑鎴愬姛瀹炵幇浜?jiǎn)BLOB鏁版嵁鍦ㄦ暟鎹簱涓殑瀛樺彇錛屼負(fù)浜?jiǎn)璁╁ぇ瀹舵湁鐜版垚鐨勪緥瀛愬彲浠ュ弬鑰冿紝鏈枃鎻愪緵浜?jiǎn)绀轰緥宸ソE嬶紝鍦ㄧず渚嬪伐紼嬩腑鎴戜滑鍦ㄦ暟鎹簱涓繚瀛樺浘鍍忔暟鎹紝騫跺彲浠ュ榪欎簺鍥懼儚榪涜嫻忚銆佷慨鏀癸紝璇ヤ緥瀛愯繕娑夊強(qiáng)鍒板浣曠敤char *鎸囧悜鐨凚MP鏂囦歡鏁版嵁鍒涘緩BITMAP瀵硅薄鐒跺悗鏄劇ず鍑烘潵銆?br />



will 2006-07-06 11:56 鍙戣〃璇勮
]]>
SAFEARRAY浣跨敤鏂規(guī)硶紺轟緥http://www.shnenglu.com/weiyan/archive/2006/07/05/9452.htmlwillwillWed, 05 Jul 2006 12:09:00 GMThttp://www.shnenglu.com/weiyan/archive/2006/07/05/9452.htmlhttp://www.shnenglu.com/weiyan/comments/9452.htmlhttp://www.shnenglu.com/weiyan/archive/2006/07/05/9452.html#Feedback0http://www.shnenglu.com/weiyan/comments/commentRss/9452.htmlhttp://www.shnenglu.com/weiyan/services/trackbacks/9452.html l聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鍒涘緩

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) long i = 0;

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) VARIANT va = {0};

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) va . vt = VT_BSTR ;

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) SAFEARRAYBOUND bounds [1] = {0};

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) bounds [0]. cElements = 5;

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) SAFEARRAY * psa = SafeArrayCreate ( VT_VARIANT , 1, bounds );

聽(tīng)

l聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 瀛樺叆鍏冪礌

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) for ( i = 0; i < 5; i ++)

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) va . bstrVal = SysAllocString (L "test" );

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) SafeArrayPutElement ( psa , & i , & va );

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }

聽(tīng)

l聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鑾峰彇鍏冪礌

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) for ( i = 0; i < 5; i ++)

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) va . bstrVal = SysAllocString (L "test" );

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) SafeArrayGetElement ( psa , & i , & va );

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) SysFreeString ( va . bstrVal );

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }

聽(tīng)

l聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 閿姣?/span>

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) SafeArrayDestroy ( psa );

聽(tīng)

l聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鐢熸垚 VARIANT 鍙橀噺

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) VARIANT vsa = {0};

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) vsa . vt = VT_ARRAY | VT_BSTR ;

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) vsa . parray = psa ;



will 2006-07-05 20:09 鍙戣〃璇勮
]]>
閲庢寚閽?/title><link>http://www.shnenglu.com/weiyan/archive/2006/07/05/9409.html</link><dc:creator>will</dc:creator><author>will</author><pubDate>Tue, 04 Jul 2006 16:32:00 GMT</pubDate><guid>http://www.shnenglu.com/weiyan/archive/2006/07/05/9409.html</guid><wfw:comment>http://www.shnenglu.com/weiyan/comments/9409.html</wfw:comment><comments>http://www.shnenglu.com/weiyan/archive/2006/07/05/9409.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/weiyan/comments/commentRss/9409.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/weiyan/services/trackbacks/9409.html</trackback:ping><description><![CDATA[聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)閲庢寚閽堬紝涔熷氨鏄寚鍚戜笉鍙敤鍐呭瓨鍖哄煙鐨勬寚閽堛傞氬父瀵硅繖縐嶆寚閽堣繘琛屾搷浣滅殑璇濓紝灝嗕細(xì)浣跨▼搴忓彂鐢熶笉鍙鐭ョ殑閿欒銆備絾鏄紝鎴戝湪鏂囦腑瑕佽鐨勶紝灝辨槸閲庢寚閽堢殑鈥滃畨鍏ㄢ濅嬌鐢ㄦ柟娉曚互鍙?qiáng)鍏跺唴閮ㄧ殑鍘熷?<br /><br /><p>棣栧厛璇瘋浣嶇湅浠ヤ笅涓孌碘滃嵄闄┾濈殑C++浠g爜錛?/p><p></p><table class="codetable" cellspacing="1" border="0"><tbody><tr><td><code><font color="blue">void</font>聽(tīng)function(聽(tīng)<font color="blue">void</font>聽(tīng))<br />{<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)<font color="blue">char</font>*聽(tīng)str聽(tīng)=聽(tīng)<font color="blue">new</font>聽(tīng)<font color="blue">char</font>[100];<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)<font color="blue">delete</font>[]聽(tīng)str;<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)<font color="green">//聽(tīng)Do聽(tīng)something</font><br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)strcpy(聽(tīng)str,聽(tīng)"Dangerous!!"聽(tīng));<br />}</code></td></tr></tbody></table><p>涔嬫墍浠ヨ鍏跺嵄闄╋紝鏄洜涓鴻繖鏄竴孌靛畬鍏ㄥ悎涔庤娉曠殑浠g爜錛岀紪璇戠殑鏃跺欏畬緹庡緱涓鐐歸敊璇篃涓嶄細(xì)鏈夛紝鐒惰屽綋榪愯鍒皊trcpy涓鍙ョ殑鏃跺欙紝闂灝變細(xì)鍑虹幇錛屽洜涓哄湪榪欎箣鍓嶏紝str鐨勭┖闂村凡緇忚delete鎺変簡(jiǎn)錛屾墍浠trcpy褰撶劧涓嶄細(xì)鎴愬姛銆傚浜庤繖縐嶇被浼肩殑鎯呭喌錛屽湪鏋楅攼鍗氬+鐨勪功涓湁榪囦粙緇嶏紝縐板叾涓衡滈噹鎸囬拡鈥濄?/p><p>閭d箞錛岃浣嶆湁娌℃湁瑙佽繃瀹夊叏鐨勨滈噹鎸囬拡鈥濆憿錛熶笅闈㈣鐪嬫垜鐨勪竴孌礐++紼嬪簭錛岀伒鎰熸潵鑷狢SDN涓婄殑涓嬈¤璁恒傚湪姝わ紝鎴戝彧闇瑕丆++鐨勨滅被鈥濓紝C++鐨勫叾浣欎竴姒備笉闇瑕侊紝鍥犳鎴戞病鏈変嬌鐢ㄤ換浣曠殑C++鏍囧噯搴擄紝榪炶緭鍑洪兘鏄敤printf瀹屾垚鐨勩?/p><p></p><table class="codetable" cellspacing="1" border="0"><tbody><tr><td><code><font color="blue">#include</font>聽(tīng)<stdio.h><br /><br /><font color="blue">class</font>聽(tīng)CTestClass<br />{<br /><font color="blue">public</font>:<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)CTestClass(聽(tīng)<font color="blue">void</font>聽(tīng));<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)<font color="blue">int</font>聽(tīng)m_nInteger;<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)<font color="blue">void</font>聽(tīng)Function(聽(tīng)<font color="blue">void</font>聽(tīng));<br />};<br /><br />CTestClass::CTestClass(聽(tīng)<font color="blue">void</font>聽(tīng))<br />{<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)m_nInteger聽(tīng)=聽(tīng)0;<br />}<br /><br /><font color="blue">void</font>聽(tīng)CTestClass::Function(聽(tīng)<font color="blue">void</font>聽(tīng))<br />{<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)printf(聽(tīng)"This聽(tīng)is聽(tīng)a聽(tīng)test聽(tīng)function.\n"聽(tīng));<br />}<br /><br /><font color="blue">void</font>聽(tīng)main(聽(tīng)<font color="blue">void</font>聽(tīng))<br />{<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)CTestClass*聽(tīng)p聽(tīng)=聽(tīng)<font color="blue">new</font>聽(tīng)CTestClass;<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)<font color="blue">delete</font>聽(tīng)p;<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)p->Function();<br />}</code></td></tr></tbody></table><p>OK錛岀▼搴忓埌姝や負(fù)姝紝璇鎬綅鍙互緙栬瘧榪愯涓涓嬬湅鐪嬬粨鏋滃浣曘備綘涔熻浼?xì)鎯婂紓鍦板彂鐜板Q氭病鏈変換浣曠殑鍑洪敊淇℃伅錛屽睆騫曚笂绔熺劧涔栦箹鍦板嚭鐜頒簡(jiǎn)榪欎箞涓琛屽瓧絎︿覆錛?/p><p>This is a test function.</p><p>濂囨悧錛熶笉瑕佹ワ紝榪樻湁鏇村鎬殑鍛紝浣犲彲浠ユ妸涓誨嚱鏁頒腑鍔犱笂涓鍙ユ洿涓嶅彲鐞嗗柣鐨勶細(xì)</p><p></p><table class="codetable" cellspacing="1" border="0"><tbody><tr><td><code>((CTestClass*)NULL)->Function();</code></td></tr></tbody></table><p>榪欎粛鐒舵病鏈夐棶棰橈紒錛?/p><p>鎴戣繖榪樻湁鍛紝鍝堝搱銆傜幇鍦ㄤ綘鍦ㄤ富鍑芥暟涓繖涔堝啓錛屽樿涓婁竴鍙ヤ笉鍙悊鍠伙紝閭d箞浠ヤ笅鍙互鍙仛鏃犳硶鏃犲ぉ浜?jiǎn)锛?xì)</p><p></p><table class="codetable" cellspacing="1" border="0"><tbody><tr><td><code><font color="blue">int</font>聽(tīng)i聽(tīng)=聽(tīng)888;<br />CTestClass*聽(tīng)p2聽(tīng)=聽(tīng)(CTestClass*)&i;<br />p2->Function();</code></td></tr></tbody></table><p>浣犵湅鍒頒簡(jiǎn)浠涔堬紵鏄殑錛屸淭his is a test function.鈥濆綰﹁岃嚦錛屾病鏈変換浣曠殑閿欒銆?/p><p>浣犱篃璁歌闂負(fù)浠涔堬紝浣嗘槸鍦ㄦ垜瑙g瓟浣犱箣鍓嶏紝璇蜂綘鍦ㄤ富鍑芥暟涓姞鍏ュ涓嬩唬鐮侊細(xì)</p><p></p><table class="codetable" cellspacing="1" border="0"><tbody><tr><td><code>printf(聽(tīng)"%d,聽(tīng)%d",聽(tīng)<font color="blue">sizeof</font>(聽(tīng)CTestClass聽(tīng)),聽(tīng)<font color="blue">sizeof</font>(聽(tīng)<font color="blue">int</font>聽(tīng))聽(tīng));</code></td></tr></tbody></table><p>榪欐椂浣犲氨浼?xì)鐪嬪埌鐪熺涙簡(jiǎn)錛氳緭鍑虹粨鏋滄槸鈥斺斿緱鍒扮殑涓や釜鍗佽繘鍒舵暟鐩哥瓑銆傚錛岀敱sizeof寰楀埌鐨凜TestClass鐨勫ぇ灝忓叾瀹炲氨鏄畠鐨勬垚鍛榤_nInteger鐨勫ぇ灝忋備害鍗蟲槸璇達(dá)紝瀵逛簬CTestClass鐨勪竴涓疄渚嬪寲鐨勫璞★紙璁句負(fù)a錛夎岃█錛屽彧鏈塧.m_nInteger鏄睘浜巃榪欎釜瀵硅薄鐨勶紝鑰宎.Function()鍗存槸灞炰簬CTestClass榪欎釜綾葷殑銆傛墍浠ヤ互涓婄湅浼煎嵄闄╃殑鎿嶄綔鍏跺疄閮芥槸鍙涓旀棤璇殑銆?/p><p>鐜板湪浣犳槑鐧戒負(fù)浠涔堟垜鐨勨滈噹鎸囬拡鈥濇槸瀹夊叏鐨勪簡(jiǎn)錛岄偅涔堜互涓嬫垜鎵鍒楀嚭鐨勶紝灝辨槸鍦ㄤ粈涔堟儏鍐典笅錛屾垜鐨勨滈噹鎸囬拡鈥濅笉瀹夊叏錛?/p><ol><li>鍦ㄦ垚鍛樺嚱鏁癋unction涓鎴愬憳鍙橀噺m_nInteger榪涜鎿嶄綔錛? </li><li>灝嗘垚鍛樺嚱鏁癋unction澹版槑涓鴻櫄鍑芥暟錛坴irtual錛夈?</li></ol><p>浠ヤ笂鐨勪袱縐嶆儏鍐碉紝鐩殑灝辨槸寮鴻揩閲庢寚閽堜嬌鐢ㄥ睘浜庤嚜宸辯殑涓滆タ瀵艱嚧涓嶅畨鍏紝姣斿絎竴縐嶆儏鍐典腑鎿嶄綔鏈韓鐨刴_nInteger錛岀浜岀鎯呭喌涓彉?shù)给櫃氬嚱鏁扮殑Function鎴愪負(fù)浜?jiǎn)灞炰簬瀵硅薄鐨勫嚱鏁板Q堣繖涓鐐瑰彲浠ヤ粠sizeof鐪嬪嚭鏉ワ級(jí)銆?/p><p>鍏跺疄錛屽畨鍏ㄧ殑閲庢寚閽堝湪瀹為檯鐨勭▼搴忚璁′腑鏄嚑涔庢鏃犵敤澶勭殑銆傛垜鍐欒繖涓綃囨枃绔狅紝鎰忓浘騫朵笉鏄儚瀛斾箼宸變竴鏍峰幓鐞㈢(鍥炲瓧鏈夊嚑縐嶅啓娉曪紝鑰屾槸鎯抽氳繃榪欎釜灝忎緥瀛愬悜璇鎬綅鍐欐槑鐧紺++鐨勫璞″疄渚嬪寲鏈川錛屽笇鏈涘ぇ瀹朵笉浣嗚鏄庣櫧what鍜宧ow錛屾洿瑕佹槑鐧絯hy銆傛潕椹簩闆墮浂涓夊勾浜屾湀浜屽崄鏃ヤ綔浜庤嚜瀹呫?/p><p><br /><b>鍏充簬鎴愬憳鍑芥暟CTestClass::Function鐨勮ˉ鍏呰鏄?/b><br /><br /></p><p>榪欎釜鍑芥暟鏄竴涓櫘閫氱殑鎴愬憳鍑芥暟錛屽畠鍦ㄧ紪璇戝櫒鐨勫鐞嗕笅錛屼細(xì)鎴愪負(fù)綾諱技濡備笅鐨勪唬鐮侊細(xì)</p><p></p><table class="codetable" cellspacing="1" border="0"><tbody><tr><td><code><font color="blue">void</font>聽(tīng)Function(聽(tīng)<font color="blue">const</font>聽(tīng)CTestClass聽(tīng)*聽(tīng)<font color="blue">this</font>聽(tīng))聽(tīng)<font color="green">//聽(tīng)鈶?/font><br />{<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)printf("This聽(tīng)is聽(tīng)a聽(tīng)test聽(tīng)function.\n");<br />}</code></td></tr></tbody></table><p>閭d箞p->Function();涓鍙ュ皢琚紪璇戝櫒瑙i噴涓猴細(xì)</p><p></p><table class="codetable" cellspacing="1" border="0"><tbody><tr><td><code>Function( p ); </code></td></tr></tbody></table><p>榪欏氨鏄錛屾櫘閫氱殑鎴愬憳鍑芥暟蹇呴』緇忕敱涓涓璞℃潵璋冪敤錛堢粡鐢眛his鎸囬拡嬋媧燴憽錛夈傞偅涔堢敱涓婁緥鐨刣elete涔嬪悗錛宲鎸囬拡灝嗕細(xì)鎸囧悜涓涓棤鏁堢殑鍦板潃錛岀劧鑰宲鏈韓鏄竴涓湁鏁堢殑鍙橀噺錛屽洜姝ょ紪璇戣兘澶熼氳繃銆傚茍涓斿湪緙栬瘧閫氳繃涔嬪悗錛岀敱浜嶤TestClass::Function鐨勫嚱鏁頒綋鍐呭茍鏈榪欎釜浼犲叆鐨則his鎸囬拡榪涜浠諱綍鐨勬搷浣滐紝鎵浠ュ湪榪欓噷錛屸滈噹鎸囬拡鈥濅究鎴愪簡(jiǎn)涓涓湅浼煎畨鍏ㄧ殑涓滆タ銆?/p><p>鐒惰岃嫢榪欐牱鏀瑰啓C(jī)TestClass::Function錛?/p><p></p><table class="codetable" cellspacing="1" border="0"><tbody><tr><td><code><font color="blue">void</font>聽(tīng)CTestClass::Function(聽(tīng)<font color="blue">void</font>聽(tīng))<br />{<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)m_nInteger聽(tīng)=聽(tīng)0;<br />}</code></td></tr></tbody></table><p>閭d箞瀹冨皢浼?xì)琚~栬瘧鍣ㄨВ閲婁負(fù)錛?/p><p></p><table class="codetable" cellspacing="1" border="0"><tbody><tr><td><code><font color="blue">void</font>聽(tīng)Function(聽(tīng)<font color="blue">const</font>聽(tīng)CTestClass聽(tīng)*聽(tīng)<font color="blue">this</font>聽(tīng))<br />{<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)<font color="blue">this</font>->m_nInteger聽(tīng)=聽(tīng)0;<br />}</code></td></tr></tbody></table><p>浣犵湅鍒頒簡(jiǎn)錛屽湪p->Function();鐨勬椂鍊欙紝緋葷粺灝嗕細(xì)灝濊瘯鍦ㄤ紶鍏ョ殑榪欎釜鏃犳晥鍦板潃涓鎵緈_nInteger鎴愬憳騫跺皢鍏惰祴鍊間負(fù)0錛屽墿涓嬬殑鎴戜笉鐢ㄨ浜?jiǎn)鈥斺旈潪娉曟搷浣滃嚭鐜頒簡(jiǎn)銆?/p><p>鑷充簬virtual铏氬嚱鏁幫紝濡傛灉鍦ㄧ被瀹氫箟涔嬩腑灝咰TestClass澹版槑涓鴻櫄鍑芥暟錛?/p><p></p><table class="codetable" cellspacing="1" border="0"><tbody><tr><td><code><font color="blue">class</font>聽(tīng)CTestClass<br />{<br /><font color="blue">public</font>:<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)<font color="green">//聽(tīng)...</font><br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)<font color="blue">virtual</font>聽(tīng)<font color="blue">void</font>聽(tīng)Function(聽(tīng)<font color="blue">void</font>聽(tīng));<br />};</code></td></tr></tbody></table><p>閭d箞C++鍦ㄦ瀯寤篊TestClass綾葷殑瀵硅薄妯″瀷鏃訛紝灝嗕細(xì)涓轟箣鍒嗛厤涓涓櫄鍑芥暟琛╲ptr錛堝彲浠ヤ粠sizeof鐪嬪嚭鏉ワ級(jí)銆倂ptr鏄竴涓寚閽堬紝瀹冩寚鍚戜竴涓嚱鏁版寚閽堢殑鏁扮粍錛屾暟緇勪腑鐨勬垚鍛樺嵆鏄湪CTestClass涓0鏄庣殑鎵鏈夎櫄鍑芥暟銆傚湪璋冪敤铏氬嚱鏁扮殑鏃跺欙紝蹇呴』緇忕敱榪欎釜vptr錛岃繖涔熷氨鏄負(fù)浠涔堣櫄鍑芥暟杈冧箣鏅氭垚鍛樺嚱鏁拌娑堣椾竴浜涙垚鏈殑緙樻晠銆備互鏈緥鑰岃█錛宲->Function();涓鍙ュ皢琚紪璇戝櫒瑙i噴涓猴細(xì)</p><p></p><table class="codetable" cellspacing="1" border="0"><tbody><tr><td><code>(*p->vptr[1])(聽(tīng)p聽(tīng));聽(tīng)<font color="green">//聽(tīng)璋冪敤vptr琛ㄤ腑绱㈠紩鍙蜂負(fù)1鐨勫嚱鏁幫紙鍗矲unction錛夆憿</font></code></td></tr></tbody></table><p>涓婇潰鐨勪唬鐮佸凡緇忚鏄庝簡(jiǎn)錛屽鏋減鎸囧悜涓涓棤鏁堢殑鍦板潃錛岄偅涔堝繀鐒朵細(xì)鏈夐潪娉曟搷浣溿?/p><p>澶囨敞錛?/p><p>鈶犲叧浜庡嚱鏁扮殑鍛藉悕錛屾垜閲囩敤浜?jiǎn)鍘熷悕鑰屾病鏈夊彉鍖栥備簨瀹炰笂緙栬瘧鍣ㄤ負(fù)浜?jiǎn)閬垮厤鍑芥暟閲嶈浇閫犳垚鐨勯噸鍚嶆儏鍐碉紝浼?xì)瀵瑰嚱鏁扮殑鍚嶅瓧杩涜澶勭悊锛屼娇涔嬫垚湄?fù)鐙竴鏃犱簩鐨勫悕縐般?br />鈶″皢鎴愬憳鍑芥暟澹版槑涓簊tatic錛屽彲浠ヤ嬌鎴愬憳鍑芥暟涓嶇粡鐢眛his鎸囬拡渚垮彲璋冪敤銆?br />鈶ptr琛ㄤ腑錛岀儲(chǔ)寮曞彿0涓虹被鐨則ype_info銆?/p><br /><br /><img src ="http://www.shnenglu.com/weiyan/aggbug/9409.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/weiyan/" target="_blank">will</a> 2006-07-05 00:32 <a href="http://www.shnenglu.com/weiyan/archive/2006/07/05/9409.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>VISUAL C++杞歡寮鍙戜腑鍑犱釜甯哥敤鍔熻兘http://www.shnenglu.com/weiyan/archive/2006/07/05/9408.htmlwillwillTue, 04 Jul 2006 16:26:00 GMThttp://www.shnenglu.com/weiyan/archive/2006/07/05/9408.htmlhttp://www.shnenglu.com/weiyan/comments/9408.htmlhttp://www.shnenglu.com/weiyan/archive/2006/07/05/9408.html#Feedback0http://www.shnenglu.com/weiyan/comments/commentRss/9408.htmlhttp://www.shnenglu.com/weiyan/services/trackbacks/9408.html涓銆佽緗▼搴忚嚜鍔ㄨ繍琛屻偮?tīng)?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)寰堝鐩戞帶杞歡瑕佹眰杞歡鑳藉鍦ㄧ郴緇熼噸鏂板惎鍔ㄥ悗涓嶇敤鐢ㄦ埛鍘葷偣鍑誨浘鏍囧惎鍔ㄩ」鐩紝鑰屾槸鐩存帴鑳藉鍚姩榪愯錛屾柟娉曟槸鍐欐敞鍐岃〃Software\\Microsoft\\Windows\\CurrentVersion\\Run銆傚弬鑰冪▼搴忓彲浠ヨ涓嬶細(xì)(鏌ユ壘紼嬪簭鐩綍鐨勬墽琛屾枃浠訛紝瀛樺湪鍒欒繘琛屾坊鍔犳敞鍐岃〃鎿嶄綔)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) HKEY RegKey;聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) CString sPath;聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) sPath.ReleaseBuffer();聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) int nPos;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) nPos=sPath.ReverseFind(鈥橽\鈥?;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) sPath=sPath.Left(nPos);聽(tīng)
聽(tīng)聽(tīng)聽(tīng) CString lpszFile=sPath+"\\****.exe";//榪欓噷鍔犱笂浣犺鏌ユ壘鐨勬墽琛屾枃浠跺悕縐奧?
聽(tīng)聽(tīng)聽(tīng) CFileFind fFind;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) BOOL bSuccess;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) bSuccess=fFind.FindFile(lpszFile);聽(tīng)
聽(tīng)聽(tīng)聽(tīng) fFind.Close();聽(tīng)
聽(tīng)聽(tīng)聽(tīng) if(bSuccess)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) {聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) CString fullName;聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) fullName=lpszFile;聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) RegKey=NULL;聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",&RegKey);聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) RegSetValueEx(RegKey,"*****",0,REG_SZ,(const unsigned char*)(LPCTSTR)fullName,fullName.GetLength());//榪欓噷鍔犱笂浣犻渶瑕佸湪娉ㄥ唽琛ㄤ腑娉ㄥ唽鐨勫唴瀹孤?
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) this->UpdateData(FALSE);聽(tīng)
聽(tīng)聽(tīng)聽(tīng) }聽(tīng)
聽(tīng)聽(tīng)聽(tīng) else聽(tīng)
聽(tīng)聽(tīng)聽(tīng) {聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) theApp.SetMainSkin();聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ::AfxMessageBox("娌℃壘鍒版墽琛岀▼搴忥紝鑷姩榪愯澶辮觸");聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) exit(0);聽(tīng)
聽(tīng)聽(tīng)聽(tīng) }聽(tīng)

浜屻佽嚜鍔ㄩ厤緗暟鎹簮聽(tīng)
聽(tīng)聽(tīng)聽(tīng) 寰堝鐨勭▼搴忛兘瑕佺敤鍒版暟鎹簱緇撳悎鐨勬搷浣滐紝榪欓噷涓句緥ACCESS錛屽洜涓篈CCESS鍦ㄤ腑灝忓瀷VC緋葷粺寮鍙戜腑鏄渶甯哥敤鍒扮殑錛屽鏋滅▼搴忕殑縐繪錛屽鏋滃浜庡緢鍒濈駭鐨勭敤鎴鋒潵璇達(dá)紝浣犺繕闇瑕佷粬鍒伴厤緗潰鏉夸腑榪涜鏁版嵁婧愰厤緗殑璇濓紝閭e氨鏈夌偣璇翠笉榪囧幓浜?jiǎn)銆偮?
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) #include <odbcinst.h>聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) //閰嶇疆鏁版嵁婧愶紝鏁版嵁搴撳湪搴旂敤紼嬪簭鐩綍涓?榪欓噷姣斿鏁版嵁搴撴枃浠跺悕涓?**.mdb錛岀▼搴忚繍琛屾椂鍊欏彲浠ュ皢鏁版嵁搴撴枃浠舵嫹璐濆埌紼嬪簭鐩綍涓嬮潰銆偮?
聽(tīng)聽(tīng)聽(tīng) CString sPath;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);聽(tīng)
聽(tīng)聽(tīng)聽(tīng) sPath.ReleaseBuffer();聽(tīng)
聽(tīng)聽(tīng)聽(tīng) int nPos;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) nPos=sPath.ReverseFind(鈥橽\鈥?;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) sPath=sPath.Left(nPos);聽(tīng)
聽(tīng)聽(tīng)聽(tīng) CString lpszFileName = sPath + "\\***.mdb";//榪欓噷淇敼鎴愪綘鐨勬暟鎹簱鏂囦歡鍚嶇О聽(tīng)
聽(tīng)聽(tīng)聽(tīng) CFileFind聽(tīng) fFind;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) if(!fFind.FindFile(lpszFileName))聽(tīng)
聽(tīng)聽(tīng)聽(tīng) {聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ::AfxMessageBox("娌℃湁鎵懼埌鏁版嵁搴?);聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) exit(0);聽(tīng)
聽(tīng)聽(tīng)聽(tīng) }聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) CString szDesc;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) szDesc.Format( "DSN=****;Description=****;DESCRIPTION=The DataBase For ***;FIL=MicrosoftAccess;DEFAULTDIR=%s;DBQ=%s;" ,sPath,lpszFileName);//榪欓噷***鍙峰彲浠ユ坊鍔犳垚浣犵殑鎻忚堪聽(tīng)

聽(tīng)聽(tīng)聽(tīng) //娣誨姞鏁版嵁婧惵?
聽(tīng)聽(tīng)聽(tīng) if(!::SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)",(LPCSTR)szDesc))聽(tīng)
聽(tīng)聽(tīng)聽(tīng) {聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ::AfxMessageBox("32浣峅DBC鏁版嵁婧愰厤緗敊璇?");聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) exit(0);聽(tīng)
聽(tīng)聽(tīng)聽(tīng) }聽(tīng)

涓夈佽緗樉紺烘ā寮忥細(xì)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) 寰堝鐨勭▼搴忕殑縐繪鐨勮繍琛岀幆澧冩槸鏀瑰彉鐨勩傛湁鍙兘浣犵殑鍘熸潵寮鍙戠幆澧冩槸1024X768錛屼絾鏄埌浜?jiǎn)閭d簺鏄窘C哄櫒澶т簬17鐨勬椂鍊欙紙鍒嗚鯨鐜囪秴榪囦綘鐨勫紑鍙戞椂鐨勫垎杈ㄧ巼鏃訛級(jí)錛岀▼搴忕殑鏄劇ず鍙兘灝變笉濂界湅浜?jiǎn)銆偮?
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) DEVMODE lpDevMode;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) lpDevMode.dmPelsHeight=768;//Y鏂瑰悜璞$礌鐐孤?
聽(tīng)聽(tīng)聽(tīng) lpDevMode.dmPelsWidth=1024;//X鏂瑰悜璞$礌鐐孤?
聽(tīng)聽(tīng)聽(tīng) lpDevMode.dmDisplayFrequency=85;//灞忓箷鍒鋒柊鐜嚶?
聽(tīng)聽(tīng)聽(tīng) lpDevMode.dmFields=DM_PELSWIDTH|DM_PELSHEIGHT|DM_DISPLAYFREQUENCY;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) ChangeDisplaySettings(&lpDevMode,0);聽(tīng)

鍥涖佸湪浣犵殑紼嬪簭涓棿鍔犺澆鍏朵粬搴旂敤紼嬪簭錛毬?
聽(tīng)聽(tīng)聽(tīng) 浣犵殑紼嬪簭闄や簡(jiǎn)璋冪敤鍒板悇涓ā鍧楄繘琛屽崗鍚屽伐浣滃錛圖LL錛夛紝榪樻湁鍙兘璋冪敤涓嶆槸鍚屼竴涓紑鍙戠幆澧冧笅鐨勫簲鐢ㄧ▼搴忥紝姣斿VC鐜涓嬭皟鐢―ELPHI錛孷B寮鍙戠殑鎵ц紼嬪簭錛屼綘灝卞彲浠ョ敤鍒頒笅闈㈢殑鏂規(guī)硶錛堝皢璋冪敤鐨勫簲鐢ㄧ▼搴忔嫹璐濈▼搴忕洰褰曚腑錛夛細(xì)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) CString sPath;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);聽(tīng)
聽(tīng)聽(tīng)聽(tīng) sPath.ReleaseBuffer();聽(tīng)
聽(tīng)聽(tīng)聽(tīng) int nPos;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) nPos=sPath.ReverseFind(鈥橽\鈥?;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) sPath=sPath.Left(nPos);聽(tīng)
聽(tīng)聽(tīng)聽(tīng) CString lpszFileName = sPath + "\\***.exe";//榪欓噷淇敼鎴愪綘鐨勮皟鐢ㄥ簲鐢ㄧ▼搴忕殑鏂囦歡鍚嶇О聽(tīng)
聽(tīng)聽(tīng)聽(tīng) CFileFind聽(tīng) fFind;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) if(!fFind.FindFile(lpszFileName))聽(tīng)
聽(tīng)聽(tīng)聽(tīng) {聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ::AfxMessageBox("娌℃湁鎵懼埌璋冪敤鐨勫簲鐢ㄧ▼搴忥紒");聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return FALSE;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) }聽(tīng)
聽(tīng)聽(tīng)聽(tīng) else聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ShellExecute(NULL,NULL,_T("***.exe"),NULL,sPath,NULL);聽(tīng)聽(tīng)

浜斻佺粨鏉熻繘紼嬶細(xì)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) 鍦ㄤ綘鐨勭▼搴忎腑緇撴潫鍒殑紼嬪簭榪涚▼錛岄噰鐢ㄧ殑鏂規(guī)硶鏄繘琛岃繘紼嬪垪涓撅紝鐒跺悗閲囩敤鏌ユ壘鐨勬柟娉曡繘琛岋細(xì)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) #include "TLHELP32.H"聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) DWORD ProcessID[50];聽(tīng)
聽(tīng)聽(tīng)聽(tīng) CString kkk[50];聽(tīng)
聽(tīng)聽(tīng)聽(tīng) HANDLE SnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) PROCESSENTRY32* info=new PROCESSENTRY32;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) PROCESSENTRY32 ProcessInfo;//澹版槑榪涚▼淇℃伅鍙橀噺聽(tīng)
聽(tīng)聽(tīng)聽(tīng) ProcessInfo.dwSize=sizeof(ProcessInfo);//璁劇疆ProcessInfo鐨勫ぇ灝徛?
聽(tīng)聽(tīng)聽(tīng) //榪斿洖緋葷粺涓涓涓繘紼嬬殑淇℃伅聽(tīng)
聽(tīng)聽(tīng)聽(tīng) BOOL Status=Process32First(SnapShot,&ProcessInfo);聽(tīng)
聽(tīng)聽(tīng)聽(tīng) int m_nProcess=0;聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) while(Status)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) {聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) CString s,str1,str2;聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) s.Format("%d",ProcessInfo.cntThreads);聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) str1.Format("%s",ProcessInfo.szExeFile);聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) str1=ProcessInfo.szExeFile;聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) kkk[m_nProcess]=ProcessInfo.szExeFile;聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ProcessID[m_nProcess]=ProcessInfo.th32ProcessID;聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) if(str1=="***.exe")//***.exe灝辨槸浣犺緇撴潫鐨勮繘紼嬬殑鍚嶇О聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) HANDLE ProcessHandle;聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ProcessHandle=OpenProcess (PROCESS_ALL_ACCESS,FALSE,ProcessID[m_nProcess]);聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) TerminateProcess(ProcessHandle,0);聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Status=Process32Next(SnapShot,&ProcessInfo);聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) m_nProcess++;聽(tīng)
聽(tīng)聽(tīng)聽(tīng) }聽(tīng)



will 2006-07-05 00:26 鍙戣〃璇勮
]]>
鍦╒C涓坊鍔犲搷搴旇嚜瀹氫箟鐨勬秷鎭殑浠g爜姝ラhttp://www.shnenglu.com/weiyan/archive/2006/07/02/9288.htmlwillwillSun, 02 Jul 2006 10:00:00 GMThttp://www.shnenglu.com/weiyan/archive/2006/07/02/9288.htmlhttp://www.shnenglu.com/weiyan/comments/9288.htmlhttp://www.shnenglu.com/weiyan/archive/2006/07/02/9288.html#Feedback0http://www.shnenglu.com/weiyan/comments/commentRss/9288.htmlhttp://www.shnenglu.com/weiyan/services/trackbacks/9288.html1. 棣栧厛瀹氫箟涓涓秷鎭唬鐮?/p>

#define WM_DEBUG聽(tīng)聽(tīng)聽(tīng)聽(tīng) WM_USER + 1999

2. 鍦ㄧ獥鍙eご鏂囦歡涓坊鍔?/p>

class CStreamServerDlg : public CDialog
{
聽(tīng)// Generated message map functions
聽(tīng)//{{AFX_MSG(CStreamServerDlg)
...
聽(tīng)//}}AFX_MSG
聽(tīng)afx_msg void OnDebug(WPARAM wParam, LPARAM lParam);聽(tīng)
...
}

3. 鍦ㄧ獥鍙g殑cpp鏂囦歡涓坊鍔?/p>


BEGIN_MESSAGE_MAP(CStreamServerDlg, CDialog)
...
聽(tīng)ON_MESSAGE(WM_DEBUG, OnDebug)
END_MESSAGE_MAP()

LRESULT聽(tīng) CStreamServerDlg::OnDebug(WPARAM wParam, LPARAM lParam)
{
}

4. 鍏朵粬鍦版柟灝卞彲浠ュ彂閫佹秷鎭?/p>

pWnd->PostMessage(WM_DEBUG,聽(tīng) (WPARAM)p, 0) )


璇存槑錛?br />
#define ON_MESSAGE(message, memberFxn)
{ message, 0, 0, 0, AfxSig_lwl,
(AFX_PMSG)(AFX_PMSGW)(LRESULT (AFX_MSG_CALL CWnd::*)(WPARAM, LPARAM))&memberFxn },




will 2006-07-02 18:00 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              99热这里只有精品8| 国产综合av| 另类人畜视频在线| 亚洲欧美精品在线观看| 亚洲精品影院在线观看| 欧美1区2区视频| 久久国产福利| 亚洲欧美一级二级三级| 99精品国产高清一区二区| 在线观看三级视频欧美| 国产一区二区三区四区| 国产精品麻豆成人av电影艾秋| 欧美国产精品va在线观看| 久久九九久久九九| 欧美一区2区三区4区公司二百| 一区二区三区成人精品| 日韩视频免费看| 亚洲精品乱码久久久久久蜜桃91| 免费成人高清| 看片网站欧美日韩| 久久久人成影片一区二区三区观看| 亚洲欧美日本精品| 亚洲欧美99| 亚洲欧美www| 亚洲欧美日韩精品| 亚洲综合导航| 亚洲欧美日韩精品久久久久| 中文一区字幕| 亚洲综合大片69999| 亚洲女人天堂av| 亚洲欧美在线x视频| 亚洲在线观看视频网站| 亚洲欧美一区二区视频| 性欧美video另类hd性玩具| 欧美在线不卡视频| 久久精品一区二区国产| 久久天天狠狠| 你懂的一区二区| 亚洲国产精品激情在线观看| 亚洲欧洲三级| 夜夜嗨av一区二区三区网页| 亚洲视频成人| 欧美亚洲网站| 久久在线免费观看| 欧美激情精品久久久久久变态| 欧美精品1区2区| 欧美性生交xxxxx久久久| 国产精品毛片va一区二区三区| 国产乱码精品一区二区三区五月婷| 国产欧美在线观看一区| 激情婷婷久久| 亚洲精品男同| 亚洲免费视频观看| 久久人人精品| 欧美黄网免费在线观看| 91久久一区二区| 亚洲夜晚福利在线观看| 欧美在线视频全部完| 男人的天堂亚洲在线| 欧美日韩另类视频| 国产日韩一级二级三级| 在线欧美日韩| 亚洲视频网在线直播| 久久精品国产第一区二区三区| 麻豆av一区二区三区久久| 亚洲级视频在线观看免费1级| 夜夜夜久久久| 久久成年人视频| 欧美精品网站| 国产伦精品一区二区| 91久久精品国产91久久性色tv| 亚洲少妇自拍| 老司机久久99久久精品播放免费 | 亚洲激情一区| 亚洲综合好骚| 欧美成人午夜剧场免费观看| 一个色综合av| 麻豆av福利av久久av| 国产精品男女猛烈高潮激情| 亚洲高清一区二| 午夜精品区一区二区三| 亚洲国产成人av在线| 亚洲欧美在线高清| 欧美精品偷拍| 影音先锋亚洲精品| 亚洲欧美国产日韩中文字幕| 欧美大片免费观看| 亚洲欧美日韩在线不卡| 欧美精品一区二区视频| 娇妻被交换粗又大又硬视频欧美| 亚洲小说欧美另类社区| 蜜臀久久久99精品久久久久久| 一区二区三区精密机械公司 | 欧美日韩亚洲一区二区| 尤妮丝一区二区裸体视频| 亚洲男人第一网站| 亚洲黑丝在线| 久久天堂成人| 国产日韩在线一区| 亚洲已满18点击进入久久| 欧美激情一区二区三区成人| 欧美一区二区免费观在线| 欧美特黄一级| av成人天堂| 欧美黄色影院| 久久久久久网址| 国产一区三区三区| 欧美在线视频播放| 一区二区三区视频在线播放| 欧美成人免费网| 在线观看成人小视频| 久久久噜噜噜久久中文字免| 亚洲一区二区三区四区视频| 欧美日韩视频在线| 夜夜爽99久久国产综合精品女不卡| 免费毛片一区二区三区久久久| 欧美一区日韩一区| 国产亚洲一区精品| 久久av一区| 午夜老司机精品| 国产精品专区一| 欧美一区亚洲| 亚洲女女女同性video| 国产精品家庭影院| 亚洲综合国产| 亚洲综合第一| 国产精品一区久久| 久久av在线| 欧美一区二区三区在线免费观看| 国产九色精品成人porny| 午夜宅男久久久| 午夜免费在线观看精品视频| 国产视频一区欧美| 久久久青草婷婷精品综合日韩| 欧美在线一级视频| 红杏aⅴ成人免费视频| 久久一区欧美| 男人天堂欧美日韩| 一本色道久久88综合亚洲精品ⅰ| 亚洲免费观看高清在线观看 | 欧美黄色免费网站| 欧美成人黑人xx视频免费观看| 亚洲精品日韩欧美| 日韩视频在线免费观看| 欧美四级剧情无删版影片| 亚洲欧美日韩一区二区在线| 亚洲欧美在线磁力| 伊人色综合久久天天| 亚洲国产高清一区| 欧美日韩一区二区三区在线| 亚洲男女毛片无遮挡| 香蕉免费一区二区三区在线观看| 黄色av成人| 亚洲国产日韩精品| 国产精品成人一区二区三区吃奶| 欧美一区日韩一区| 毛片基地黄久久久久久天堂 | 久久男女视频| 欧美成人中文字幕| 亚洲欧美日韩在线| 久久久久欧美精品| 99一区二区| 亚洲淫性视频| 亚洲第一天堂av| 一区二区三区四区五区在线| 国产三级欧美三级日产三级99| 牛牛国产精品| 国产精品高潮视频| 免费日韩av片| 国产精品久久久久久久电影| 久久综合九色99| 欧美视频一区二区三区…| 久久人人97超碰人人澡爱香蕉| 欧美伦理一区二区| 久久精品成人欧美大片古装| 欧美成人dvd在线视频| 欧美一区二区三区喷汁尤物| 免费试看一区| 欧美亚洲一区在线| 欧美大片在线观看一区| 欧美中文在线观看国产| 欧美国产视频在线| 久久精品在线免费观看| 欧美日韩国产麻豆| 麻豆乱码国产一区二区三区| 国产精品成人观看视频免费| 欧美岛国激情| 国产日韩欧美精品一区| 亚洲美女av在线播放| 一区福利视频| 亚洲一区黄色| av成人老司机| 久久一区二区三区超碰国产精品| 亚洲欧美一级二级三级| 欧美国产日韩一区二区| 久久综合狠狠综合久久综青草| 国产精品久久久久久亚洲调教| 亚洲国产精品一区二区尤物区| 国语自产偷拍精品视频偷 | 国产精品午夜视频|