今天,讲讲,应用程序 与 应用程序 之间是如何 互联 的!
下面以一个列子开始:
本程序向计算器发送 消息,并观看结果:
// 在partial Form1 类中添加两个方法,是因下面程序要调用到 user32.dll 中的两个函数,以下声明!
[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
static extern IntPtr FindWindow(String lpClassName, String lpWindowName);
[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
static extern bool SetForegroundWindow(IntPtr HWnd);
上面的是什么语法,谁能说说?
//打开计算器 并发关 按键!
private void btnSendTextTo_Click(object sender, EventArgs e)
{
//实例化一个
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "Calc.exe";
Process prc = new Process();
prc.StartInfo = startInfo;
prc.Start();//运行计算器;
//等待计算器完全开始
Thread.Sleep(200);
IntPtr calcHandle = FindWindow("SciCalc","计算器");
if (calcHandle == IntPtr.Zero)//计算器没有启动
{
MessageBox.Show("计算器没有启动","提示",MessageBoxButtons.OK);
return;
}
SetForegroundWindow(calcHandle);
SendKeys.SendWait("9");
SendKeys.SendWait("*");
SendKeys.SendWait("2");
SendKeys.SendWait("=");
}
可以看到,结果,是 9*2= 18
最后: 还望您能帮我看看我的几个问题
{1}
{2}
{3}
{4}
★★★★★★★★★★ 本机程序"互联网"(分享) ★★★★★★★★★★
5 个解决方案
#1
没有人回答,是大家都 不感兴趣的问题?
下面我再写出 如何 操控控制台程序 :
请看下面的例子:
这个方法,
可以做到 逻辑和界面完全分开,
即 复杂的 运算,交给控制台,可以用 C/C++ 来写!
界面就用C#来!!!
哈哈!!!
下面我再写出 如何 操控控制台程序 :
请看下面的例子:
Process prc = new Process();
prc.StartInfo.FileName = "cmd.exe";
//关闭 Shell 的使用!
prc.StartInfo.UseShellExecute = false;
//重定向标准输入
prc.StartInfo.RedirectStandardInput = true;
//重定向标准输出
prc.StartInfo.RedirectStandardOutput = true;
//重定向错误输出
prc.StartInfo.RedirectStandardError = true;
//设置不显示窗口!
prc.StartInfo.CreateNoWindow = true;
//执行doc 命令
prc.Start();
prc.StandardInput.WriteLine("Dir C:\\"); //输入命 并回车,因是WriteLine,不是Write
prc.StandardInput.WriteLine("exit");//cmd.exe 要退出了
//从输出流中 取得 执行后的结果
string sResult = prc.StandardOutput.ReadToEnd();
MessageBox.Show(sResult,"提示",MessageBoxButtons.OK);
这个方法,
可以做到 逻辑和界面完全分开,
即 复杂的 运算,交给控制台,可以用 C/C++ 来写!
界面就用C#来!!!
哈哈!!!
#2
#3
都这样了 不定不行了,不过 建议搂住去 看看书吧,这里高手都潜水,偶尔上来
#4
毫无意义的帖子
#5
谢谢分享。不过标题没看懂什么意思。
想到一个小品的段子:
买房子送家具
家具呢
我们是免费帮你“送”
不是赠送
哦,原来是这么一个互联啊。
想到一个小品的段子:
买房子送家具
家具呢
我们是免费帮你“送”
不是赠送
哦,原来是这么一个互联啊。
#1
没有人回答,是大家都 不感兴趣的问题?
下面我再写出 如何 操控控制台程序 :
请看下面的例子:
这个方法,
可以做到 逻辑和界面完全分开,
即 复杂的 运算,交给控制台,可以用 C/C++ 来写!
界面就用C#来!!!
哈哈!!!
下面我再写出 如何 操控控制台程序 :
请看下面的例子:
Process prc = new Process();
prc.StartInfo.FileName = "cmd.exe";
//关闭 Shell 的使用!
prc.StartInfo.UseShellExecute = false;
//重定向标准输入
prc.StartInfo.RedirectStandardInput = true;
//重定向标准输出
prc.StartInfo.RedirectStandardOutput = true;
//重定向错误输出
prc.StartInfo.RedirectStandardError = true;
//设置不显示窗口!
prc.StartInfo.CreateNoWindow = true;
//执行doc 命令
prc.Start();
prc.StandardInput.WriteLine("Dir C:\\"); //输入命 并回车,因是WriteLine,不是Write
prc.StandardInput.WriteLine("exit");//cmd.exe 要退出了
//从输出流中 取得 执行后的结果
string sResult = prc.StandardOutput.ReadToEnd();
MessageBox.Show(sResult,"提示",MessageBoxButtons.OK);
这个方法,
可以做到 逻辑和界面完全分开,
即 复杂的 运算,交给控制台,可以用 C/C++ 来写!
界面就用C#来!!!
哈哈!!!
#2
#3
都这样了 不定不行了,不过 建议搂住去 看看书吧,这里高手都潜水,偶尔上来
#4
毫无意义的帖子
#5
谢谢分享。不过标题没看懂什么意思。
想到一个小品的段子:
买房子送家具
家具呢
我们是免费帮你“送”
不是赠送
哦,原来是这么一个互联啊。
想到一个小品的段子:
买房子送家具
家具呢
我们是免费帮你“送”
不是赠送
哦,原来是这么一个互联啊。