問題タブ [pyhook]

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 投票する
3 に答える
1396 参照

multithreading - tkinter + pyhook を使用するとフリーズします。2 つのイベント ループとマルチスレッド

ユーザーがキーボードまたはマウスボタンを押した回数を登録するPython 2.7でツールを作成しています。クリック数は、画面左上の小さな黒いボックスに表示されます。プログラムは、別のアプリケーションがアクティブな場合でもクリックを登録します。

ボックスの上にマウスを移動する場合を除いて、正常に動作します。その後、マウスが数秒間フリーズした後、プログラムが再び動作します。次にマウスをボックスの上にもう一度移動すると、マウスは再びフリーズしますが、今度はプログラムがクラッシュします。

pumpMessages() をコメントアウトしてみましたが、プログラムは機能します。問題はこの質問pyhook+tkinter=crashによく似ていますが、解決策はありませんでした。

他の回答は、python 2.6 で wx と pyhook を一緒に使用すると、dll ファイルにバグがあることを示しています。それがここに関連しているかどうかはわかりません。

私自身の考えでは、2 つのイベント ループが並行して実行されていることに関係があるのではないかと考えています。tkinter はスレッド セーフではないことを読みましたが、pumpmessages() と mainlooop() の両方を実行する必要があるため、このプログラムを単一のスレッドで実行する方法がわかりません。

要約すると、マウスオーバーでプログラムがフリーズするのはなぜですか?

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

python - Pythonでマウスのサイドボタンを検出する方法

pyhook とクリックイベントの属性を使ってきましたがmessage、標準の 3 つのボタンしか検出できないようです。他の人はハンドラーにさえ到達しません。

マウスに追加されたボタンを検出する方法はありますか?

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

python - Python Alt フック

問題に遭遇したとき、私はこの型記録プログラムを書いていました - Altkey は Ascii 番号を持っていないので、通常の方法でそれをフックすることはできません。これは私のソース コードAltですAlt。「Alt」という名前のクラス変数と「IsAlt」という名前の組み込み関数があることは知っていますが、それらの使用方法がわかりませんでした。

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

windows - pyhook ユーザーキーボード

Windows 7、Python 2.7 を使用して、以下のコードを作成してコンパイルしました (pyinstaller2-0 を使用)。右クリックして起動し、[管理者として実行] を選択すると正常に動作しますが、システム ユーザーとしてタスク スケジューラから起動すると、キーはログに記録されません (10 秒間待機した後、空の出力ファイルが作成されるだけです)。別のアカウントで実行しているため、「正しいキーボード」をフックしていないのではないかと考えています。

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

python - 間隔を置いてPyHookを使用しながらPythonでメールを送信する

pyHookを使用して、キーボードとマウスのアクションをフックしています。プログラムの実行中にフックのログが作成されます。PunpMessagesがまだ機能していて、フックアクションがまだ実行されている間、5分ごとにログを電子メールに送信したいと思います。Pythonでメールを送信する方法は知っていますが、一定の間隔で送信する方法がわかりません。

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

python - APScheduler の問題

pyHook を使用してコンピューターのキーをフックし、これらのキーのログを作成しています。今、私はこのログを間隔で送信しようとしていますが、取得するのはこれだけです:ロガー「apscheduler.scheduler」のハンドラーが見つかりませんでした

これは私のコードです。どうすればよいですか?

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

python - Pyhookは、6回押すと、重要なイベントのキャプチャを停止します

pyHookを使用して、キーが押されたときにマウスを動かすスクリプトを作成しました。問題は、6回のキー押下イベントの後、スクリプトがキー押下の取得を停止し、タスクマネージャーから終了する必要があることです。

私はWindows7マシンでPython2.7を使用しています。同様の問題に対する答えを持っている人は他にいません。

コードはマウスをフックするように設計されており、クリックしたらカーソルを移動し、マウスのフックを外してキーボードをフックします。そこでは、キーボードフックは6つのイベントに対してのみ機能します。マウスとキーボードの両方をフックしたままにすると、各フックは6つのイベントに対してのみ機能します。誰かが問題が何であるか、そしてそれを修正する方法について何か考えを持っていますか?

更新:私は解決策を見つけて以下に回答を投稿しましたが、そもそもなぜ問題が発生したのか、そして解決策がそれを修正する理由を説明できる回答をいただければ幸いです。

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

python - win32api&pyhook-ユーザーの入力言語を取得するにはどうすればよいですか?

pyHookをインストールし、キーボードイベントにハンドラーを正常にアタッチしましたが、ユーザーが英語のレイアウトと他のレイアウトのどちらを入力しているかを確認する必要があります。イベントオブジェクトでこの情報を見つけることができませんでした。

フォーカスされたウィンドウの入力言語をウィンドウで見つけるにはどうすればよいですか?GetKeyboardLayoutで遊んでみましたが、うまくいきませんでした(英語で入力しても、別の言語で入力しても、常に同じ値が返されます。私の場合はヘブライ語です)。

ありがとう

BrendanMcKのリファレンスのおかげで解決しました。

Pythonコード:

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

windows - KeyDown [ctrl]+[c] で pyHook.HookManager() を使用すると Python がクラッシュする

システム全体で押したキー (キーロガー) を記録し、タイピングの習慣に関する情報を自宅に呼び出す Python スクリプトを作成しています。私はPythonが初めてで、このアプリケーションを使用して学習しています。私はpython-3.xとwindows 8を使用しています

完全なソース コードは、 https://github.com/funvill/QSMonitor/blob/master/monitor.pyにあります。

このスニペットを使用すると、システム全体ですべてのキープレスを記録できます。問題は、[ctrl]+[c] で別のウィンドウに何かをコピーすると、Python コードがクラッシュすることです。

再現する手順

  1. monitor.py スクリプトを実行する
  2. 別のウィンドウ (notepad.exe) で、いくつかの文字 (abcd) を入力します。
  3. メモ帳で文字を強調表示し、[ctrl] を押しながら [c] を押します。

経験者:

Windows のエラー メッセージがポップアップし、python.exe が機能を停止したため、再起動する必要があることが通知されます。コマンド ウィンドウに Python エラー メッセージは表示されませんでした。

私の質問は:

  • コピーと過去のクラッシュの原因は何ですか?
0 投票する
1 に答える
354 参照

python - pyhook pumpmessages で独自のコードを使用する

キーを書き込んでいるファイルが 2Kb を超えているかどうかを確認したい。2KB を超える場合は、別のファイルを作成して、このファイルへの書き込みを停止する必要があります。私はPythonの初心者です。これを手伝ってください。ファイルが 2kb を超えているかどうかを確認するためのコードをどこで使用できるかを示してください。

あなたが助けてくれることを願っています