Ƶ µÀ Ö± ´ï - ÐÂÎÅ - ¶ÁÊé - Åàѵ - ½Ì³Ì - Ç°ÑØ - ×éÍø - ϵͳӦÓà - °²È« - ±à³Ì - ´æ´¢ - ²Ù×÷ϵͳ - Êý¾Ý¿â - ·þÎñÆ÷ - רÌâ - ²úÆ· - °¸Àý¿â - ¼¼ÊõȦ - ²©¿Í - BBS
51CTO.COM_ÖйúÁìÏȵÄIT¼¼ÊõÍøÕ¾
ÕÒ×ÊÁÏ£º

ʹÓÃVisual C++ʵÏÖOLE¼ôÌù°å(1)

×÷Õß: Íõçæ ³ö´¦:CSDN¡¡ (  ) ×©  (  ) ºÃ  ÆÀÂÛ ( ) Ìõ ¡¡½øÈëÂÛ̳
¸üÐÂʱ¼ä£º2005-09-22 15:31
¹Ø ¼ü ´Ê£ºC  Ê¹Óà I  s
ÔĶÁÌáʾ£º±¾ÎĽ«¼òÒªÐðÊö±ê×¼Windows¼ôÌù°åµÄʵÏÖ£¬²¢½«Öصã·ÅÔÚÌÖÂÛÈçºÎͨ¹ýVisual C++ʵÏÖOLE¼ôÌù°åÉÏ¡£

Ò»¡¢¸ÅÊö

ÔÚWindows²Ù×÷ϵͳÖдæÔÚÁ½ÖÖ¼ôÌù°å»úÖÆ£ºWindows±ê×¼¼ôÌù°åºÍOLE¼ôÌù°å»úÖÆ¡£

 

±ê×¼µÄWindows¼ôÌù°åÊÇÒ»¸ö±»ËùÓÐWindowsÓ¦ÓóÌÐò¹²ÏíµÄϵͳ·þÎñ£¬Òò´ËËü²¢Ã»ÓÐ×Ô¼ºµÄ¾ä±ú»òÀà¡£µ«Äã¿ÉÒÔͨ¹ýCWndÀàµÄ³ÉÔ±º¯ÊýÀ´¹ÜÀí¼ôÌù°å¡£

 

×Ô´ÓOLE£¨Object Linking and Embedding£¬¶ÔÏóÁ´½ÓºÍǶÈ룩µ®ÉúÖ®ºó£¬Windows²Ù×÷ϵͳÖбã³öÏÖÁ˵ڶþÖÖ¼ôÌù°å»úÖÆ¡ª¡ªOLE¼ôÌù°å»úÖÆ¡£±ê×¼µÄWindows¼ôÌù°åAPI£¨Application Programming Interface£¬Ó¦ÓóÌÐò±à³Ì½Ó¿Ú£©ÒÀÈ»¿ÉÓ㬵«ÊÇËûÒѾ­±»OLEÊý¾Ý´«Êä»úÖÆÀ´ÊµÏÖÁË¡£OLEÖ§³ÖUDT£¨Uniform Data Transfer£¬Í³Ò»Êý¾Ý´«Ê䣩£¬²¢¿ÉÒÔͨ¹ýÍϷŲÙ×÷ʵÏÖ¼ôÌù°åµÄ¼ôÇС¢¸´ÖƺÍÕ³ÌùµÈ²Ù×÷¡£OLE¼ôÌù°å³ýÁËÓµÓбê×¼Windows¼ôÌù°åµÄÐÔÄÜÍ⣬»¹Ö§³Ö´«ÊäÓû§×Ô¶¨ÒåµÄ¼ôÌù°å¸ñʽ£¬²¢Äܹ»ÔÚ´«ÊäÊý¾Ýʱ°ó¶¨OLE¸ñʽ£¨Èç×ÖÌå¡¢×ֺŵȣ©¡£OLE¼ôÌù°å»úÖÆ½«³ÉΪ¸üΪÖ÷ÒªµÄÊý¾Ý´«Êä»úÖÆ¡£

 

±¾ÎĽ«¼òÒªÐðÊö±ê×¼Windows¼ôÌù°åµÄʵÏÖ£¬²¢½«Öصã·ÅÔÚÌÖÂÛÈçºÎͨ¹ýVisual C++ʵÏÖOLE¼ôÌù°åÉÏ¡£

 

¶þ¡¢Ñ¡ÔñÊʵ±µÄ¼ôÌù°å»úÖÆ

 

ÔÚÑ¡ÔñʹÓúÎÖÖ¼ôÌù°å»úÖÆÊ±Í¨³£Ó¦×ñÑ­ÏÂÃæµÄÔ­Ôò£ºÈç¹ûÓ¦ÓóÌÐòÔÚ½«À´ÓÖ¿ÉÄܾßÓÐеÄÐÔÄÜ£¨±ÈÈçÏÖÔÚÖ»ÐèÒª´«Êä´¿Îı¾£¬µ«½«À´ÓпÉÄÜÐèÒªÁíÍâ´«Êä×ÖÌåµÈÌØÐÔ£©£¬ÄÇôʹÓÃOLE¼ôÌù°å¡£

Èç¹ûÄãÕýÔÚʹÓÃÒ»¸öOLEÓ¦ÓóÌÐò£¬»òÕßÄãÏ£ÍûʹÓÃÈκÎOLEÌØÐÔ£¨ÈçÍϷŵȣ©ÄÇôÄãÓ¦µ±Ê¹ÓÃOLE¼ôÌù°å»úÖÆ¡£

Èç¹ûÄãÌṩÁËOLE¸ñʽ£¨Èç×ÖÌå¡¢×ֺŵȣ©£¬ÄÇôʹÓÃOLE¼ôÌù°å»úÖÆ¡£

 

Èý¡¢Ê¹ÓÃWindows±ê×¼¼ôÌù°å

 

´ó¶àÊýWindowsϵÄÓ¦ÓóÌÐòÖ§³Ö¼ôÇлò¸´ÖÆÊý¾Ýµ½Windows¼ôÌù°åÖÐÒÔ¼°´Ó¼ôÌù°åÕ³ÌùÊý¾ÝÖÁÄ¿µÄµØ¡£ÔÚÕâ¸ö¹ý³ÌÖУ¬¼ôÌù°åÊý¾Ý¸ñʽÔÚ¶àÖÖÓ¦ÓóÌÐòÖ®¼ä·¢ÉúÁ˱仯¡£ÏµÍ³¹¹¼Ü½ö½öͨ¹ýʵÏÖһЩÓÐÏÞµÄÀàÀ´Ö§³ÖһЩÓÐÏ޵ļôÌù°å¸ñʽ£¬Ï±íÁгöÁËWindows±ê×¼¼ôÌù°åÖ§³ÖµÄ¸ñʽ£¨µÚÒ»ÁС°Öµ¡±½«ÔÚÏÂÃæµÄ³ÌÐò´úÂëÖÐʹÓã©¡£

 

Öµ             º¬Òå

CF_BITMAP      Ò»¸ö¶ÔÓ¦ÓÚλͼµÄ¾ä±ú£¨HBITMAP£©¡£

CF_DIB         Ò»¸ö°üº¬BITMAPINFO½á¹¹²¢ÇÒ

¸ú×ÅλͼÊý¾ÝµÄÄÚ´æ¶ÔÏó¡£

CF_DIF         Êý¾Ý½»»¥¸ñʽ

CF_DSPBITMAP   ÓÐÒ»¸ö˽ÓиñʽµÄλͼÏÔʾ¸ñʽ¡£

CF_DSPENHMETAFILE      ÓÐÒ»¸ö˽ÓиñʽµÄÔöÇ¿µÄÔªÎļþµÄÏÔʾ¸ñʽ¡£

CF_DSPMETAFILEPICT     ÓÐÒ»¸ö˽ÓиñʽµÄԪͼÏÔʾ¸ñʽ¡£

CF_DSPTEXT     ÓÐÒ»¸ö˽ÓиñʽµÄÎı¾ÏÔʾ¸ñʽ¡£

CF_ENHMETAFILE Ò»¸öÔöÇ¿µÄÔªÎļþ£¨HENHMETAFILE½á¹¹£©µÄ¾ä±ú¡£

CF_GDIOBJFIRSTµ½ CF_GDIOBJLAST        Ó¦ÓÃÈí¼þ¶¨Òå

µÄһϵÁÐGDI¶ÔÏóµÄÕûÐÍÖµ¡£

CF_HDROP       Ò»¸öHDROPÀàÐ͵ľä±ú£¬ÓÃÀ´±êʶһÁÐÎļþ¡£

CF_METAFILEPICT Ò»¸öʹÓÃMETAFILEPICT½á¹¹¶¨ÒåµÄԪͼÎļþµÄ¾ä±ú¡£

