我自己写一个C#程序A,监测Windows系统上运行的另一个程序B是否弹出了窗口,窗口文本是什么?请问大虾们! 10

 我来答
huiyangzhuang
2012-12-27 · TA获得超过435个赞
知道小有建树答主
回答量:433
采纳率:0%
帮助的人:250万
展开全部
这是网上找的,仅供参考:
做过一个类似的,托盘区显示浮动提示并自动消失(透明度提高,自动关闭).
步聚是这样,建一个timer,当选择某个"歌曲"时不直接弹出窗口,而是启动计时器timer.start,在计时器方法中设定自动点击的时限(即打开弹出窗时倒计时,计时为0时自动关闭).
你的msg窗类,确定会启动一个方法吧?那么计时器归零时就调用这个处理方法.
注意,因为用户可能自主点击,所以自主点击时要注意关闭计时.
--------
自己试一下,要代码的话hi一下.
-----代码:hi不过去,发这儿了.
主体From From1
属性:string _itemID;//选中项的ID
控件:button btnshow
事件:
private void btnshow_Click(object sender, EventArgs e)
{
frmMsgShow obMS = new frmMsgShow (_itemID);
obMS.Show();
}
弹窗From frmMsgShow
属性:
_itemID;//传入的选中项ID
int _tmrPrm=0; //计时的辅助,计时为5秒,若窗体滞留最大为10秒,则当_tmrprm =2时关闭
控件:
Timer Timer1 //计时器 Interval设置为5000毫秒。 Enabled=true窗体打开自动计时
button btnOk //accept button
重写构造函数:
public frmMsgShow(string _initID)
{
_itemID=_initID;
...
}
事件处理
private void timer1_Tick(object sender, EventArgs e)
{
if(_tmrprm <2)
{
//时间不足
_tmrprm ++;
}
else
{
//计时完毕
addItem();
}
}
private void btnOk_Click(object sender, EventArgs e)
{
addItem();
}
方法:点击按钮或计时结束时被调用。
private void addItem()
{
//加入转入项
...
//关闭窗体
this.close();
}
追问
我说的可能不太专业,准确点的描述应该是”程序A如何监测程序B在某个时间点弹出了窗口,弹出窗口的句柄如何获得?这两个程序互相是独立的“
百度网友ec17c9c
2012-12-27 · TA获得超过124个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:124万
展开全部
这个要用到windows api才可以搞定哦。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式