惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
B
Blog
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Proofpoint News Feed
C
Check Point Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
博客园 - 叶小钗
S
SegmentFault 最新的问题
Last Week in AI
Last Week in AI
T
The Blog of Author Tim Ferriss
Microsoft Security Blog
Microsoft Security Blog
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
腾讯CDC
博客园 - Franky
博客园 - 聂微东
V
Visual Studio Blog
GbyAI
GbyAI
Martin Fowler
Martin Fowler
罗磊的独立博客
Y
Y Combinator Blog

博客园 - 点点滴滴

C#操作IIS的代码 恢复误删数据(SQL Server 2000)--Log Explorer 如何让ClickOnce进行手动更新(含代码) - 点点滴滴 - 博客园 BackgroundWorker 组件 获取VS.NET 自带的数据库连接对话框的数据库连接 搜索一个局域网中所有的SQL Server服务器 Application.DoEvent() 在C#使用XML注释 用IDisposable接口释放.NET资源 正确的重载operator 很好的debug有理由不用吗 抽象 虚方法 接口 的区别 ASP.NET AJAX 路线图 ASP.NET AJAX 概述 安装ASP.NET AJAX Visitor Template Method Strategy State
C#调用API访问其它进程
点点滴滴 · 2006-12-16 · via 博客园 - 点点滴滴

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

 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}