• Winform调用系统计算器、记事本


        


    ______________________________________________C#调用系统计算器____________________________________________
      
              ProcessStartInfo Info = new ProcessStartInfo();
                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, string
    lpWindowName);
            [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));
                }
            }
        }
    }
  • 相关阅读:
    Windows7发生VS2005无法调试Web项目《转》
    压缩SQL Server 2005指定数据库文件和日志
    .net开源工具Zed
    oracle 开发手册
    sql server 日期函数第一天
    相对应的汉语拼音首字母串<收藏>
    oracle 触发器使用《收藏》
    Oracle三种集合数据类型的比较
    sql server 系统表
    chart
  • 原文地址:https://www.cnblogs.com/tianyiyi/p/2815537.html
Copyright © 2020-2023  润新知