問題タブ [hook]
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.
c# - C#で複数のウィンドウをフックするにはどうすればよいですか?
フォーカスを失ったときにウィンドウ (アプリの外部) を透明にするアプリケーションを作成しようとしています。ほとんどのこと (ウィンドウ ID の取得、透過設定など) は簡単ですが、1 つのことを除いて、ウィンドウをフックするにはどうすればよいですか?
linux - 子プロセスのファイルシステムアクティビティをインターセプトする方法
他のプログラムのラッパー/ランチャーとして機能するCで記述された小さなコマンドラインアプリケーションがあります(xargsを考えてください)。このアプリケーションは、FreeBSD / Linux(fork()/ exec()経由)およびWindows(CreateProcess())でコンパイルするように作成されています。子アプリケーションのコマンドライン引数をインターセプト、インジェクト、またはその他の方法で操作できることに加えて、子プログラムのファイルシステムアクティビティ(またはその子など)をインターセプトする簡単な方法があるかどうか疑問に思いました。私は主に、読み取りまたは書き込みのいずれかでアクセスされるファイル名だけに関心があり、そのファイルの内容には関心がなく、インターセプトを可能な限り軽量にしたいと考えています。
上からいくつかの関連するキーワードをグーグルで検索すると、Win32でこれを行う方法はたくさんあるようです。ファイルシステムフィルタードライバーからPEインポートテーブルヘッダーの改ざんまで。これらはどれも些細なことではなく、ラッパープログラムの実行可能ファイル内に自己完結できるものではありません(たとえば、ほとんどの場合、メインの実行可能ファイルと一緒に追加のDLLまたはドライバーファイルが必要になります)。また、可能であれば、これをWindows XP〜7で動作させたいと思います。 、UACまたは他のプラットフォームデルタをハックする必要はありません。これは私の子プロセスなので、そのアクティビティを安全に監視できるはずです:)
Linuxにはinotify()がありますが、これは私の子プロセスのみに関係なく、一般的なファイルシステムアクセスを監視します。FreeBSDのkqueue()についても同じことが言えます。これらは、ラッパーの複数のインスタンスが異なるプログラムを実行している可能性があり、それぞれが自分の子のファイルシステムアクティビティを相互に明確にする必要があるSMPの場合にも分類されます。
SOコミュニティが提供しなければならないかもしれない提案を確かに感謝します。
java - メソッドが stderr を生成するときに、情報を STDERR の先頭に追加するにはどうすればよいですか?
メソッドが STDERR への書き込みを生成するときにキャッチできる方法はありますか? 各STDERR書き込みでいくつかの情報を事前に保留しようとしています。
私たちの方法は次のとおりです。
次のようなものが生成されます
行 37:29 文字 'a' で実行可能な代替手段がありません
stderr が書き込まれるのをキャッチする何かでそれをラップし、いくつかの情報を前に保留して、代わりに次のように見えるようにすることはできますか:
ファイル: mybadfile.txt -- 行 37:29 文字 'a' に実行可能な代替手段がありません
STDERR 書き込みを行う実際のコードを掘り下げることができることはわかっていますが、実際にはそうしたくありません。代わりに、このメソッドの周りにいくつかのコードをラップするだけです。
このメソッドは常に STDERR を生成するとは限らないことに注意する必要があります-私がそれらをキャッチしようとしている理由は、STDERR を生成するべきではないということです-しかし、これはかなりの数のファイル (40 以上) で呼び出されるため、私はどのファイルがエラー メッセージを生成しているかわかりません。見つけるのに永遠に時間がかかります。
更新 して、STDERRを変更できるようにします-新しいSTDERRでprintlnをオーバーライドする必要があることを忘れていました...関連するコードは次のとおりです。
次に、テストしている各ファイルに対して、errfileをファイル名に変更するだけで、出力が期待通りになります...
どうもありがとう!
windows - Windows Mobile 5以降(スマートフォンプラットフォーム)のグローバルキーボードフック、どのように?
だから、私はC ++でそれをしなければならないと思います、誰かがこの問題について知っていますか?私はすでにどこでも検索していて、WindowsCEのキーボードフックに関する記事をいくつか見つけました。WindowsMobileはWindowsCEですよね?別の質問:どの無料のコンパイラ、Windows Mobile用のIDEを使用できますか?
svn - 何を取得するかをフィルタリングするための事前更新svnスクリプト
多くの種類のファイルを含むリポジトリを想像してください。次に、このリポジトリから「フィルタープロセス」である種のファイルを取得したいと思います。
つまり、すべてのファイルがバージョン管理されています。しかし、私のローカルの仕事では、ダウンロード *.jpg を無視して *.php ファイルを取得したいだけです。
クライアントサイトのフックスクリプト(更新前)について考えています。それが可能かどうか誰でも知っていますか?
ありがとう!
c++ - オブジェクトがC++の新しいスレッドに渡されるタイミングを検出しますか?
オブジェクトを参照しているスレッドの数を追跡したいオブジェクトがあります。一般に、オブジェクトのメソッドが呼び出されると、スレッドローカルブール値をチェックして、現在のスレッドのカウントが更新されているかどうかを判断できます。しかし、ユーザーが、boost::bindを使用してオブジェクトをboost::functionにバインドし、それを使用してboost :: threadを開始すると言った場合、これは役に立ちません。新しいスレッドは私のオブジェクトへの参照を持ち、そのメソッドのいずれかを呼び出す前に無期限にそのオブジェクトを保持する可能性があるため、カウントが古くなります。これを処理するためにboost::threadの周りに独自のラッパーを作成することもできますが、ユーザーのboost::bindが次のオブジェクトを含む場合は役に立ちません。私のオブジェクト(メンバータイプの存在に基づいて専門化することはできません-少なくともそれを行う方法はわかりません)そしてそれを使用してboost::threadを開始します。
これを行う方法はありますか?私が考えることができる唯一の手段は、ユーザーからの多大な作業を必要とします-渡されるオブジェクトに対して特別なフックメソッドを呼び出すboost :: threadのラッパーを提供し、オブジェクトが存在する場合、ユーザーは特別なフックメソッドを任意のクラスに追加しますそれは私のオブジェクトを含んでいます。
編集:この質問のために、私は新しいスレッドを作成する手段を制御していると仮定できます。たとえば、boost :: threadをラップして、ユーザーがラップしたバージョンを使用することを期待できます。ユーザーがpthreadなどを同時に使用することを心配する必要はありません。
Edit2:__thread
またはを介してスレッドローカルストレージを利用できる手段があると想定することもできますboost::thread_specific_ptr
。現在の標準には含まれていませんが、間もなくリリースされることを願っています。
drupal - ユーザーページでリクエスト先を実行する方法
ログに記録されたユーザーの試みを /user へのアクセスにリダイレクトしようとしています。
私のモジュールでは、ログイン後にリダイレクトする次のコード:
これは機能しています。次に、case 'view':を試してみましたが、役に立ちません。
c++ - TRUE を返す KeyboardProc によりパフォーマンスが低下する
ゲームへのアドオンのインターフェイスを開発しています。ゲーム API を使用できません (コードはゲームに依存しない必要があるなどの理由により)、ユーザーからキーボード入力を取得する必要があるため、キーボード フック (WH_KEYBOARD) を使用してユーザーを処理することにしました。特定の条件を満たしたときに入力します。
問題は、入力を正しく受信して処理できる一方で、フックがCallNextHookExの代わりに TRUE を返すと、システムが期待どおりに処理を進めるまでに多くの時間 (800 ミリ秒をはるかに超える) がかかるように見え、それが受け入れられないことです。流動的なタイピング体験さえ許しません。
私が達成しなければならないことは、キー プレス メッセージが WndProc に到達するのを防ぐことです。したがって、問題は、ゲームのパフォーマンスをあまり損なわずに目標を達成するにはどうすればよいかということです。
編集:特定の要件 (不正行為に関連していないにもかかわらず、私のコードで問題を引き起こす可能性のあるアンチチートを使用するゲーム) のため、アクティブな wndproc をサブクラス化することはオプションではありません。
python - twisted.web (または twisted.web2) にフックを追加するには?
twisted.web でリクエストを処理する前後にフックを追加するにはどうすればよいですか (twisted.web2 も問題ありません)。webpy に相当するもの:
ありがとう!
php - Git pre-commitフックでSTDINから読み取る(PHPを使用)
git-commit
標準入力を待つ方法を探しています。私のスキルは存在しないのでPHP
、bash
私はこれをコーディングしています、それで私は定期的にやっていると思います
トリックを実行し、何かを書き込むまで待って続行しますが、それは先に進み、とにかくPHPスクリプトを実行し続けます。
この背後にある考え方は、リリースにタグを付けた後、gitがHEAD
テスト用Webサーバーにプッシュし、いくつかのツイートを送信して、CHANGELOGにリリースに関する詳細を書き込めるようにすることです。
(を使用して)ファイルへの書き込みを実行することはできexec('mate -w')
ますが、サーバーで簡単なテストを実行するまで、ファイルを保持したいと思います。これにより、エラーに気付いた場合にロールバックできるようになります(怠惰なことはわかっています)。
助けてくれてありがとう!