CF_OEMTEXT     Ô¤¶¨ÒåµÄ×Ö·ûµÄÎı¾¸ñʽ£¬Ã¿Ò»Ðж¼°ó¶¨

Ò»¸öCR-LF×Ö·û£¬²¢ÇÒÓÃÒ»¸ö¿Õ×Ö·û±íʾÊý¾Ý½áβ¡£

CF_OWNERDISPLAY ¼ôÌù°åÓµÓÐÕßµÄÏÔʾ¸ñʽ£¬

¼ôÌù°åµÄÓµÓÐÕß±ØÐëÏÔʾ²¢ÇÒ¸üмôÌù°åµÄ¹Û²ìÆ÷´°¿Ú£¬

²¢ÇÒ½ÓÊÕWM_ASKCBFORMATNAME¡¢WM_HSCROLLCLIPBOARD¡¢

WM_PAINTCLIPBOARD¡¢WM_SIZECLIPBOARDÒÔ¼°

WM_VSCROLLCLIPBOARDµÈÏûÏ¢£¬hMem²ÎÊý±ØÐèΪNULL¡£

CF_PALETTE     µ÷É«°åµÄ¾ä±ú

CF_PRIVATEFIRSTµ½CF_PRIVATELAST      ˽ÓеļôÌù°å¸ñʽµÄÕûÐÍÖµ¡£

CF_RIFF Äܹ»Ìá½»±ÈCF_WAVE±ê×¼²¨±íÎļþ¸ñʽ¸üΪ¸´ÔÓµÄÒôƵÊý¾Ý

CF_SYLK ΢Èí¹«Ë¾µÄSYLK£¨Symbolic Link£¬·ûºÅÁ´½Ó£©¸ñʽ

CF_TEXT Îı¾¸ñʽ

CF_WAVE ʹÓÃÒ»ÖÖ±ê×¼²¨±íÎļþ¸ñʽÈç11kHz»ò22kHzµÈ

PCM£¨Pulse Code Modulation£¬Âö³å±àÂëµ÷ÖÆÆ÷£©Ìá½»ÒôƵÊý¾Ý¡£

CF_TIFF TIFFͼÐθñʽ

CF_UNICODETEXT UnicodeÎı¾¸ñʽ£¨

×¢Ò⣺½öÊÊÓÃÓÚWindows NT»òWindows 2000²Ù×÷ϵͳ£©

 

±í1¡¡³£Óõıê×¼¼ôÌù°å¸ñʽ

 

Òª±àдһ¸öʵÏÖ¼ôÇк͸´ÖÆÃüÁîµÄº¯Êý£¬¾ÍÒªÔÚÄãµÄÓ¦ÓóÌÐòÖÐʵÏÖÑ¡¶¨²Ù×÷£»Òª±àдһ¸öʵÏÖÕ³ÌùÃüÁîµÄº¯Êý£¬¾ÍÐèÒªÇëÇó¼ôÌù°åÀ´¼ì²âËüÊÇ·ñ°üº¬ÄãµÄÓ¦ÓóÌÐòÄܹ»Ö§³ÖµÄÊý¾Ý¡£ÏÂÃæµÄ´úÂëʵÏÖÁ˸´ÖÆÃüÁÆäËüʵÏÖ¿É·ÂÕÕ½øÐУ¬Ôڴ˲»ÔÙ׸ÑÔ¡£

 

³ÌÐòʾÀý£º

void CMyView::OnEditCopy()

{

if ( !OpenClipboard() )

{

AfxMessageBox( "ÎÞ·¨´ò¿ª¼ôÌù°å" );

return;

}

// ɾ³ýĿǰ¼ôÌù°åµÄÄÚÈÝ

        if( !EmptyClipboard() )

        {

AfxMessageBox( "ÎÞ·¨Çå³ý¼ôÌù°å" );

return;

}

// »ñȡѡ¶¨µÄÊý¾Ý

// ¼ì²éÊÇ·ñΪ¼ôÌù°åÖ§³ÖµÄ¸ñʽ

if ( ::SetClipboardData( CF_??, hData ) == NULL )

// CF_??Ö¸¶¨Á˼ôÌù°åÖÐÊý¾ÝµÄ¸ñʽ£¬

//±í1ÁгöÁ˱ê×¼µÄ¼ôÌù°å¸ñʽ

{

AfxMessageBox( "ÎÞ·¨½«Êý¾Ý¸´ÖƵ½¼ôÌù°åµ±ÖÐ" );

CloseClipboard();

return;

}

// ...

CloseClipboard();

}

 

