ActiveBasic リソースの追加と読み込み
ActiveBasic 4.23.00を使用しています。
以前、リソースの追加方法を教授していただきました。
リソースの追加と言うものは出来るようになったのですが、
文字列の都合上、以前の質問を使用させていただきます。
http://oshiete1.goo.ne.jp/qa4983148.html
上のコードを使用しているのですが、これだとやはり、『文字列』しか追加できないのでしょうか。
zip等のファイルを追加していきたいと思っているのですが、どのようにすればよろしいのでしょうか。
また、このコードを使用して、リソースをプログラムBに追加したところ、
プログラムBのアイコンが消えてしまいました。
これは、何か回避する方法があるのでしょうか。
最後に、
Declare Function FindResource Lib "kernel32" Alias "FindResourceA" (hInstance As DWord,lpName As BytePtr,lpType As BytePtr) As DWord
Declare Function FreeResource Lib "kernel32" (hResData As DWord) As DWord
Declare Function SizeofResource Lib "kernel32" (hInstance As DWord,hResInfo As DWord) As DWord
Declare Function LoadResource Lib "kernel32" (hInstance As DWord,hResInfo As DWord) As DWord
Declare Function LockResource Lib "kernel32" (hResData As DWord) As Long
Const RT_MANIFESTID=50'埋め込んだ時と同じIDにしてください
Const RT_MANIFEST="BINTYPE"
Dim FileName[MAX_PATH] As Byte
Dim hDLL As DWord, hResource As DWord, lResource As DWord
Dim File As BytePtr
GetModuleFileName(NULL,FileName,MAX_PATH)
hDLL=LoadLibrary(FileName)
If hDLL=0 Then
MessageBox(hMainWnd,"ファイルの取得に失敗","Error 1",MB_OK or MB_ICONHAND)
Exit Sub
End If
hResource=FindResource(hDLL,RT_MANIFESTID,RT_MANIFEST)
If hResource=0 Then
FreeLibrary(hDLL)
MessageBox(hMainWnd,"ファイルの取り出しに失敗!","Error 1",MB_OK or MB_ICONHAND)
Exit Sub
End If
lResource=LoadResource(hDLL,hResource)
File=LockResource(lResource)
FreeResource(lResource)
FreeLibrary(hDLL)
プログラムBに追加した物を取り出すプログラムですが、これはプログラムBに書きました。
実行すると、読み出しの部分でエラーが生じるのですが、どのように回避していけばよろしいのでしょうか。
長々と多くの質問をしてしまいすみません。
しかし、全然解決できずにもやもやしていて困っています。
何かやり方をご存知の方がいらっしゃいましたらご教授をお願いします。