1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import threading
- import time
- import win32api
- import log
- from xml.dom.minidom import parse
- import xml.dom.minidom
- class ezcad(threading.Thread):
- def __init__(self, threadID, name, counter):
- threading.Thread.__init__(self)
- self.threadID = threadID
- self.name = name
- self.counter = counter
- self.log_file = log.log_file
- self.log_print = log.log_file
- self.exe_enable = 'False'
- self.filename = 'D:\Server\模板server.ezd'
- self.exename = 'EzCad2.exe'
- self.exepath = 'D:\Ezcad2.14.9(20160628新驱动)(1)\Ezcad2.14.9(20160628新驱动)'
- def get_attrvalue(self, node, attrname):
- return node.getAttribute(attrname) if node else ''
- def get_nodevalue(self, node, index=0):
- return node.childNodes[index].nodeValue if node else ''
- def get_xmlnode(self, node, name):
- return node.getElementsByTagName(name) if node else []
- def read_xml(self):
- try:
- DOMTree = xml.dom.minidom.parse("ezcad2.xml")
- set = DOMTree.documentElement
- nodes = self.get_xmlnode(set, "exe")
- for node in nodes:
- self.exe_enable = self.get_nodevalue(self.get_xmlnode(node, 'enable')[0])
- self.exepath = self.get_nodevalue(self.get_xmlnode(node, 'exepath')[0])
- self.exename = self.get_nodevalue(self.get_xmlnode(node, 'exename')[0])
- self.filename = self.get_nodevalue(self.get_xmlnode(node, 'filename')[0])
- except Exception as e:
- self.log_file.logger.error('打标机配置文件读取异常: {0}'.format(e), exc_info=True, stack_info=True)
- def run(self):
- try:
- self.read_xml()
- if self.exe_enable == 'True':
- win32api.ShellExecute(0, 'open', self.exename, self.filename, self.exepath, 1)
- time.sleep(20)
- # win32api.keybd_event(0x71, 0, 0, 0) # enter
- # time.sleep(0.1)
- # win32api.keybd_event(0x71, 0, win32con.KEYEVENTF_KEYUP, 0) # 释放按键
- except Exception as e:
- self.log_file.logger.error('打标机软件执行异常: {0}'.format(e), exc_info=True, stack_info=True)
|