ËÄ¡¢Ê¹ÓÃOLE¼ôÌù°å»úÖÆ

 

Ê×ÏȾٸöÀý×Ó¸øÄãһЩ¹ØÓÚOLE¼ôÌù°åµÄ¸ÐÐÔÈÏʶ£¬Í¬Ê±ËµÃ÷ÄãÐèҪΪOLE¼ôÌù°å×öÄÄЩÊÂÇ飺Microsoft ExcelΪ¹¤×÷±í×¢²áÁËÒ»¸ö×Ô¶¨ÒåµÄ¸ñʽ£¬Õâ¸ö¸ñʽÄܹ»±ÈÆäËü±ê×¼¸ñʽ£¨Èçλͼ»ò´¿Îı¾µÈ£©Ìṩ¸ü¶àµÄÐÅÏ¢¡£µ±´ËÊý¾Ý±»Õ³Ìùµ½Ò»¸öÖ§³Ö¹¤×÷±íµÄ³ÌÐò£¨±ÈÈçLotus 1-2-3£©Ê±£¬ËùÓеÄÔ­¹¤×÷±íÖеĹ«Ê½ºÍÊýÖµ½«±»±£Áô£¬²¢ÇÒ»¹¿ÉÄÜ»á¸ù¾ÝÐèÒª±»¸üС£ExcelͬÑù½«Êý¾ÝÒÔOLE¸ñʽ´æ·ÅÔÚ¼ôÌù°åÖУ¬ÕâÑùËü¾Í¿ÉÒÔ×÷Ϊһ¸öOLE¶ÔÏó±»Ç¶Èë¡£ÈκÎOLEÎĵµ°üÈÝÆ÷£¨Container£©£¨±ÈÈçMicrosoft Word£©Äܹ»½«¸ÃÊý¾Ý×÷ΪǶÈë¶ÔÏóÕ³Ìù½øÎĵµ£¨±ÈÈçͨ¹ý¡°Ñ¡ÔñÐÔÕ³Ìù¡±£¬¿ÉÒÔÔÚWordÖÐÕ³Ìù½øExcel¹¤×÷±í¶ÔÏ󣩡£Õâ¸öǶÈë¶ÔÏóÄܹ»Í¨¹ý¼¤»îMicrosoft ExcelÀ´½øÐÐÐ޸ģ¨ÔÚWordÖпÉÒÔͨ¹ýË«»÷¶ÔÏóʵÏÖ£©¡£¸Ã¹¤×÷±íÉõÖÁ¿ÉÒÔ±»Õ³Ìùµ½Ò»¸ö»æÍ¼³ÌÐò£¨±ÈÈçµÄ»­±Ê£©¡£µ±È»£¬ÕâʱÄãÎÞÂÛÈçºÎ¶¼Ã»Óа취½«ÆäÖеÄÊý¾ÝÏñÔÚ¹¤×÷±íÖÐÒ»ÑùÐ޸ģ¬ÒòΪËüÒѾ­ÊÇͼƬÁË¡£

 

´ÓÉÏÀý×ܽáһϣ¬ÎÒÃÇÓ¦µ±×÷µÄÊÂÇé´óÖÂÓУº×¢²á×Ô¶¨ÒåµÄ¸ñʽ¡¢´«Êä¸ñʽµ½¼ôÌù°åÉÏÒÔ¼°ÊµÏÖ¸´ÖÆ¡¢¼ôÇкÍÕ³Ìù¡£

 

×¢²á×Ô¶¨Òå¸ñʽ

 

OLE¼ôÌù°åÖеÄÊý¾Ý´æÔÚÓÚ¶àÖÖ¸ñʽ¡£µ±Ò»¸öÓû§Ñ¡Ôñ´Ó¼ôÌù°åÕ³ÌùÊý¾Ýʱ£¬Ó¦ÓóÌÐòÓ¦µ±Äܹ»Ñ¡ÔñʹÓúÎÖÖ¸ñʽճÌùÊý¾Ý¡£Ó¦ÓóÌÐòÓ¦µ±Ìṩ´ó²¿·Ö¸ñʽµÄÐÅÏ¢£¬³ý·ÇÓû§Ö¸¶¨Ê¹ÓÃijһÖÖÌØ¶¨¸ñʽճÌù£¨±ÈÈçÖ»Õ³ÌùÎÄ×Ö»òÖ»Õ³ÌùͼƬµÈ£©¡£

 

