本机程序"互联网"(分享)

时间:2022-09-17 17:12:20
★★★★★★★★★★ 本机程序"互联网"(分享) ★★★★★★★★★★
今天,讲讲,应用程序 与 应用程序 之间是如何 互联 的!

下面以一个列子开始:
   本程序向计算器发送 消息,并观看结果:
// 在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


没有人回答,是大家都 不感兴趣的问题?
下面我再写出 如何 操控控制台程序 :
请看下面的例子:
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


该回复于2012-01-03 18:56:14被版主删除

#3


都这样了 不定不行了,不过 建议搂住去 看看书吧,这里高手都潜水,偶尔上来

#4


毫无意义的帖子

#5


谢谢分享。不过标题没看懂什么意思。

想到一个小品的段子:

买房子送家具
家具呢
我们是免费帮你“送”
不是赠送

哦,原来是这么一个互联啊。

#1


没有人回答,是大家都 不感兴趣的问题?
下面我再写出 如何 操控控制台程序 :
请看下面的例子:
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


该回复于2012-01-03 18:56:14被版主删除

#3


都这样了 不定不行了,不过 建议搂住去 看看书吧,这里高手都潜水,偶尔上来

#4


毫无意义的帖子

#5


谢谢分享。不过标题没看懂什么意思。

想到一个小品的段子:

买房子送家具
家具呢
我们是免费帮你“送”
不是赠送

哦,原来是这么一个互联啊。