0

我正在编辑一个名为 TF2idle 的程序,可以在这里看到:http://facepunch.com/showthread.php?t= 1161862

我正在添加一个按钮来对使用他可用的人的来源选择的任何帐户进行碎片整理。

我在 python 文件中发现这是所有魔法发生的地方,也是我需要编辑以添加我的 Defrag 按钮的地方。

http://pastebin.com/9PjzqU5u

第 136 - 142 和 328-337 行是我自己添加的。这些行如下:

startDefragIcon = QtGui.QIcon()
            startDefragIcon.addPixmap(QtGui.QPixmap(returnResourcePath('images/defrag.png')), QtGui.QIcon.Normal, QtGui.QIcon.Off)
            self.startDefragAction = self.mainwindow.htoolBar.addAction(startDefragIcon, 'Defrag Accounts')
            QtCore.QObject.connect(self.startDefragAction, QtCore.SIGNAL('triggered()'), curry(self.startUpAccounts, action='start_Defrag'))

 if action == 'start_Defrag':
                                    command = r'"%s/Steam.exe" -login %s %s' % (sandbox_install, username, password)
                                    if easy_sandbox_mode == 'yes' and self.settings.get_option('Account-' + account, 'sandbox_install') == '':
                                            self.commandthread.addSandbox('TF2Idle' + username)
                                            self.createdSandboxes.append(username)
                                            command = r'"%s/Start.exe" /box:%s %s' % (sandboxielocation, 'TF2Idle' + username, command)
                                    else:
                                            command = r'"%s/Start.exe" /box:%s %s' % (sandboxielocation, sandboxname, command)
                                    #Right here add script to launch steam://defrag/440

程序可以对帐户进行碎片整理的一种方法是启动“steam://defrag/440”,它会自动执行。例如,我可以在我的谷歌浏览器地址栏中输入该地址,它会告诉 Steam 对 ID 为 440 的程序进行碎片整理,即 TF2。

问题是,我不知道如何将其添加到脚本中。我正在考虑添加一个 BAT 文件,其中包含“steam://defrag/440”,并添加一行将在第 336 行启动所述 BAT 文件。

我希望这里有人知道我如何做到这一点。

第二个问题是我不知道在我完成编辑后如何将所有这些源文件转换为 .EXE。我知道这对我来说都是先进的,但如果我想上大学学习计算机科学,我必须开始学习,而且这真的会帮助许多使用这个工具的用户。

4

3 回答 3

3

我怀疑你想要webbrowser 模块

import webbrowser
webbrowser.open_new('steam://defrag/440')
于 2012-11-03T23:59:36.647 回答
1

如果你想做的只是对该地址的请求,python 提供了简单的模块来处理它。

from httplib2 import Http
h = Http
h.request('steam://defrag/440', 'GET')
于 2012-11-03T23:57:55.183 回答
1

这本身可能不符合作为答案的条件,但是由于您的问题也不是真正的问题(:-P),因此这里有一些提示:

  • Steam 客户端将自己注册为steam://协议的 URL 处理程序。
  • 您应该能够使用webbrowser模块实现您建议的工作流程。
  • 您可以在 BAT 文件中执行的任何操作,都可以在 Python 脚本中执行。
  • 通常,Python 脚本不会被编译(例如编译成 .exe 文件)。也就是说,py2exe 解释器、代码和依赖项包装到 .exe 文件包中。

编辑:请参阅 Eric 对您关于最后一点的问题的评论。

于 2012-11-04T00:04:47.947 回答