Windows¶¨ÒåÁ˺ܶàÄܹ»Í¨¹ý¼ôÌù°å´«ÊäµÄ±ê×¼¸ñʽ£¨¼û±í1£©£¬OLEÒ²¶¨ÒåÁ˺ܶàÌØÊâµÄ¸ñʽ¡£Ó¦ÓóÌÐò¿ÉÒÔͨ¹ý»ñÈ¡¸ü¼ÓÏêϸµÄÐÅÏ¢À´×¢²áËûÃÇ×Ô¼ºµÄ¼ôÌù°å¸ñʽ¡£Õâ¿ÉÒÔͨ¹ýʹÓÃWin32 APIº¯ÊýRegisterClipboardFormatÀ´ÊµÏÖ£º

RegisterClipboardFormat ( lpszFormat );

 ËµÃ÷ lpzxFormatÊÇÖ¸ÏòÒ»¸ö×Ö·û´®µÄÖ¸Õ룬ÓÃÒÔÃüÃû×Ô¶¨ÒåµÄ¸ñʽ¡£¸Ãº¯Êý·µ»ØÎÞ·ûºÅÕûÊý£¬¸ÃÊý¼´Îª¸ñʽµÄIDºÅ

 ÔÚ×¢²áÁË×Ô¶¨ÒåµÄ¸ñʽ֮ºó£¬±ã¿ÉÒÔʹÓÃRegisterClipboardFormatº¯ÊýµÄ·µ»ØÖµÀ´±êʶ²¢Ê¹Óøøñʽ¡£

½«¸ñʽ´«Êäµ½¼ôÌù°åÉÏ

 ÒªÔö¼Ó¸ü¶àµÄ¸ñʽµ½¼ôÌù°åÉÏ£¬Äã±ØÐë´ÓCOleClientItem»òCOleServerItem¼Ì³ÐÒ»¸öÀ࣬²¢ÇÒÔÚ¸ÃÀàÖÐÖØÔØOnGetClipboardDataº¯Êý¡£ÔÚÕâ¸öº¯ÊýÖУ¬ÄãÓ¦µ±×ö°´ÕÕÏÂÁв½ÖèÍê³É¡£

 ½«¸ü¶àµÄ¸ñʽ·ÅÖÃÔÚ¼ôÌù°åÉÏ

1. ½¨Á¢Ò»¸öCOleDataSource¶ÔÏó¡£

 2. ´«µÝ¸ÃÊý¾ÝÔ´µ½Ò»¸öº¯Êý£¬Óøú¯Êýͨ¹ý·ÃÎÊCOleDataSource::CacheGlobalDataº¯ÊýÀ´½«ÄãµÄÊý¾Ý¸ñʽÌí¼Óµ½Ö§³ÖµÄ¸ñʽÁÐ±í¡£

3. ͨ¹ý·ÃÎÊCOleDataSource::CacheGlobalData£¬ÎªÃ¿Ò»¸öÄãÏòÖ§³ÖµÄ¸ñʽÌí¼Ó±ê×¼¸ñʽ¡£

 

³ÌÐòʾÀý£º

COleDataSource* CMyItem::OnGetClipboardData(

BOOL bIncludeLink,LPPOINT pptOffset, LPSIZE pSize)

{

        ASSERT_VALID(this);

 

        if (m_pServerNode == NULL)

               return NULL;

 

        COleDataSource* pDataSource =

        new COleDataSource;

        TRY

        {

               GetNativeClipboardData(pDataSource);

               GetClipboardData(pDataSource, bIncludeLink,

         pptOffset, pSize);

        }

        CATCH_ALL(e)

        {

               delete pDataSource;

               THROW_LAST();

        }

        END_CATCH_ALL

 

        ASSERT_VALID(pDataSource);

        return pDataSource;

}

 

 

¹²2Ò³: 1 [2] ÏÂÒ»Ò³
¡¾ÄÚÈݵ¼º½¡¿
·¢±í
¹² Ìõ ²é¿´
ÎÒҲ˵Á½¾ä

ÄäÃû·¢±í

(Èç¹û¿´²»ÇåÇëµã»÷ͼƬ½øÐиü»»)


