問題タブ [pywin32]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - IronPython での win32service モジュールの使用
ねえ、私が持っている既存の IronPython スクリプトを取得して、それをサーバーの 1 つで常に実行される Windows サービスに変換しようとしています。残念ながら、必要なモジュールを取得できないようです。pywin32 拡張機能 ( http://sourceforge.net/projects/pywin32/ ) をダウンロードしましたが、このサーバーには IronPython しかインストールされておらず、vanilla 2.6 インタープリターがインストールされていないため、それらをインストールできません。これを手伝ってくれる人に感謝します。
python - Windows7ではGetWindowRectが小さすぎます
私が解決しようとしている実際の問題は、窓の周りの余白のサイズを自動的に見つけたいということです。より良い方法を見つけることができたら、これの代わりに必ず答えてください。
これを行うために、テストウィンドウのスクリーンショットを撮り、マージンを測定することにしました。余白が明るいピンクになることはないと思うので、これは十分に単純ですが、それはハックだと認めます。GetWindowRect(py)を使用してバウンディングボックスを取得し、 PILを使用してスクリーンショットを取得してバウンディングボックスにトリミングします。問題は、クロップが正しく動作しているのに、バウンディングボックスが正確でないことです。Windows7の「SnippingTool」は正しいサイズを取得します。どうすれば同じことができますか?
python - 英語以外のWindowsタイムゾーン名をPythonのOlsen名にマップするにはどうすればよいですか?
を呼び出すとwin32timezone.TimeZoneInfo.local().timeZoneName
、現在のロケールのタイムゾーン名が表示されます(たとえば、日本のマシンでは、が返されますu"東京 (標準時)"
)。
この名前を、で使用するためにOlsenデータベースのタイムゾーン名にマップしたいと思いますpytz
。CLDR windowZones.xmlは、英語の名前をマップするのに役立ちますが、日本語の名前を処理できません。
名前を英語に戻すにはどうすればよいですか(Tokyo Standard Time
この場合はそうする必要があります)?
python - Python: 現在ログインしているユーザーとその特別なフォルダーを取得する
このコードはwin32api.GetUserName()
、win 2000 から win 7 までのすべての win システムで正常に動作しますか? ユーザーがローカル ユーザーではなくドメイン ユーザーである場合、それは機能しますか?
この機能shell.SHGetFolderPath(0, shellcon.CSIDL_someDirectory, 0, 0)
を使用すると、現在ログインしているユーザーの必要なフォルダーを取得できますか?
どんな助けでも感謝します。
python - チームプレーヤーとpyhookが奇妙に相互作用している
私はteamplayerを使用しています。これにより、より多くのマウスをコンピューターに接続して同時に使用できます。また、次のコードを使用して、pyHookを使用してマウスイベントをキャプチャしています。
このコードは、チームプレーヤーがなくても正常に機能します。マウスボタンの上下を正確に検出します。プログラムの実行中にteamplayerを起動すると、引き続き正常に機能し、今回は両方のマウスからのクリックを正確に検出します。
ただし、teamplayerの起動後にプログラムを起動すると、すべてのマウスクリックが2倍になります。
これは問題ありません。同じタイムスタンプのクリックを検出し、2番目のクリックを無視することができます。ただし、別のマウスでクリックすると、パターンが奇妙になります。
つまり、最初のダウンイベントは、最後のアップイベントの座標を使用します。問題は、間違ったイベントが最初に発生し、正しいイベントを検出するのが難しくなることです(チームプレーヤーがオフになっている場合、またはマウスが1つしか接続されていない場合は、それだけであるため、「最初のイベントを無視する」とは言えません。 )。
なぜこれが起こっているのか、そして通常のマウスイベントを取得するために私ができることについてのアイデアはありますか?
python - cの構造をpywin32に変換しますか?
私はpywin32TTM_GETTEXT
を使用して使用しようとしています。SendMessage
問題は、lparam
テキストを格納する場所である の構造が である必要があることですTOOLINFO
。これは、MSDN で十分に文書化されていますが、pywin32 には対応するものはありません。Python と pywin32 を使用して同じ構造を作成する方法はありますか?
編集:を使用して思いついたコードは次のとおりですctypes
。Structure
forをTOOLINFO
作成し、そこからバッファを作成して pywin32 の に渡しSendMessage
、それをTOOLINFO
ctypes
Structure
. 唯一の問題は、それが機能していないことです:
テキストは印刷されていませんが、抽出したいツールチップのテキストが含まれているはずだと思いました。の使用方法に何か問題がありctypes
ますか? wnd
と の値が正しいと確信しているw_wnd
ので、何か間違ったことをしているに違いありません。
python - bundle_files=1 の場合、py2exe + pywin32 MemoryLoadLibrary インポートが失敗する
pywin32 を使用する簡単なプログラムを作成しました。実行可能ファイルとしてデプロイしたいので、py2exeしました。また、膨大な量のファイルが必要なかったので、1 に設定bundle_files
しました (すべてをまとめてバンドルすることを意味します)。ただし、実行しようとすると、次のようになります。
私のセットアップ スクリプトでは、オプションとしてpackages=["win32ui"]
andを実行しようとincludes=["win32ui"]
しましたが、それは役に立ちませんでした。py2exe に win32ui.pyd を含めるにはどうすればよいですか?
ファイルをバンドルするように依頼しなければこの問題は発生しないので、今のところはバンドルできますが、適切に機能させる方法を知りたいです。
python - Python を使用して GUI プログラムからテキストを送受信する
PyWin32 の win32process.CreateProcess を使用して、Python クラスで使用したい機能を持つ GUI プログラムを起動しています。
この GUI を使用して、Python から次のことを実行したいと考えています。
- GUI内の個々のウィンドウにテキストを送信しました(WinSpy ++が信じられる場合、プロセスを作成するたびに識別子が変わるようです)、
- GUI のボタンをクリックして、計算を構成および開始します。
- GUI から計算出力を取得します (これにより、GUI 内のテキスト出力または保存ファイル出力のいずれかが可能になります)。
簡単な質問: これらのタスクを達成するには、どの Python/PyWin32 機能を調査する必要がありますか? 私は実際のコードを探しているのではなく、これらのことを自分で行う方法を学ぶために調査すべき領域を探しているだけです。Learning Python、Programming Python、および Python Programming on Win32 のほとんどをスキャンしましたが、そこに答えがあるかどうかわかりません。
ありがとう、
マイク
python - python + windows: 現在のプロセスとは無関係であるかのように exe を実行する
subprocess.Popen
実行可能ファイルを実行するために使用できることを知っており、stdin と stdout をファイルにリダイレクトしたり、プロセスへのパイプを使用したりする可能性があります。ただし、生成されたプロセスが現在の Python プロセスと関係がないように実行可能ファイルを実行する方法はありますか? つまり、.exe をダブルクリックするのと同じ方法でプロセスを開始するか、[スタート] -> [ファイル名を指定して実行...] にその名前を入力します。
python - Python を使用してフォルダーの Exchange ACL を変更する
フォルダーの ACL テーブルを読み込もうとしているときに、次の問題に遭遇しました。
C++ ツール (MFCMAPI) では、このメソッドを使用して、プロパティ PR_ACL_TABLE を使用可能なデータ型で取得します。
私はpython win32でこれを行うことを考え出しました:
しかし、MAPI 拡張は IID_IExchangeModifyTable 型を認識していないようです。私はちょうどこのエラーを得ました:
属性エラー: 'module' object has no attribute 'IID_IExchangeModifyTable
'
MAPI(およびpython)を介して交換からACLデータを取得および変更する別の方法を知っている人はいますか?
ありがとう - マーキーズ