問題タブ [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.
.net - C#を使用してWindowsに接続し、Windows7の新機能を作成する
来たるWindows7の本当に便利なUI機能を見たところです(http://www.gizmodo.com.au/2008/10/windows_7_walkthrough_boot_video_and_impressions-2.htmlにアクセスし、「新しいウィンドウのサイズ変更のスーパーサイエンティフィックビデオ」というタイトルのビデオまでスクロールしてください。特徴)
簡単に言うと、タイトルバーの横にあるウィンドウを画面の上部にドラッグして最大化し、下にドラッグして復元し、画面の左端または右端にドラッグして、突き合わせた位置にスナップさせることができます。ドラッグした端に対して、画面の半分を占めるようにサイズを変更しました。
「似たような」ことをするキーボードベースのアプリがたくさんあることはわかっていますが、上記のようなシンプルで便利なマウスベースのプログラムは見たことがありません。あなたが1つを知っている(またはそれを書くのに十分賢い)なら、URLを投稿してください:)
とにかく、これを行うための小さなアプリを作成したい場合は、質問があります。
これを行うために小さなアプリを作成しようとした場合、.NETアプリとして作成できますか?Windowsのウィンドウのドラッグアンドドロップ処理にフックすることはかなり低レベルであり、C#.NETで実行できることではないかもしれません。
昼休みにこのような小さなアプリをノックアウトできる賢い人はいますか?;)少なくともWindows 7の発売前は、Windows7の機能を模倣したものは非常に人気があると確信しています。
編集: AeroSnapの連中(http://www.aerosnap.de/index_eng.htm)は、この機能を実装し、ダウンロード数で判断すると、人気のある機能でした。
svn - Subversion フックが証明書を永続的に受け入れない
誰かが私の質問に答えてくれることを願っています。
Subversion をセットアップし、Apache2+SSL でサービスを提供し、Web 開発を行っています。
テスト サーバーで svn update を実行するポストコミット フックが必要なので、誰かがコミットすると、テスト サイトが自動的に更新されます。証明書は自己生成されたものであり、信頼されていないため、フックは機能しません。
永久に受け入れようとしましたが、受け入れられません。
何か案は?
linux - Linux でのユーザー空間からの sycall のフック
Linux ですべてのシステムコールをキャッチする方法はありますか? 私が知っている唯一の解決策は、 LD_PRELOAD à la fakerootを使用することですが、それは動的にリンクされたアプリケーションに対してのみ機能します。さらに、このアプローチでは、すべてのシステムコールを列挙する必要がありますが、これは避けたいことです。
windows - Windows XP のロックまたはロック解除時にスクリプトを実行する
Windows XP マシンと Ubuntu を実行している Linux マシンがあります。Synergyを介して Windows マシンからキーボード/マウスを共有しています。私がやりたいことは、Windows マシンをロック/ロック解除するたびに Linux マシンをロック/ロック解除することです。
そのため、Windows が画面をロックまたはロック解除するときに、何らかの説明のスクリプトを実行できるようにしたいと考えています。
windows - Windowsグローバルスコープでドラッグ操作を検出するには?
Windows XP で画面の端にあるフォルダーをドラッグすると、フォルダー内のファイルを含むツールバーになります。
ウィンドウはドラッグ操作があることをどのように検出できますか?
システム スコープでドラッグ操作を検出するアプリケーションを作成したい場合、どうすればよいですか?
もう 1 つの問題: この Windows XP の機能を無効にするにはどうすればよいですか? 本当に面倒です。
windows - WH_SHELLまたはWH_CBTフックプロシージャが他のプロセスからイベントを受信するようにするには、何をする必要がありますか?
システム全体とイベントの通知を受け取るためのフックSetWindowsHookEx
を設定するために使用しようとしています。ドキュメントによると、 「フックプロシージャを、呼び出し元のスレッドと同じデスクトップで実行されているすべての既存のスレッドに関連付ける」必要がある最後の引数に0を渡します。また、私が見たすべての例と同様に、パラメーターのハンドルを( Delphiの)DLLに渡します。WH_SHELL
HSHELL_WINDOWCREATED
HSHELL_WINDOWDESTROYED
dwThreadId
HInstance
hMod
それでも、自分のアプリによって作成されたウィンドウの通知を受け取ることはありません。ほとんどの場合、アプリを閉じると、テストの結果、デスクトッププロセスが炎上します。あなたが尋ねる前に、私は電話しますUnhookWindowsHookEx
。また、常にCallNextHookEx
ハンドラー内から呼び出します。
限られたユーザーアカウントからテストアプリを実行していますが、これまでのところ、これが役割を果たすことを示すヒントは見つかりませんでした...(実際には驚きますが)
AFAICT、私は本ですべてをしました(明らかに私はしませんでしたが、今のところどこにいるのかわかりません)。
私はDelphi(2007)を使用していますが、それはそれほど重要ではないと思います。
編集:多分私は前にこれについて言及するべきでした:私はいくつかの例をダウンロードして試しました(残念ながらDelphiで利用できるものはそれほど多くありません-特にWH_SHELL
またはの場合はありませんWH_CBT
)。テストアプリのようにシステムをクラッシュさせることはありませんが、他のプロセスからのイベントをキャプチャすることはありません(ProcessExplorerでそれらが正常に読み込まれることを確認できますが)。したがって、システム構成に問題があるか、例が間違っているか、他のプロセスからイベントをキャプチャできないようです。誰かが私を啓発できますか?
EDIT2: OK、これが私のテストプロジェクトのソースです。
フックプロシージャを含むDLL:
そして、フックを使用したアプリのメインフォーム:
operating-system - グローバル キーボード フックの正当な用途は何ですか?
OS によってのみ提供されるべきアプリ起動ショートカット以外に、Windows キーボード フックなどの正当な用途は何ですか? オペレーティング システムは、OS カーネル自体以外のいかなる条件下でも許可されるべきではないことを行うためのフックを提供するため、キー ロガーのようなものにのみ問題があるように私には思えます。
編集: OK、それらが必要とされる正当な場所を考えると、O/S はそれらをグローバルにオフにし、プログラムごとにのみ例外を許可する高レベルの機能を提供するべきではありませんか?
dll - DLL へのアプリケーション呼び出しの監視
要するに、アプリケーションから DLL への選択された呼び出しを監視したいのです。
ソース コードを失った古い VB6 アプリケーションがあります (当時、会社はソース管理を使用していませんでした..)。このアプリケーションは、サード パーティの DLL を使用します。
この DLL を新しい C++ アプリケーションで使用したいと考えています。残念ながら、DLL API は部分的にしか文書化されていないため、一部の関数を呼び出す方法がわかりません。私は関数の署名を持っています。
VB6 アプリケーションはこの DLL を使用するため、いくつかの関数を呼び出す方法を確認したいと思います。これまでのところ、私は試したり見たりしました-
- APIHijack - 関数ごとに C++ コードを書く必要があります。値をログに記録するだけなので、やり過ぎのように思えます。
- EasyHook - 1 と同じですが、.NET 言語でコードを記述できます。
- uHookerを使用したOllyDbg - 今回は Python で、関数ごとにコードを記述する必要があります。
struct
また、ほとんどの関数はポインターを使用して値を渡すため、モジュールを使用して Python で多くの変換を行う必要があります。
関数パラメーターをログに記録するだけでよいので、簡単な解決策が必要です。監視する関数とその署名を特定し、詳細なログ ファイルを取得できる自動化ツールはありますか?
svn - Subversion フック
私は、アプリケーションがデプロイされる環境ごとに 1 つの構成ファイルがあるプロジェクトで作業しています。
開発者がこれらのファイルの 1 つを変更する場合、開発者はファイルを個別にチェックインすることはできませんが、すべてのファイルをまとめてチェックインすることは許可されていません。少なくとも、開発者には、これを行う必要があることを通知する必要があります。
どうすればそれを達成できますか?