2016-08-27 17 views
-4

これは不吉な質問のように見えるかもしれませんが、ここには行きます。私はdllに画像を保存し、プログラムで使用する方法を知りたいと思っています。誰かがdllのための1つの言語と実行可能ファイルのためのもう1つの言語でこれをやっている経験がありましたか?実行可能ファイルでdllのイメージを使用するにはどうすればよいですか?

+0

あなたは、例えば(いくつかのトリックなしで別のexecuteableでexecuteableを保存し、実行することはできませんDLLのすべてのバイトを配列に格納し、自分でDLLをロードします。http://stackoverflow.com/questions/22707582/runpe-c-only-works-with-32-console)。たとえば、ロードしたい場合。 .NET DLLを使用するには、CLRホスティングを使用する必要があります。 – DogeAmazed

+0

ビットマップリソースのような意味ですか? – rustyx

+0

私はビットマップか何かを意味します。基本的に私は部分的にdllの中にビットマップで構成され、私のexeファイル内でそれらを使用できるようになる私のGUIの一部を保存したかったので、dllからexeファイルにビットマップを渡してください。私はこれをDirectXプロジェクトの一部としてやっています。私が考えていたもう一つの方法は、exe自体の中にリソースを格納することでしたが、dllオプションが可能かどうかを見たいと思っていました。 –

答えて

4

イメージをファイルに保存してから、イメージファイルを参照するファイル.rcを書き込み、それにIDを付けます。 .rcファイルを.resファイルにコンパイルし、DLLにリンクします。これにより、イメージデータがリソースとしてDLLに格納されます。実行時に

、アプリケーションができるいずれかの画像データにアクセスLoadLibrary()

そしてにより、動的DLL

  • 負荷へ

  • +0

    私はコンパイラに取り組んでいるので、私はこの考えが好きです - 私はちょうどコンパイラ自体にポインタ関数を追加していません。現時点では、DLLにプラグインして文字列やintsなどを返すことができます。私はこれがむしろ困難であることを理解しています - 私はdllを呼び出しているかもしれませんし、プロセスや何かとして添付しなければならないかもしれません - 私はあなたが私が言っているものを得ることを願っています! :) –

    +1

    いいえ、これはレミーが話していることとどう関係しているのか分かりません。あなたはどんなポインタを指していますか?これらの.res/.rcファイルは、結果のPEのリソースセクション用です。 – andlabs

    +0

    笑!申し訳ありません、andlabs - 私は質問に答えると、実際にはかなり疲れました - リソースへのポインタを取得するLockResource()関数を指していました - これは私が元の質問に似たしかし、それは望みの結果を与えていませんでした。 –

    関連する問題