2

来たる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)は、この機能を実装し、ダウンロード数で判断すると、人気のある機能でした。

4

7 に答える 7

6

公式の方法があります:WindowsAPIコードパック

Microsoft®.NETFramework用のWindows®APIコードパックは、管理対象コードからいくつかの新しいWindows 7機能(および古いバージョンのWindowsオペレーティングシステムのいくつかの既存の機能)にアクセスするために使用できるソースコードライブラリを提供します。これらのWindows機能は、現在.NETFrameworkの開発者は利用できません。

このバージョン(v1.0)のライブラリでサポートされている個々の機能は次のとおりです。

Windows 7タスクバージャンプリスト、アイコンオーバーレイ、プログレスバー、タブ付きサムネイル、およびサムネイルツールバー。Windows 7ライブラリ、既知のフォルダー、非ファイルシステムコンテナー。Windowsシェル検索APIのサポート、シェル名前空間エンティティの階層、およびシェルオブジェクトのドラッグアンドドロップ機能。エクスプローラーブラウザコントロール。シェルプロパティシステム。カスタムコントロールを含む、WindowsVistaおよびWindows7の共通ファイルダイアログ。WindowsVistaおよびWindows7のタスクダイアログ。

于 2009-08-12T09:55:43.020 に答える
1

すべてのアプリケーション、つまりデスクトップ上のすべてのウィンドウで機能するフックを作成することが目標の場合、マネージ コード アセンブリは使用できません。C++ などの従来の DLL を生成する言語で記述する必要があります。

実行中のすべてのアプリケーションにフックするシステム レベルでフックするには、実行中のすべての AP のアドレス空間に配置できる dll を提供する必要があります。ほとんどの人が日常的に使用しているアプリの大部分は、マネージド .net フレームワーク アプリではないと言っても過言ではありません。

于 2008-10-30T04:48:07.870 に答える
0

これらの記事を見てみてください:

于 2008-10-30T13:26:46.950 に答える
0

pinvoke.net

これは、.NETアプリケーション内からPInvokeを介してWindowsAPIを使用するための優れたリファレンスWebサイトです。

于 2008-10-29T21:47:56.253 に答える
0

回答していただきありがとうございます。PInvoke を使用してチェックアウトします。ウィンドウへのフックと、ドラッグされたウィンドウの移動/サイズ変更の両方を実際に実行するために、Windows APIをヒットする必要があると思いますか?

于 2008-10-30T00:32:27.917 に答える
0

これもチェックしてみてください。説明、ソースコード、および公式の MSDN ドキュメントへの参照があります。

http://www.josefcobonnin.com/post/2007/06/19/Hook-Keyboard-and-Mouse.aspx

于 2009-01-18T10:30:51.490 に答える
-1

はい、C# から PInvoke を介してこれを行うことができます。そのような API を学習する最善の方法は、Bblean などのソースを調べることです。これにより、知っておくべきことがわかり、PInvoke に公開するのは非常に簡単です。

于 2008-10-29T21:44:46.103 に答える