青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

穩(wěn)定盈利的期貨交易方法-量化趨勢(shì)交易

alantop -專(zhuān)業(yè)量化投資者

愛(ài)好:量化投資,逆向工程,滲透
隨筆 - 595, 文章 - 0, 評(píng)論 - 921, 引用 - 0
數(shù)據(jù)加載中……

vc++如何調(diào)用.Ner Framewrok類(lèi)庫(kù) ( 讀寫(xiě)注冊(cè)表示例)(CLI的一些應(yīng)用)

.net Framework類(lèi)庫(kù)越來(lái)越豐富了。伴隨vs2008已經(jīng)3.5版本了。

以前寫(xiě)程序很少會(huì)去調(diào)用.net framework,不過(guò)隨著微軟的主推,和不斷對(duì)其進(jìn)行擴(kuò)展。

其功能正在逐漸強(qiáng)大,使用更加簡(jiǎn)潔和方便。

這里通過(guò)對(duì)注冊(cè)表的操作。我們來(lái)看看vc++.net程序。

說(shuō)明:以下代碼在vs2005下編譯。

簡(jiǎn)單的說(shuō)傳統(tǒng)的c++如何調(diào)用net frame.

一些預(yù)備知識(shí):

^:vc2005下,聲明托管堆(the managed heap)上對(duì)象的句柄。

在vc++2002和vc++2003下,聲明托管堆上對(duì)象的句柄是用“__gc *”表示。

為什么會(huì)出現(xiàn)"^"符號(hào)呢?

在netframe下,為了保持托管堆上的對(duì)象的引用能夠被垃圾收集器跟蹤,且當(dāng)這個(gè)對(duì)象被移動(dòng)的時(shí)候,這個(gè)句柄可以被及時(shí)的更新。而傳統(tǒng)的指針和引用無(wú)法被正確跟蹤,所以產(chǎn)生了^來(lái)表示一個(gè)托管堆上對(duì)象的句柄。

其可以用->來(lái)訪問(wèn)其成員。

 

什么時(shí)候用 ^ 呢?

來(lái)看看RegisterKey的聲明

[ComVisibleAttribute(true)] 
public ref class RegistryKey sealed : public MarshalByRefObject, IDisposable
 
看到ref了吧,
ref:聲明一個(gè)托管類(lèi)或者結(jié)構(gòu)。
看到它,就聲明^
 
以下三個(gè)例子應(yīng)該很容易看懂了。
 

1. 將數(shù)據(jù)寫(xiě)入注冊(cè)表

using namespace System;
using namespace Microsoft::Win32;

int main()
{
    // The second OpenSubKey argument indicates that
    // the subkey should be writable.
    RegistryKey^ rk;

//托管堆上的一個(gè)句柄
    rk  = Registry::CurrentUser->OpenSubKey("Software", true);

//靜態(tài)成員可以通過(guò)其類(lèi)名直接訪問(wèn)
    if (!rk)
    {
        Console::WriteLine("Failed to open CurrentUser/Software key");
        return -1;
    }

    RegistryKey^ nk = rk->CreateSubKey("NewRegKey");
    if (!nk)
    {
        Console::WriteLine("Failed to create 'NewRegKey'");
        return -1;
    }

    String^ newValue = "NewValue";
    try
    {
        nk->SetValue("NewKey", newValue);
        nk->SetValue("NewKey2", 44);
    }
    catch (Exception^)
    {
        Console::WriteLine("Failed to set new values in 'NewRegKey'");
        return -1;
    }

    Console::WriteLine("New key created.");
    Console::Write("Use REGEDIT.EXE to verify ");
    Console::WriteLine("'CURRENTUSER/Software/NewRegKey'\n");*/
    return 0;
}

2. 從注冊(cè)表中讀取數(shù)據(jù)

using namespace System;
using namespace Microsoft::Win32;

int main( )
{
   array<String^>^ key = Registry::CurrentUser->GetSubKeyNames( );

   Console::WriteLine("Subkeys within CurrentUser root key:");
   for (int i=0; i<key->Length; i++)
   {
      Console::WriteLine("   {0}", key[i]);
   }

   Console::WriteLine("Opening subkey 'Identities'...");
   RegistryKey^ rk = nullptr;
   rk = Registry::CurrentUser->OpenSubKey("Identities");
   if (rk==nullptr)
   {
      Console::WriteLine("Registry key not found - aborting");
      return -1;
   }

   Console::WriteLine("Key/value pairs within 'Identities' key:");
   array<String^>^ name = rk->GetValueNames( );
   for (int i=0; i<name->Length; i++)
   {
      String^ value = rk->GetValue(name[i])->ToString();
      Console::WriteLine("   {0} = {1}", name[i], value);
   }

   return 0;
}
 
