[求助]如何防止一个外部程序多次运行? 点击:856 | 回复:6



fly0808

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 5回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月21日
发表于:2004-06-25 09:55:00
楼主
如何防止一个外部程序多次运行?比如在画面里做一个按钮运行windows自带的计算器。



deng_lp

  • 精华:5帖
  • 求助:0帖
  • 帖子:65帖 | 2669回
  • 年度积分:0
  • 历史总积分:2876
  • 注册:2001年6月19日
发表于:2004-06-26 10:08:00
1楼
方法很多. 1. findwindow 找程序的类名称或窗体名称,找到则不运行. 2. 用createprocess 来运行程序.

fly0808

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 5回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月21日
发表于:2004-06-28 14:28:00
2楼
谢谢,邓老师!第一种方法我已经成功了,第二种还没有试!还有请教一下,如何使这个外部程序窗口保持在最前面,即在所有窗口的最前面?

deng_lp

  • 精华:5帖
  • 求助:0帖
  • 帖子:65帖 | 2669回
  • 年度积分:0
  • 历史总积分:2876
  • 注册:2001年6月19日
发表于:2004-06-28 14:49:00
3楼
setwindowpos (...)可以实现你要的功能.

fly0808

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 5回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月21日
发表于:2004-06-28 17:12:00
4楼
还是没有搞定setwindowpos(),卡在如何取得外部程序的句柄呢?麻烦邓老师指点一下,谢谢了

deng_lp

  • 精华:5帖
  • 求助:0帖
  • 帖子:65帖 | 2669回
  • 年度积分:0
  • 历史总积分:2876
  • 注册:2001年6月19日
发表于:2004-06-28 17:37:00
5楼
用你的FINDWINDOW找到的handle 来作. 你用的是哪一种语言(VB/VC/DELPHI/CB)

阿尔斯通

  • 精华:0帖
  • 求助:0帖
  • 帖子:21帖 | 168回
  • 年度积分:0
  • 历史总积分:230
  • 注册:2002年3月31日
发表于:2004-06-30 09:34:00
6楼
这个功能非常实用,在上位软件中制作同类设备的监控小画面时就可以用到

热门招聘
相关主题

官方公众号

智造工程师