擅长:python、mysql、java
<p>抱歉,没有足够的信息回答您的问题。这似乎是一个特定于应用程序的事情。在</p>
<p>我唯一能想到的就是回顾一下win32的代码serviceutil.HandleCommandLine方法和WinService类来确定哪个写入日志。然后,您必须创建一个子类并重写负责写入日志的方法以接收附加参数。最后,您必须尝试从原始类到新类的所有引用。在</p>
<p>在问题编辑后补充道。在</p>
<p>更清楚,但仍然不够。你需要回顾一下win32serviceutil.HandleCommandLine看看它是如何调用的服务.WindowsService.LoopService。初始化。特别是,如何<em>HandleCommandLine</em>生成<em>参数</em>以及如何控制它。在</p>
<p>如果您很着急,您可以:</p>
<pre><code>class LoopService(win32serviceutil.ServiceFramework):
repetitions = 5
# ...
def __init__(self,args):
win32serviceutil.ServiceFramework.__init__(self,args)
self.hWaitStop = win32event.CreateEvent(None,0,0,None)
self.repetitions = LoopService.repetitions
# ...
def SvcDoRun(self):
for i in range(self.repetitions):
servicemanager.LogInfoMsg("just something to put in the log");
win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)
</code></pre>
<p>然后你可以控制重复改变的次数循环服务.重复<strong>在创建新实例之前。在</p>
^{pr2}$
<p>这很管用,但很难看。尝试控制<em>参数</em>,然后设置<em>自我重复</em>相应地。在</p>