______________________________________________C#调用系统计算器____________________________________________
ProcessStartInfo Info = new ProcessStartInfo();
Info.FileName = "calc.exe ";//"calc.exe"为计算器,"notepad.exe"为记事本
Process Proc = Process.Start(Info);
Info.FileName = "calc.exe ";//"calc.exe"为计算器,"notepad.exe"为记事本
Process Proc = Process.Start(Info);
______________________________________________C#调用系统计算器,并获得值____________________________________
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace CSharpWin04
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
Process pcalc = null;
//启动计算器
private void button1_Click(object sender, EventArgs e)
{
pcalc = Process.Start("calc.exe");
}
//获取文本框的结果
[DllImport("user32.dll", EntryPoint = "FindWindow")]
public static extern IntPtr FindWindow(string lpClassName, stringlpWindowName);
[DllImport("user32.dll", EntryPoint = "FindWindowEx")]
public static extern IntPtr FindWindowEx(IntPtr hWnd1, IntPtr hWnd2, stringlpsz1, string lpsz2);
[DllImport("User32 ")]
public static extern bool SendMessage(IntPtr hWnd, int Msg, int wParam, IntPtr lParam);
public const int WM_GETTEXT = 0xD;
private void button2_Click(object sender, EventArgs e)
{
if (pcalc == null || pcalc.HasExited) return;
IntPtr hEdit = FindWindowEx(pcalc.MainWindowHandle, IntPtr.Zero,"Edit", null);
string w = " ";
IntPtr ptr = Marshal.StringToHGlobalAnsi(w);
if (SendMessage(hEdit, WM_GETTEXT, 100, ptr))
{
MessageBox.Show(Marshal.PtrToStringAnsi(ptr));
}
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace CSharpWin04
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
Process pcalc = null;
//启动计算器
private void button1_Click(object sender, EventArgs e)
{
pcalc = Process.Start("calc.exe");
}
//获取文本框的结果
[DllImport("user32.dll", EntryPoint = "FindWindow")]
public static extern IntPtr FindWindow(string lpClassName, stringlpWindowName);
[DllImport("user32.dll", EntryPoint = "FindWindowEx")]
public static extern IntPtr FindWindowEx(IntPtr hWnd1, IntPtr hWnd2, stringlpsz1, string lpsz2);
[DllImport("User32 ")]
public static extern bool SendMessage(IntPtr hWnd, int Msg, int wParam, IntPtr lParam);
public const int WM_GETTEXT = 0xD;
private void button2_Click(object sender, EventArgs e)
{
if (pcalc == null || pcalc.HasExited) return;
IntPtr hEdit = FindWindowEx(pcalc.MainWindowHandle, IntPtr.Zero,"Edit", null);
string w = " ";
IntPtr ptr = Marshal.StringToHGlobalAnsi(w);
if (SendMessage(hEdit, WM_GETTEXT, 100, ptr))
{
MessageBox.Show(Marshal.PtrToStringAnsi(ptr));
}
}
}
}