0

ボタンのクリックで計算機を開きたいアプリケーションがあり、操作が計算機で実行され、計算機が閉じられたら、その値をテキスト ボックスに戻します。この機能を実現するにはどうすればよいですか。

  private void btnDollarTransferHelp_Click(object sender, EventArgs e)
    {
        System.Diagnostics.Process myProcess = System.Diagnostics.Process.Start("calc.exe");
    }

私は C# 4.0 とそのウィンドウ ベースのアプリケーションを使用しています。

よろしくお願いします

4

3 に答える 3

0

http://nclac.codeplex.comなどの既存のライブラリを使用して、アプリケーション内で計算を提供できます。

于 2013-11-26T10:01:30.180 に答える
0

アプリに電卓を実装する方が確かに簡単です。別のプロセス ウィンドウの内容を読み取るのは簡単ではありません。そして、電卓が「閉じようとしている」ときに通知されるのはさらに困難です。

確かに、widows API (FindMessage/SendMessage) (たとえばhttps://stackoverflow.com/a/360247/863564を参照)、おそらくP/Invoke、おそらくcalc.exe のフック(Spy++ で使用される手法 - - WM_CLOSE メッセージをキャプチャするために必要です -ウィンドウを閉じるときに何が起こるかをここで確認してください)

(WM_CLOSE をキャプチャする必要があります。これは、ウィンドウ上のコントロールから結果を取得するための最新の賢明な瞬間であるためです)

したがって、別の方法: すばらしいのはscriptcsですが、多すぎる可能性があります。クイック検索で
いくつかの
素晴らしい
プロジェクトが見つかりました

いずれにせよ、楽しんでください!

于 2013-03-29T12:32:16.663 に答える
0

Microsoft Script Control を使用して、C# アプリに電卓機能を実装できます。コントロールには、単純な「2+2」から VBScript コマンドまでの範囲の式を評価する単純な Eval() メソッドがあります。詳細はこちら:

http://msdn.microsoft.com/en-us/library/aa227637(v=vs.60).aspx

于 2013-03-29T12:23:42.487 に答える