ÖÐ ¹ú Áì ÏÈ µÄ IT ¼¼ Êõ Íø Õ¾ ¡¤
¼¼ Êõ ³É ¾Í ÃÎ Ïë
¡¤Java»ù´¡½Ì³Ì (²é¿´51744´Î)
¡¤UMLÀàͼÏê½â (²é¿´46336´Î)
¡¤Java±à³Ì¿ª·¢ÊÖ²á (²é¿´24866´Î)
¡¤UMLͳһ½¨Ä£ÓïÑÔ (²é¿´23863´Î)
¡¤C#¼¼Êõ¿ª·¢Ö¸ÄÏ (²é¿´21930´Î)
¡¤Java±à³Ì¿ª·¢ÊÖ²á (1195¸öש)
¡¤Java»ù´¡½Ì³Ì (429¸öש)
¡¤C#¼¼Êõ¿ª·¢Ö¸ÄÏ (304¸öש)
¡¤PB¿ª·¢½Ì³Ì (220¸öש)
¡¤.NET¿ª·¢ÊÖ²á (217¸öש)
¡¤Java±à³Ì¿ª·¢ÊÖ²á (653¸öºÃ)
¡¤Java»ù´¡½Ì³Ì (569¸öºÃ)
¡¤.NET¿ª·¢ÊÖ²á (249¸öºÃ)
¡¤PB¿ª·¢½Ì³Ì (208¸öºÃ)
¡¤Delphi¿ª·¢¼¼ÊõÊÖ²á (174¸öºÃ)
¶©Ôļ¼Êõ¿ìѶ
µç×ÓÔÓÖ¾ÏÂÔØ
Ãû³Æ£ºÍøÂ簲ȫ¾«Æ·Ó¦ÓÃ»ÆÆ¤Êé
¼ò½é£º¡¶2007¾«Æ·ÍøÂ簲ȫ»ÆÆ¤Êé¡·°üÀ¨ÁË9¸ö´óÀà24¸öСÀ࣬ 800ÓàÆªÎÄÕ£¬ÄÚÈݰüº¬ÁËÐÜèÉÕÏ㲡¶¾¡¢DDOS¹¥»÷¡¢ARP²¡µÈÈȵãÎÊÌâµÄ½éÉܼ°½â¾ö·½°¸¡£´Ó²¡¶¾²éɱ¡¢·À·¶¡¢ÏµÍ³¡¢Êý¾ÝµÈ¸÷·½ÃæµÄ°²È«ÉèÖõ½ºÚ¿Í¼¼ÊõµÄÁ˽⡢·À·¶£¬Éæ¼°µ½Á˰²È«Ó¦ÓõÄÈ«²¿ÁìÓò, ÓÉdzÖÁÉîÄÚÈÝÈ«Ãæ¡£
Ãû³Æ£ºVista¾«Æ·Ó¦ÓÃ»ÆÆ¤Êé
¼ò½é£º¡¶Vista¾«Æ·Ó¦ÓÃ»ÆÆ¤Êé¡·ÄÒÀ¨ÁËVistaµÄ¸÷·½ÃæÄÚÈÝ¡£´Ë´ÎµÄ¾«¼ò°æ£¬Êǽ«ÀïÃæµÄÄÚÈÝ×öÁËÌáÈ¡£¬±ãÓÚÓû§ÏÂÔØºÍʹÓá£ÄÚÈݰüº¬Á˸÷ÖÖVistaµÄ°²×°Óëʵʩ¡¢¼¼ÇÉÓë½âÎöÒÔ¼°¸÷ÖÖVistaÏà¹ØÑ§Ï°ÎĵµºÍÏà¹ØÈí¼þµÄ°²È«ÏÂÔØ¡£¸Ãµç×ÓÊéÊÇÁ˽âºÍÓ¦ÓÃVistaÈËÔ±±Ø±¸µÄ¹¤¾ßÊֲᣬ²¢ÇÒÒ²ÊǵÚÒ»±¾
Ãû³Æ£º2006ÖйúITÂÛ̳¾«Æ·¼¯ºÏ
¼ò½é£º±¾ÊéÓÉ¡°51CTOÂÛÌ³ÍÆ¹ãÁªÃË¡±ÖÆ×÷Íê³É¡£ÊéÖÐËùÓÐÄÚÈݾùÀ´×Ô¸÷ÁªÃ˳ÉÔ±µÄÂÛ̳£¨ÍøÕ¾£©¡£ÖÆ×÷±¾ÊéµÄÄ¿µÄÊÇΪÁ˼¯Öдó¼ÒµÄÓÅÊÆ×ÊÔ´£¬½«¸ü¶à¸ü¾«²ÊµÄÄÚÈÝ´ø¸ø¹ã´ó¼¼Êõ°®ºÃÕß¡£±¾ÊéÊÇÁªÃ˳ÉÁ¢ÒÔÀ´ÖÆ×÷µÄµÚÒ»±¾Êé¡£