3. 從注冊(cè)表中刪除subkey.
 
    RegistryKey^ rk;
    rk  = Registry::CurrentUser->OpenSubKey("Software", true);
    if (!rk)
    {
        Console::WriteLine("Failed to open CurrentUser/Software key");
        return -1;
    }
    rk->DeleteSubKey("NewRegKey");

 

 

寫(xiě)在后面的話:

之所有寫(xiě)這個(gè)標(biāo)題,而不寫(xiě)有關(guān)CLI的,國(guó)內(nèi)關(guān)于cli探討還是比較少的。

既然,有人有好的建議,加一個(gè)副標(biāo)題好了。

posted on 2007-08-02 16:33 AlanTop 閱讀(2159) 評(píng)論(6)  編輯 收藏 引用 所屬分類(lèi): VC++

評(píng)論

# re: vc++如何調(diào)用.Ner Framewrok類(lèi)庫(kù) ( 讀寫(xiě)注冊(cè)表示例)  回復(fù)  更多評(píng)論   

在vs2002和2003中,只有Manged C++

在VS2005上新增CLI/C++



其實(shí)Manged C++或是CLI/C++ , 都是對(duì)MS對(duì)C++的擴(kuò)充,用來(lái)在C++中訪問(wèn)。netframework,并且CLI/C++已經(jīng)在什么歐洲,,,標(biāo)準(zhǔn)。


我的博客上有一些相關(guān)的介紹。

2007-08-02 17:33 | 夢(mèng)在天涯

# re: vc++如何調(diào)用.Ner Framewrok類(lèi)庫(kù) ( 讀寫(xiě)注冊(cè)表示例)  回復(fù)  更多評(píng)論   

別把Native C++和CLI混為一談哇。。。
2007-08-02 18:51 | 空明流轉(zhuǎn)

# re: vc++如何調(diào)用.Ner Framewrok類(lèi)庫(kù) ( 讀寫(xiě)注冊(cè)表示例)  回復(fù)  更多評(píng)論   

interop技術(shù),作為C++ native代碼(非dll、com)向.net技術(shù)過(guò)渡的一道橋梁。
2007-08-03 10:08 | 萬(wàn)連文

# re: vc++如何調(diào)用.Ner Framewrok類(lèi)庫(kù) ( 讀寫(xiě)注冊(cè)表示例)(CLI的一些應(yīng)用)[未登錄](méi)  回復(fù)  更多評(píng)論   

See See
2007-08-03 15:55 | 111

# re: vc++如何調(diào)用.Ner Framewrok類(lèi)庫(kù) ( 讀寫(xiě)注冊(cè)表示例)(CLI的一些應(yīng)用)  回復(fù)  更多評(píng)論   

我寫(xiě)了個(gè)c++調(diào)用.net庫(kù)的測(cè)試程序,結(jié)果編譯失敗,提示是不存在該命名空間,樓主你是怎么編譯過(guò)去的,是不是需要加什么option啊。測(cè)試程序如下:
using namespace System;
int main()
{
Console::WriteLine("Hello World!");
}
2008-08-14 12:16 | 郢都孤鬼

# re: vc++如何調(diào)用.Ner Framewrok類(lèi)庫(kù) ( 讀寫(xiě)注冊(cè)表示例)(CLI的一些應(yīng)用)  回復(fù)  更多評(píng)論   

