点点滴滴


         从点开始绘制自己的程序人生
posts - 39, comments - 2, trackbacks - 8, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

C#调用API访问其它进程

Posted on 2006-12-16 15:07 点点滴滴 阅读(129) 评论(1)  编辑 收藏 网摘 所属分类: C#

         近段时间由于工作的需要访问其它进程的相关数据,现将其中的一些代码写下来,以备参考.
    代码如下(系统自动生成的没有列出来): 

 1using System;
 2using System.Collections.Generic;
 3using System.ComponentModel;
 4using System.Data;
 5using System.Drawing;
 6using System.Text;
 7using System.Windows.Forms;
 8using System.Runtime.InteropServices;
 9
10namespace WindowsApplication1
11{
12    public partial class Form1 : Form
13    {
14        [DllImport("User32.dll", EntryPoint = "FindWindow")]
15        private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
16
17        [DllImport("user32.dll", EntryPoint = "FindWindowEx")]
18        private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
19
20        [DllImport("User32.dll", EntryPoint = "SendMessage")]
21        private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);
22
23        public Form1()
24        {
25            InitializeComponent();
26        }

27
28        private void button1_Click(object sender, EventArgs e)
29        {
30            const int WM_GETTEXT = 0x000D;
31
32            string lpszParentClass = "Form";
33            string lpszParentWindow = "Form1";
34            string lpszClass = "Button";
35
36            string getTxt = "";
37            IntPtr ParenthWnd = new IntPtr(0);
38            IntPtr EdithWnd = new IntPtr(0);
39
40            ParenthWnd = FindWindow(lpszParentClass, lpszParentWindow);
41            if (!ParenthWnd.Equals(IntPtr.Zero))
42            {
43                EdithWnd = FindWindowEx(ParenthWnd, EdithWnd, lpszClass, "");
44                if (!EdithWnd.Equals(IntPtr.Zero))
45                {
46                    SendMessage(EdithWnd, WM_GETTEXT, (IntPtr)0, getTxt);
47                    if (getTxt.Length != 0)
48                    {
49                        MessageBox.Show(getTxt);
50                    }

51                }

52
53            }

54        }

55    }

56}

 





标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: