將XP風格檔案manifest合并到資源檔

來源:互聯網
上載者:User

轉自:http://hi.baidu.com/lishman/blog/item/c25aa7167ee17f59f3de3201.html

使用.manifest檔案不費任何力氣就可以在xp系統裡實現xp風格的控制項,但是這樣做有一點不方便的地方就是manifest必須放到exe所在目錄,而且要將manifest檔案改名為*.exe.manifest格式,如下做法可以將manifest檔案放到資源檔中,編譯後產生.res檔案,link後自然就和.exe檔案“合”到一起了。  


.manifest檔案內容如下: 


<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
<assemblyIdentity 
name="XP style manifest"  
processorArchitecture="x86" 
version="1.0.0.0" 
type="win32"/>  
<dependency>  
<dependentAssembly>  
<assemblyIdentity 
type="win32"  
name="Microsoft.Windows.Common-Controls"  
version="6.0.0.0"  
processorArchitecture="x86"  
publicKeyToken="6595b64144ccf1df"  
language="*"  
/>  
</dependentAssembly>  
</dependency>  
</assembly>


大家也看到了,這其實是一個XML檔案,開啟記事本,複製上面的內容,然後存檔,檔案名稱任意,這裡我存為XPStyle.manifest。  
然後在VC中建立一個MFC AppWizard(exe)工程,Document/View或Dialog均可,接著把XPStyle.manifest複製到工程所在目錄,再用記事本或其它文本編輯工具手動修改工程目錄下的資源檔(.rc),在檔案最後加上一行:  

1   24     “XPStyle.manifest” 

最後加上的那一行,“1”代表資源ID,必須是“1”。“24”代表資源類型,我想我們對RT_ACCELERATOR、RT_BITMAP、RT_MENU、RT_STRING等資源都非常熟悉,而“24”實際上是RT_MANIFEST。最後面引號中的東西我就不再囉嗦了
        這樣編譯後產生的檔案只有一個exe,但是同樣可以在xp系統下實現xp風格控制項

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.