• ベストアンサー

C#でのサブプログラムの読み出し

一度exeにしたあとで、更新をするのではなく、外部ファイルでアプリケーションを拡張する方法がしりたいです。 C#で書いたexeのプログラムの中にボタンがあり、そのボタンを押すと同じフォルダ内にある別のプログラムから関数を持ってきて処理してくれる。もしも、ボタンに割り当てられているプログラムがフォルダ内にない場合はtyr catchで「プログラムがありません」とメッセージをだすようなものを考えています。

質問者が選んだベストアンサー

  • ベストアンサー
  • x-1919
  • ベストアンサー率52% (91/173)
回答No.1

とてもここで回答できる内容じゃないので 「c# プラグイン」 で検索することをお勧めします。 https://www.google.co.jp/search?num=50&lr=lang_ja&hl=ja&tbs=lr%3Alang_1ja&q=c%23++%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3&oq=c%23++%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3&gs_l=serp.3..0j0i30l9.24221.27148.0.27503.17.14.3.0.0.0.151.1337.9j5.14.0....0...1c.1j4.32.serp..2.15.1144.Y6MZ1tU6_OU 大雑把に書けば、、、 プラグインのベースになるインターフェイスを作成する。 この中で、プログラム本体とプラグインとの間でやりとりするためのメソッド名と型などを定義する。 プラグインはベースを素に作成する。 具体的には、プラグインのベースで定義したメソッドの中身を実装する。 この実装はプラグインごとに違ってくる。 そしてプログラム本体を作成する。 プラグインを認識し、インスタンスを作成し、プラグインの関数を呼び出す方法を実装する。 こんな感じ。

satisfied999
質問者

お礼

参考にします!

関連するQ&A

  • C言語でプログラムを作る課題があたえられました

    プログラムは作ったのですが、それを書いた拡張子『.c』のソースファイルとコンパイル後に作成された拡張子『.exe』のファイルを提出することになっています。『.c』のファイルとは『C source』に書かれているプログラムしょうか。また、『.exe』のファイルとはアプリケーションに書かれているものでしょうか、それともobject fileに書かれているものでしょうか。35年前にfortranは勉強して少し、プログラムを作った経験はあるのですが、今では言葉の意味が理解できません。恐れ入りますが詳しく教えてください。

  • C言語での実行

    C言語(ボーランドのCpad)を使っています。 いつも使ってるパソコンと違うパソコンでC言語のプログラムをし始めました。 前のパソコンと同じようにプログラムのコードをCファイルで保存して同じように新しいパソコンから開いて同じように実行ボタン押したのですが、実行できず、exeファイルが存在しませんって表示されます。 ちなみに、動かすプログラムは4つあり、そのうちの3つはちゃんと実行でき、ファイルも作成できるのですが、同じ方法でやってるあと1つのプログラムだけがうまくいきません。 4つとも同じフォルダにするようにしていて、3つはちゃんと実行できるので、フォルダが違うことはないと思います。 なぜ「exeファイルが存在しません」ってなるのか。 ちゃんとフォルダにCファイルはあるのに。 ちなみに、正確にできる3つのように、実行できると「OBJファイル」とか「アプリケーション」とかも同時に作成されます。 ただ、問題の1つのプログラムは当然、実行できず、exeファイルが存在しませんって表示されるので何も作成されません。 ボーランドのC言語、実行、ファイル、など詳しい方ぜひ教えて下さい。 同じやり方で今までのパソコンではできていたのに、パソコン変えると実行できなくなります。 フォルダやCファイルが正確ではないのかとも思いましたが、前までのパソコン通りにやっているので問題ないと思います。 ぜひアドバイス下さい。

  • C#での「Ctrl+C」の実現について

    C#で以下のようなプログラムを考えています。 ******************************************* 1. ボタンを押すと特定のバッチファイルを実行する。 2. バッチファイルを「tshark.exe」を実行する。 3. ボタンを押すと「Ctrl+C」にて2のバッチファイルを停止する。 ******************************************* このとき、バッチファイルの実行方法はなんとなくわかったのですが 3の処理の実装方法がわかりませんでした。 助けてください。

  • 独習C 実行できない。

    はじめまして。プログラミング初心者です。 先日独習Cという本を買ったのですが、その付属CD-ROMに添付されているGNU C compilierを使って実行しようとしてるのですが、何度本の通りにやってもうまくいきません。 簡単なプログラムを作ってTYC4THフォルダの中のsampleフォルダにtest.cというソースファイルを保存しました。 本によると、 ・ 読み取り専用の属性を解除 ・ソースファイルを保存したディレクトリに移動 ・gcc test.c と入力 ・a.exe と入力すると実行される となっています。 gcc test.cまではいいのですが、a.exeと入力すると 'a.exe'は、内部コマンドまたは外部コマンド 操作可能なプログラムまたはバッチファイルとして認識されていません。 と表示されます。どうすればいいのでしょうか?;;

  • C++での質問です。

    C++での質問です。 http://homepage2.nifty.com/c_lang/index_sdk.html ここを見ながら勉強しようと思うのですが、イントロダクションに書いてあるプログラムをそのままVisual C++ 2010Expressでデバッグでビルドしようとしてもうまく行かず、 1>LINK : error LNK2001: 外部シンボル "_WinMainCRTStartup" は未解決です。 1>C:\Users\(中略).exe : fatal error LNK1120: 外部参照 1 が未解決です。 と出ます。 リリースだとエラーは吐かないのですが、リリースフォルダ内にexeファイルが生成されず、やっぱり起動できませんでした。 Visual C++ 2010Expressはインストールしてほぼそのままなんですが、何かやっておかないといけないことはあるんでしょうか?

  • MS Visual C++で、Cのargv[]の使い方?

    以前「既存のCプログラムをMS Visual C++へ移行して実行したい 」という 質問をした者です。 既存のCプログラムをビルドするところまではいきました。 ****(.exe) inputfile outputfile というふうにプログラムを実行させたいのですが、 VC++の「実行」ボタンでは入出力ファイルを指定するところが わかりません。 (「実行」ボタンを押すと、DOS窓が開いて、「inputfile outputfile」 を入力する暇も無くエラーになって終了します) MS固有の関数はできるだけプログラムに入れたくないのです。 ソフト(VC++)の設定で入出力ファイルを指定する方法を 教えてください。

  • CのEXE.Fileの作成

     こんにちは、Cを最近勉強している初心者です、宜しくお願いします。  Cで書いたプログラムを普通のアプリケーションみたいなEXE.Fileにすることは出来るのでしょうか。  出来るとすれば、どのようにするのですか。  それとも何か特別な別のそれ用のアプリケーションが必要なのでしょうか。

  • C# 2010 アプリケーションの完全なるアンインストール方法?

    C# 2010 アプリケーションの完全なるアンインストール方法? MyPackageフォルダに数ケのアプリケーションプログラムを入れました うち1ケはアンインストールのプログラムであり、下記のような処理が記述されています foreach (string file in System.IO.Directory.GetFiles(@"c:\MyPackage", "*.*")) { System.IO.File.Delete(file); } ----------------(1)  System.IO.Directory.Delete(@"c:\MyPackage"); ------(2) アンインストールの為にこのプログラムを実行すると、フォルダの中に入っている自分自身を削除しようとしますから(1)でエラーとなります また(2)のところで自分自身が入っているフォルダを削除しようとしますから、やはりエラーになります 結局フォルダとアンインストールプログラムが残ってしまいます 一般的なアンインストールプログラムではこの問題をどのようにして解決しているのでしょうか?

  • Cドライブのフォルダが開けなくなりました。

    昨日(10月3日)、競馬伝説Live(オンラインゲーム)にログインしようとショートカットをクリックしたところ、kd4live.exeが見当たりませんとエラーになりました。 ショートカットのリンク先(C:\Program Files\競馬伝説Live!\KD4Live.exe")を覗いてみたところ、競馬伝説Live!のフォルダは存在するのですが、フォルダの中が覗けません。 (フォルダをクリックすると、Cドライブがフォーマットされておりませんというメッセージが表示されます。) Cドライブにある、他のフォルダは参照できます。 因みに、"KD4Live.exe"というファイルをCドライブ上で検索したところ、「KD4LIVE.EXE-1088A0C6.pf」というファイル(何のファイルか不明)がc:windows\prefetchにあるのを見つけました。更新日付は2007年10月02日の23時頃です。 昨日(10月02日)は問題なく実行できました。 【質問】 ・なぜフォルダを開こうとすると「Cドライブがフォーマットされていません」というエラーになるのか分かりません。 (何らかの関係でファイルが壊れていても、「フォーマットされていない」というエラーにはならないような気が・・・) ・・・ディスクが破損しているのでしょうか? 【できれば】 ・対応の仕方が分かりましたら教えて頂きたいです。 【補足】 ・ゲーム会社には問い合わせ中ですが、まだ何の回答も得られない状態です。

  • C++ 設定ファイル

    VC++ではなく、ただのC++での質問です。 エラーメッセージやウインドウのサイズを外部ファイルに定義したいと思っています。 .NETではXMLファイルを使用していたのですが、C++では何を使うのが妥当でしょうか。 iniファイルというものもあるらしいのですが、 http://msdn.microsoft.com/ja-jp/library/cc429779.aspx にて、「この関数は、16 ビット Windows ベースのアプリケーションとの互換性を保つ目的でのみ提供されています。Win32 ベースのアプリケーションでは、初期化情報をレジストリに格納してください。」 といった内容が記述されており、iniファイルはあまり好ましくないようです。(この関数自体使えなくなる?)

専門家に質問してみよう