質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

2回答

3579閲覧

リソースからファイルを取得してコピーする

chintao1224

総合スコア155

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2019/06/27 11:09

vb2017 Community版を使っています。

あるメーカーからdllファイルを購入しました。
メーカーから購入したファイルは以下です。

test.dll
test.dll.intermediate.manifest
test.lib

そのdllファイルは32bitと64bitがありOSによってペーストするものが違います。
(実行ファイルの場所にコピペしなくちゃいけません)

リソースにフォルダが作れそうにないので、32bitと64bitを分けるため以下のように名前を変更してリソースに追加しました。

test32.dll
test32.dll.intermediate.manifest
test32.lib
test64.dll
test64.dll.intermediate.manifest
test64.lib

32bitと64bitの判定は出来たのですが、dllファイルをファイルとして取得する方法が分かりません。

ビットマップを取り出すならDim bmp As Bitmap = My.Resources.Bannerみたいなのですが、上記のようなファイルを取得するためにas以降をどう書けばよいか分かりません。

dllファイルとかリソースから取得するのはできないのでしょうか?
取得できるのなら取得方法を教えてもらえないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

[リソースの追加]→[既存のファイルの追加]からDLLファイル等を追加すると
イメージ説明
のようになります。
これはByte配列として扱えます。
ですので

VB.NET

1Using f = File.OpenWrite("Test.dll") 2 f.Write(My.Resources.Test32dll, 0, My.Resources.Test32dll.Length) 3End Using

といった感じでファイルに書き込めばDLLファイルにできるかと思います。

投稿2019/06/27 11:28

編集2019/06/27 11:30
YAmaGNZ

総合スコア10242

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chintao1224

2019/06/27 12:31

うまくいきました。ありがとうございました。
guest

0

まず、名前を変更してはいけません。元の名前に戻し、マニュアルに従ってインストールしてください。

ファイルは FileInfo です。このインスタンスを作成してください。しかしその前に、本当に取得したいものがファイルで間違いないかどうか確かめてください。

投稿2019/06/27 11:24

編集2019/06/27 11:25
Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問