[Win32] 別ファイルのコードを同プロセスで実行する

Posted by
ぴろり
Posted at
2005/10/28 16:52
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
開発メモ カテゴリ
 種を明かせば単なる DLL だったワケですが。ランチャープログラム(launcher.exe)が、別ファイルにある実行コードを launcher.exe と同じプロセスで実行するためのサンプルです。
この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する
要求事項はこんな感じでした。
  1. タスクマネージャから prog1 が見えない
  2. 開発版は prog1 単体で実行・デバッグができる
  3. リリース版は prog1 単体で実行できない
  4. はこの機構を全く意識しない
 CreateProcess や ShellExec で prog1 を実行すると、prog1 がタスクマネージャから別プロセスとして見えてしまいます (これらの には使ったことのない引数が多いので、実のところ適当な引数で一発解決かもしれません)  そこで LoadLibrary と GetProcAddress を使う案。実はエッセンス部分はこれだけでした。 後は要求事項の2.〜4.をスマートに満たすだけで、わざわざエントリに起こすまでも無かったような (´・ω・`)つ[ダウンロード]

 prog1 が起動される過程を簡単に示すと次の通りです。 ネットによく見られるようなパッチダウンローダとプログラム本体のような構成に使えるかもしれません。 メリット…? …さぁ?

リリース版:
Windows → launcher.exe → LoadLibrary + GetProcAddress → prog1::ExportedMain → prog1::WinMain
開発版:
Windows → prog1::WinMain

この記事を読んだ人はこんな記事も読んでいます ?

その他の関連する記事


関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

コメントを投稿する

 (必須/公開)
 (必須/非公開)
 

コメントスパム防止のため投稿前に ランダムな数字 ? を入力してから投稿してください。 お手数ですがご協力のほど宜しくお願いいたします。(必須)