0

ここで見ることができる TF2idle と呼ばれるプログラムを編集しています: http://facepunch.com/showthread.php?t=1161862

その人の情報源を使用して選択されたアカウントを最適化するためのボタンを追加しています。

これがすべての魔法が発生する場所であり、デフラグボタンを追加するために編集する必要がある場所であることがpythonファイルでわかりました。

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」を起動することで、自動的に実行されます。たとえば、Google Chrome のアドレス バーにそのアドレスを入力すると、Steam に ID 440 (TF2) のプログラムをデフラグするように指示されます。

つまり、それをスクリプトに追加する方法がわかりません。「steam://defrag/440」を含むBATファイルを追加し、336行目にそのBATファイルを起動する行を追加することを考えていました。

ここの誰かが私がこれを達成する方法を知っていることを願っています。

2 つ目の問題は、編集が終了した後でこれらすべてのソース ファイルを .EXE に変換する方法がわからないことです。これはすべて私にとって高度なものであることはわかっていますが、コンピューター サイエンスの大学に行きたい場合は学習を開始する必要があります。さらに、これはこのツールを使用する多くのユーザーに本当に役立ちます。

4

3 に答える 3

3

あなたはwebbrowser モジュールが欲しいと思います:

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

これ自体は回答とは見なされない場合がありますが、質問も実際には質問とは見なされないため(:-P)、ここにいくつかのヒントがあります。

  • steam://Steamクライアントは、プロトコルのURLハンドラーとして自分自身を登録します。
  • webbrowserモジュールを使用して提案したワークフローを実現できるはずです。
  • BATファイルで実行できることはすべて、Pythonスクリプトで実行できます。
  • 一般に、Pythonスクリプトはコンパイルされません(たとえば、.exeファイル)。と いえ、インタープリター、コード、および依存関係を.exeファイルパッケージにラップするpy2exeがあります。

編集:最後のビットに関するあなたの質問に対するエリックのコメントを参照してください。

于 2012-11-04T00:04:47.947 に答える
1

そのアドレスへのリクエストだけを行いたい場合、python はそれを処理するための単純なモジュールを提供します。

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