DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: liy187
今日帖子: 12
在线用户: 11
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 uctao (uc) ▲▲▲△△ -
普通会员
2018/12/28 15:22:31
标题:
检测一个指定路径里的程序exe是否已经运行中,最好的办法是什么? 浏览:1425
加入我的收藏
楼主: 各位大神,比如想知道D:\测试\测试.exe是否已经运行了,有什么高效便捷的方法检测出,我现在想到的思路是历遍进程,然后在所有进程中检测是否有测试.exe这个程序存在,有的话通过程序名获得该进程的路径来判断,感觉这个方法太低效率了,就想问问大神有没有更好的办法
----------------------------------------------
老菜鸟也会飞
作者:
男 807046799 (南山有雪) ▲▲▲△△ -
普通会员
2018/12/28 17:15:58
1楼: 删除它,不能删除就是运行了。
----------------------------------------------
-
作者:
男 xlonger (xlonger) ★☆☆☆☆ -
普通会员
2018/12/28 17:51:14
2楼: 效率也不低,我就是这样判断的。
----------------------------------------------
我打的是酱油,而不是别的什么油。
我灌的是口水,而不是别的什么水。
我聊的折腾不是那个不折腾的折腾。
我说的阿娇不是那个邓玉娇的阿娇。
3个代表,6个为什么,9个肠胃炎。
D性强的领导干部都不喜欢热比娅。
我特别要讲的是,屁民网黄色论坛是我经常上网必选的 网站之一
作者:
男 aq031 (清风明月) ★☆☆☆☆ -
盒子活跃会员
2018/12/28 17:53:36
3楼: 查找进程窗口啊
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2018/12/28 18:09:00
4楼: 效率不低,看看人家百度网盘是怎么做的:每秒都要探测一次:
https://blog.csdn.net/lispython/article/details/80123698

就这样还商用呢,而且是给几千万人商用,啥都不影响~~
----------------------------------------------
只有偏执狂才能生存!
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/12/28 18:50:00
5楼: 怪不得叫 管家 呢。
一秒 2 次 点名。
这管家太勤劳。导致其他程序没空工作,光顾着回复点名了。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 hbug (hbug) ★☆☆☆☆ -
普通会员
2018/12/29 8:40:51
6楼: 用删除的方法检测?那如果没有运行呢,删除完了又还原?
----------------------------------------------
专业提供人力资源软件、指纹考勤软件、POS进销存软件、酒店餐饮软件
http://www.winsoftcn.com
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/12/29 9:02:25
7楼: 既然删除可以检查。难道你们就不能动动你们高贵的脑子。找一个类似删除的办法吗?
我鄙视你们不是没有道理!
----------------------------------------------
(C)(P)Flying Wang
作者:
男 shamohu (shasha) ★☆☆☆☆ -
盒子活跃会员
2018/12/29 9:15:13
8楼: 重改名试试,如果改不了说明在运行;能改,想还原的话再改回来即可。
----------------------------------------------
-
作者:
男 xlonger (xlonger) ★☆☆☆☆ -
普通会员
2018/12/29 9:41:28
9楼: 8楼测过了吗
----------------------------------------------
我打的是酱油,而不是别的什么油。
我灌的是口水,而不是别的什么水。
我聊的折腾不是那个不折腾的折腾。
我说的阿娇不是那个邓玉娇的阿娇。
3个代表,6个为什么,9个肠胃炎。
D性强的领导干部都不喜欢热比娅。
我特别要讲的是,屁民网黄色论坛是我经常上网必选的 网站之一
作者:
男 earthsbest (全能中间件) ▲▲▲▲△ -
普通会员
2018/12/29 9:55:40
9楼: 遍历进程不慢的,虽然 Delete 的方式快点,如果加上还原操作就不一定了。
此帖子包含附件:
PNG 图像
大小:98.1K
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
男 lovelost (lovelost) ★☆☆☆☆ -
普通会员
2018/12/29 10:42:12
10楼: 能想出删除的方法简直是天才,但是删除或重命名都需要面对UAC的问题,除非你的检测程序必须以管理员身份运行,不然就算程序没有运行,你依然无法执行删除。
----------------------------------------------
-
作者:
男 wg961423 (麦子仲肥) ★☆☆☆☆ -
盒子活跃会员
2018/12/29 10:47:41
11楼: 用改名来判断,无效的;我自己写的在线自动升级,就是下载回来,再把在运行中的EXE、DLL改名,把新的文件放进去,以保证下次启动时就已经使用新程序的!
----------------------------------------------
-
作者:
男 datm (dATM) ★☆☆☆☆ -
盒子活跃会员
2019/1/3 15:58:42
12楼: CreateToolhelp32SnapShot
----------------------------------------------
-
作者:
男 earthsbest (全能中间件) ▲▲▲▲△ -
普通会员
2019/1/4 13:16:45
13楼: /// <summary>
/// 检测程序是否已经运行
/// </summary>
/// <param name="AExeFileName">文件名称,带完整路径文件名或不带路径的文件名均可</param>
function ProcessExists(const AExeFileName: string): Boolean;
var
  Found: Boolean;
  SnapshotHandle: THandle;
  ProcessEntry32: TProcessEntry32;
begin
  Result := False;
  SnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  try
    ProcessEntry32.dwSize := SizeOf(ProcessEntry32);
    Found := Process32First(SnapshotHandle, ProcessEntry32);
    while Found do
    begin
      if (ExtractFileName(ProcessEntry32.szExeFile).ToLower = ExtractFileName(AExeFileName).ToLower)
        or (string(ProcessEntry32.szExeFile).ToLower = AExeFileName.ToLower) then
      begin
        Exit(True);
      end;
      Found := Process32Next(SnapshotHandle, ProcessEntry32);
    end;
  finally
    CloseHandle(SnapshotHandle);
  end;

end;
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
男 kinneng (kinneng) ★☆☆☆☆ -
盒子活跃会员
2019/1/4 16:40:23
14楼: uses TLHelp32
----------------------------------------------
声明:本人不在论坛询问任何编程问题,请不要将我的帖子当成问题来回答。炒股一天,编程三年,不浪费时间了。 经常在外面,没空,不要找我..
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行85.9375毫秒 RSS