AB 4.24.00 でコンパイル&正常に実行できることを確認しています。

このソースで埋め込み実験をする場合は、どうでもよいプログラムにアイコンなどのリソースを追加してから対して行ってください。
このソースを使ったことで実行ファイルが壊れても責任は負えません。


Declare Function BeginUpdateResource Lib "kernel32" Alias "BeginUpdateResourceA" (pFileName As String,
bDeleteExistingResources As Long) As HANDLE
Declare Function UpdateResource Lib "kernel32" Alias "UpdateResourceA" (hUpdate As HANDLE,lpType As Long,
lpName As Long,wLanguage As Long,lpData As String,cbData As Long) As Long
Declare Function EndUpdateResource Lib "kernel32" Alias "EndUpdateResourceA" (hUpdate As HANDLE,fDiscard As Long) As Long

Const RT_MANIFESTID = 1
Const RT_MANIFEST = 24

Dim path[MAX_PATH] As Byte, xml As String
Dim hUpdate As HANDLE

'適当にファイルパスを入れてください
lstrcpy(path,"")

'埋め込み開始!
hUpdate=BeginUpdateResource(path,FALSE)
If hUpdate=NULL Then
MessageBox(0,"埋め込み開始失敗",0,MB_OK)
End
End If

xml=Ex"<?xml version=\q1.0\q encoding=\qUTF-8\q standalone=\qyes\q?>\r\n"
xml=xml+Ex"<assembly xmlns=\qurn:schemas-microsoft-com:asm.v1\q manifestVersion=\q1.0\q>\r\n"
xml=xml+Ex"<description></description>\r\n"
xml=xml+Ex"<dependency>\r\n"
xml=xml+Ex" <dependentAssembly>\r\n"
xml=xml+Ex" <assemblyIdentity\r\n"
xml=xml+Ex" type=\qwin32\q\r\n"
xml=xml+Ex" name=\qMicrosoft.Windows.Common-Controls\q\r\n"
xml=xml+Ex" version=\q6.0.0.0\q\r\n"
xml=xml+Ex" processorArchitecture=\qX86\q\r\n"
xml=xml+Ex" publicKeyToken=\q6595b64144ccf1df\q\r\n"
xml=xml+Ex" language=\q*\q\r\n"
xml=xml+Ex" />\r\n"
xml=xml+Ex" </dependentAssembly>\r\n"
xml=xml+Ex"</dependency>\r\n"
xml=xml+"</assembly>"

If UpdateResource(hUpdate,RT_MANIFEST,RT_MANIFESTID,MAKELANGID(LANG_JAPANESE,SUBLANG_SYS_DEFAULT),xml,Len(xml))=0 Then
MessageBox(0,"埋め込み失敗",0,MB_OK)
End If
EndUpdateResource(hUpdate,FALSE)

End

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年01月26日 09:16