原來(lái)是要建立CLR應(yīng)用程序才行,和同樣的c++程序比,大小是小了許多,不過(guò)運(yùn)行慢了許多
2008-08-14 12:22 | 郢都孤鬼
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲第一页在线| 欧美日产国产成人免费图片| 欧美日韩国产欧| 日韩亚洲欧美一区二区三区| 欧美一区二区免费| 亚洲国产精品高清久久久| 蜜乳av另类精品一区二区| 91久久极品少妇xxxxⅹ软件| 免费观看久久久4p| 欧美成人高清视频| 亚洲人体影院| 中文一区字幕| 国产专区一区| 欧美大片在线观看一区二区| 欧美精品成人在线| 午夜精品婷婷| 久久久久久精| 亚洲婷婷免费| 久久精品一区二区三区四区 | 欧美精彩视频一区二区三区| 亚洲私人黄色宅男| 久久av最新网址| 亚洲免费观看视频| 午夜精品久久久久久久白皮肤| 黄色成人在线观看| 日韩一区二区久久| 激情另类综合| 亚洲少妇在线| 在线播放中文字幕一区| 一本久久a久久免费精品不卡| 国产日韩一区二区| 亚洲精品国产精品国自产在线| 国产精品区二区三区日本| 开心色5月久久精品| 欧美精品日韩综合在线| 亚洲自拍16p| 久久综合久久久久88| 亚洲一二三区精品| 欧美xxx成人| 久久精品国产91精品亚洲| 蜜桃av一区| 久久夜色精品国产欧美乱| 国产精品qvod| 亚洲美女少妇无套啪啪呻吟| 精品电影在线观看| 性色一区二区三区| 亚洲欧美日韩专区| 欧美日韩亚洲一区二区三区在线| 男女av一区三区二区色多| 国产精品久久久久久模特| 亚洲日本成人在线观看| 黄色成人精品网站| 性色av香蕉一区二区| 先锋影音久久| 欧美午夜宅男影院| 夜夜嗨av一区二区三区| 亚洲精品美女在线观看| 久久精品天堂| 久久精品综合| 国产一区二区久久精品| 午夜精品免费| 久久精品国产欧美亚洲人人爽| 国产精品高潮呻吟久久av无限| 亚洲卡通欧美制服中文| 日韩一级片网址| 欧美69视频| 欧美成人午夜激情视频| 国产综合视频| 久久这里只有| 久久永久免费| 久久福利视频导航| 国内精品国产成人| 久久国产精品72免费观看| 亚洲欧美影音先锋| 国产精品视频专区| 亚洲免费一区二区| 久久精品一级爱片| 激情亚洲网站| 欧美成人dvd在线视频| 亚洲激情不卡| 亚洲手机成人高清视频| 国产精品视频免费一区| 欧美在线免费看| 欧美成人精品在线| 99riav国产精品| 欧美午夜一区二区| 欧美一级二级三级蜜桃| 牛人盗摄一区二区三区视频| 亚洲精品一区二| 国产精品久久久久久久久久直播 | 欧美一区高清| 亚洲高清中文字幕| 欧美日韩一区在线视频| 欧美亚洲在线| 亚洲福利一区| 欧美一区亚洲| 亚洲国产日本| 国产精品嫩草99a| 久久久久国产精品人| 亚洲伦理精品| 狂野欧美激情性xxxx| 99视频有精品| 国产在线精品自拍| 欧美精品一区二区视频| 午夜精品久久久久99热蜜桃导演| 麻豆av一区二区三区久久| 亚洲精品视频免费观看| 欧美午夜大胆人体| 久久五月婷婷丁香社区| 亚洲视频欧美在线| 欧美激情一二区| 久久精品国产亚洲aⅴ| 亚洲精品视频在线观看网站| 国产精品一区二区三区四区五区| 久久午夜电影网| 午夜精品国产| 日韩视频一区二区在线观看 | 欧美成人精品三级在线观看| 亚洲一区二区三区在线播放| 欧美激情aaaa| 久久久欧美精品sm网站| 亚洲女性裸体视频| 亚洲理伦电影| 亚洲二区在线观看| 国产午夜精品全部视频在线播放| 欧美精品激情在线| 另类亚洲自拍| 久久精品水蜜桃av综合天堂| 亚洲欧美日韩成人高清在线一区| 亚洲日本中文字幕免费在线不卡| 久久蜜桃av一区精品变态类天堂| 亚洲桃色在线一区| 亚洲精品色图| 亚洲欧洲精品成人久久奇米网| 国产偷国产偷精品高清尤物| 欧美日韩一区二区三区在线视频| 免费一级欧美片在线播放| 久久国产毛片| 免费亚洲网站| 亚洲免费观看高清在线观看| 亚洲第一中文字幕| 狠狠色狠狠色综合系列| 亚洲图片在线观看| 国产精品日韩在线一区| 国产精品wwwwww| 欧美三区美女| 欧美成人免费全部| 久久久久久91香蕉国产| 久久精品在线观看| 久久精品一区二区国产| 久久精品三级| 美女成人午夜| 欧美激情性爽国产精品17p| 欧美+日本+国产+在线a∨观看| 欧美成人资源网| 欧美激情一级片一区二区| 欧美日韩国产色视频| 欧美性大战久久久久久久| 国产精品国产三级国产专区53| 国产精品国产三级国产aⅴ浪潮 | 亚洲人成亚洲人成在线观看| 亚洲国产91| 亚洲免费成人av电影| 亚洲午夜免费视频| 久久国产视频网| 久久性色av| 亚洲乱码一区二区| 午夜精品成人在线| 久久成人综合视频| 欧美激情91| 国产麻豆精品theporn| 精品1区2区| 一区二区日本视频| 久久久xxx| 亚洲高清不卡一区| 亚洲小视频在线观看| 久久久91精品国产| 欧美日韩午夜视频在线观看| 国产精品自在线| 亚洲激情二区| 亚洲欧美国产精品桃花| 久久精品av麻豆的观看方式| 欧美激情一区在线| 国产手机视频精品| 欧美黑人在线播放| 国产日产欧产精品推荐色| 亚洲第一久久影院| 欧美一区二区三区成人| 亚洲第一黄色| 午夜精彩国产免费不卡不顿大片| 久久久综合免费视频| 欧美午夜在线观看| 最新国产拍偷乱拍精品| 新狼窝色av性久久久久久| 亚洲国产综合在线看不卡| 校园春色国产精品| 欧美午夜一区| 99亚洲视频| 亚洲电影成人| 久久久久9999亚洲精品|