ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2018年8月20日(月) 21:59

All times are UTC+09:00




トピックに返信する
ユーザー名:
件名:
メッセージ本文:
こちらにメッセージをご入力ください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - マニフェスト埋め込み(XPスタイルへの変更)
作成者 メッセージ
  記事の件名:  マニフェスト埋め込み(XPスタイルへの変更)  引用付きで返信する
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
参考までに...。
投稿記事 Posted: 2007年6月27日(水) 23:31

All times are UTC+09:00


ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by KONISHI Yohsuke