马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
 - (defun $判断进程是否正在运行$ (name / qry rtn srv wmi jcs wql)
- (if (and name (= (type name) 'str) (> (strlen name) 0))
- (progn
- (setq
- wql (strcat "Select * from Win32_Process Where Name LIKE '"
- name
- "%'" ;通配符
- )
- )
- (if
- (and wql
- (setq wmi (vlax-create-object "wbemscripting.swbemlocator"))
- )
- (progn
- (setq rtn
- (vl-catch-all-apply
- (function
- (lambda (/ lst pros)
- (set 'srv (vlax-invoke wmi 'connectserver))
- (SET 'qry
- (vlax-invoke
- (vlax-invoke wmi 'connectserver)
- 'execquery
- wql
- )
- )
- (vlax-for itm qry
- (setq pros (vlax-get itm 'properties_))
- (vlax-for prp pros
- (if (= "name" (strcase (vlax-get prp 'name) t))
- (progn
- (setq lst (cons (vlax-get prp 'value) lst))
- (setq itm nil)
- (setq prp nil)
- (setq pros nil)
- (vl-catch-all-apply
- 'vlax-release-object
- (list qry)
- ) ;释放掉
- (vl-catch-all-apply
- 'vlax-release-object
- (list srv)
- ) ;释放掉
- )
- )
- )
- )
- lst
- )
- )
- )
- )
- (vlax-release-object wmi) ;释放对象
- (if (vl-catch-all-error-p rtn)
- (prompt (vl-catch-all-error-message rtn))
- (setq jcs rtn)
- )
- )
- )
- )
- )
- jcs
- )
- ($判断进程是否正在运行$ "qq")
还有没有比这个速度更快的方法?
|