問題タブ [pythoncom]

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.

0 投票する
2 に答える
11894 参照

python - pyrtd/pythoncom を使用して「pywintypes.com_error」を回避するには?

Python のpyrtdモジュールを使用して、RTD を介して Excel で取得できる情報を取得しようとしています。

ただし、サンプルの python スクリプトを実行しようとすると、次のエラーが発生します。

他のいくつかの RTD 関数を試してみましたが、時々 (Dllname.function_nameのパラメーターとして使用している場合RTDClient()) 次のようになります。

これらの RTD 関数はすべて、Excel 2010 で適切に機能します。

Python の解決策はまだ見つかっていませんが、C# で利用できるいくつかのヒントを確認しました。

基本的な考え方は次のとおりです。

  1. 登録テーブルから rtd サーバーのクラス タイプを取得しますProgID(たとえば、regsvr32を使用して dll を登録している場合は、 でRTDTime.RTD見つけることができます)。HKEY_LOCAL_MACHINE\SOFTWARE\Classes\RTDTime.RTD

    C# では、関数はType.GetTypeFromProgID(). Python module にも同じ機能があると思いますwin32com

  2. IRtdServerサーバー クラスを( )にキャストしますMicrosoft.Office.Interop.Excel.IRtdServer

  3. 次にIRtdServer.ConnectData(topicID, topics, newData)、データを取得するために使用できます。

    • topicID任意のランダムなようintです。
    • topicsは Excel で使用したパラメーターで、配列です。
    • newDataキャッシュされたデータではなく、新しいデータを要求する場合は、boolに設定します。True
  4. ただし、データを自動的に更新したい場合は、コールバック イベントが必要になると思います。

リンクされたブログ投稿によると、イベント クラスは からも取得できますprogIDしかし、reg テーブルには何も見つかりませんでした

C# では、IRTDUpdateEvent. しかし、Pythonでそれを処理する方法がわかりません。

誰かがこれらのエラーを回避するのを手伝ってくれますか?

0 投票する
3 に答える
7537 参照

python - 特定のアプリケーションにフックして使用すると、KeyDown で pythoncom がクラッシュする

キーダウンモーションのイベントを観察するために、このコードを書きました。問題は、このスクリプトを実行すると、特定のプログラムがこのプログラムをクラッシュさせ、次のエラー メッセージが表示されることです。

クラッシュが確認されたプログラムには、Skype、Sublime Text 2 などがあります。

デバッグを数回試行した後、問題は最終行で発生しているように見えますが、絞り込むことができないようです。また、コンパイラによって返される KeyboardSwitch() の意味もわかりません...

また、プログラムがこのエラー メッセージを交互に返すこともわかりました。

原因は何ですか?また、これを修正するにはどうすればよいですか?

PS初心者として、私はpythoncomの機能にあまり慣れておらず、オンラインの定義はかなり曖昧に見えます。pythoncom と PumpMessages の機能に関する説明をいただければ幸いです。

ありがとう

0 投票する
0 に答える
931 参照

python - 私の小さなキーロガーが一部のメールを送信しないのはなぜですか?

500 キーが押されるたびに電子メールを送信する単純なキーロガーを作成しました。そしてその働き。しかし、信頼できるものではありません。メールが送信されることもありますが、送信されないこともあります。たとえば、キーを 1500 回押すと、500 個のキーがログに記録された 3 つのメールになるはずです。しかし、私は 3 つの電子メール、2 つ、1 つ、またはゼロを受け取ることができます...何が失敗したかに応じて... このコードを見て、その理由を教えていただけますか?

0 投票する
1 に答える
10470 参照

python - Python-pythoncom.PumpMessages()

pythoncom.PumpMessages()関数またはpythoncomモジュールについて説明されたドキュメントがあまりないことに驚いています。

では、何をし、どのようpythoncom.PumpMessages()pythoncom.PumpWaitingMessages()行うのでしょうか? 私が実際に知っているのは、入力デバイスからイベントをキャッチするために使用されることだけです。

0 投票する
1 に答える
180 参照

python - Anaconda Python 2.7 x32 の問題を解決するための支援が必要です

Anakonda Python 2.7 x32 パッケージをインストールしましたが、native pythoncom-library を使用できません。

インストールされているサードパーティ ライブラリの完全なリスト:

  • PySide
  • ftputil
  • ruamel.yaml/PyYAML
  • PyPDF
  • シンプルなjson
  • PyInstaller
  • sqlparse
  • パディング
  • wmi

エラーの詳細はこちら:

0 投票する
1 に答える
683 参照

python - Google Chrome の Python キーロガー

Python で簡単なキーロガーを作成しましたが、Google Chrome がフォアグラウンド アプリケーションの場合にのみ実行するようにします (ユーザーが Google Chrome 内にいる場合のみ、キーロガーはフックします。ユーザーが Chrome を離れると、キーロガーは停止します)ユーザーが初めて Chrome に入ったときは完全に機能しますが、フォアグラウンド アプリが別のアプリに切り替えられた場合、キーロガーは継続します。問題は pythoncom.Pupmessages() の行にあることがわかりました。この行の後にコードが続くことはありません。誰かが解決策を持っていますか?

0 投票する
1 に答える
4485 参照

python - win32com イベント ハンドラに引数を渡す方法

以下のコードは正常に動作します。from にいくつかの引数を渡したり、 fromEventHandlerのメソッドを呼び出したりする方法が見つかりません。たとえば、定数を使用する代わりに、コンストラクターまたはセッター メソッドを介して渡したいと思います。ここからの推奨事項を試しました。ただし、この場合、インスタンスはイベントをキャッチしません (または、少なくとも stdout には何も表示されません)。MainClassEventHandlerparamEventHandler

0 投票する
1 に答える
489 参照

python-3.x - Py2EXE コンパイル済み pyhook バイナリ エラー

pyhook と pythoncom を使用して、いくつかの python スクリプトをコンパイルしていました。pyHook.cpyHook から _cpyHook という名前のモジュールが欠落していることを通知した後、ビルドは成功しました。.exe ファイルを起動すると、このインポート エラーが返されます。

私はこれをグーグルで検索し、これらのソリューションを次のように試しました

  1. pyHook._cpyHook.pyd の名前を _cpyHook.pyd に変更する
  2. _cpyHook.pyd と cpyHook.py を site-packages\pyHook から site-packages にコピーして貼り付けます。

これはどれも私にとってはうまくいきませんでした。