本站首页    管理页面    写新日志    退出


«December 2025»
123456
78910111213
14151617181920
21222324252627
28293031


公告
暂无公告...

我的分类(专题)

日志更新

最新评论

留言板

链接


Blog信息
blog名称:
日志总数:3
评论数量:11
留言数量:1
访问次数:15388
建立时间:2008年7月22日




c# 中 获得前台运行进程窗口句柄及验证是否是想要监控的程序进程的另类方法
电脑与网络

heimajushi 发表于 2008/7/27 9:45:36

   本人对API算是一个菜菜鸟,在C++调用API不算是一件难事,可是在C#中就相当麻烦。下面我就用一个简单的例子来介绍一种获得前台运行进程窗口句柄及验证是否是想要监控的程序进程的另类方法。其实就是我自己偷懒,没有详读API资料。 在API中user32.dl与窗口有关。 下面是源码你会发现很简单; using System.Runtime.InteropServices;//与API相关using System.Diagnostics;//与进程相关 [DllImport("user32.dll")]  private static extern IntPtr GetForegroundWindow();//获得即获得前台窗口句柄 函数(){  IntPtr ii = GetForegroundWindow();//获得即获得前台窗口句柄   Process p = new Process();//实例一个进程  p = Process.GetProcessesByName("msnmsgr")[0];//以msn为例,msnmsgr为进程名称   IntPtr jk = p.MainWindowHandle;    if (ii == jk)            { //加入你想要的动作             } }   呵呵我是下班前赶出来的源程序,今天加班心情不好,原代码写得比较粗糙。希望各位见谅。而且还请精通API的大侠,给指点一下在C#中完全用API 获得这样的效果该怎么办。      在API中可以通过findwindow(类名,窗口标题)得到窗口句柄。 用 GetWindowThreadProcessId获得进程id 有时间我把它也写一下,请大家指点一下。 以后我还会把我C#写的一个监控键盘和鼠标的程序发出来,请大家帮我改进一下。


阅读全文(2406) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.387 second(s), page refreshed 144813372 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号