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

在你的应用程序中实现一个计算器确实更简单:读取另一个进程窗口的内容并非易事!并且在计算器“即将关闭”时收到通知更加困难。

它肯定涉及寡妇 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 脚本控件在您的 C# 应用程序中实现计算器功能。该控件有一个简单的 Eval() 方法来计算从简单的“2+2”到 VBScript 命令的表达式。更多信息在这里:

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

于 2013-03-29T12:23:42.487 回答
0

您可以使用现有的库,例如http://nclac.codeplex.com在您的应用程序中提供计算。

于 2013-11-26T10:01:30.180 回答