请问可不可以操作系统自带的计算器? 能不能将运算式直接传给计算器,然后用代码来实现最后的“=”号运算。小白这里遇到了点问题,希望大家可以帮忙想想。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以IntPtr hwndCalc = FindWindow ( null, "计算器" ); //查找计算器的句柄 if ( hwndCalc != IntPtr.Zero ) { IntPtr hwndThree = FindWindowEx ( hwndCalc, 0, null, "1" ); //获取按钮3 的句柄 IntPtr hwndPlus = FindWindowEx ( hwndCalc, 0, null, "+" ); } 谢谢wuyq11的答复,恩,先试试。 谢谢jx0797的指示。是这样的,我现在想试试wuyq11的方法,但是我在下面的代码中出现了点问题,调不下去了。[DllImport("user32.dll",EntryPoint="FindWindow")]public static extern IntPtr FindWindow(string strclass, string strname);public static extern IntPtr FindWindowEx(IntPtr hwndCalc, IntPtr child, string first, string second); 在第三行代码处出现了警告,程序运行的时候报错了。说是“方法FindWindowEx被标记为外部对象,并且它上面没有任何属性,请考虑添加一个dllimport”。因为同学这两天就要结果,所以着急了些,还请各位能帮忙看看。 问题解决了,受wuyq11的启发,找到了一遍解决文章。大致如下一、使用Process将计算器窗口先调出来,proc.StartInfo.FileName = @"calc.exe";//调出计算器proc.Start();二、 读取文件,保存到全局变量strCaculate中。三、使用FindWindow激活计算器窗口。四、利用FindWindowEx和SendMessage发送消息给计算器,让计算器执行命令。参考代码为:http://hi.baidu.com/enus/blog/item/3d5d49ef95309e1ffdfa3cb4.html其实人家把问题都解决了,发现自己果然很多东西还需要学习呢。谢谢大家。 ps:findwindowex无法在win7下找到数字键和符号键,这样做难度比自己写个计算器还大。 wuyazhe说得很对,我现在给朋友发过去了,但是他的系统是vista的。vista中使用findwindowex获取字符串“(”的句柄时,就不行了,取得的值为0. 这下惨了。有没有什么办法呢? 求助(c#.net问题) 3des加密问题了的进来看看TripleDESCryptoServiceProvider TcpListener/TcpClient类-->异步BeginRead无限循环-->线程问题 基础类和关键字的区别 从PB转c#做数据库方面的开发的一点菜问题 怎样将对象保存到SQL SERVER数据库中? 一个有关窗体的问题 在csdn的资源下载,无法用“快车”下载东西,求教(30分仅有39分) 在TEXTBOX中如何实现“查找”,"替换"功能? 请教几个有关文件操作的问题 高手来看下这个代码!!! 获取打开网站时候发送的请求包
IntPtr hwndCalc = FindWindow ( null, "计算器" ); //查找计算器的句柄
if ( hwndCalc != IntPtr.Zero )
{
IntPtr hwndThree = FindWindowEx ( hwndCalc, 0, null, "1" ); //获取按钮3 的句柄
IntPtr hwndPlus = FindWindowEx ( hwndCalc, 0, null, "+" );
}
是这样的,我现在想试试wuyq11的方法,但是我在下面的代码中出现了点问题,调不下去了。
[DllImport("user32.dll",EntryPoint="FindWindow")]
public static extern IntPtr FindWindow(string strclass, string strname);
public static extern IntPtr FindWindowEx(IntPtr hwndCalc, IntPtr child, string first, string second);
在第三行代码处出现了警告,程序运行的时候报错了。
说是“方法FindWindowEx被标记为外部对象,并且它上面没有任何属性,请考虑添加一个dllimport”。
因为同学这两天就要结果,所以着急了些,还请各位能帮忙看看。
一、使用Process将计算器窗口先调出来,
proc.StartInfo.FileName = @"calc.exe";
//调出计算器
proc.Start();
二、 读取文件,保存到全局变量strCaculate中。
三、使用FindWindow激活计算器窗口。
四、利用FindWindowEx和SendMessage发送消息给计算器,让计算器执行命令。
参考代码为:http://hi.baidu.com/enus/blog/item/3d5d49ef95309e1ffdfa3cb4.html
其实人家把问题都解决了,发现自己果然很多东西还需要学习呢。
谢谢大家。