問題タブ [deskband]
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# - 特定のツールバーを開く(または閉じる)ようにプログラムでWindowsタスクバーに指示するにはどうすればよいですか?
タスクバーで実行されるツールバーを作成しました。残念ながら、インストール後、ユーザーは手動で有効にする必要があります。特定のツールバーを開く(または閉じる)ようにエクスプローラーに指示する方法はありますか?
インストールが完了したら、インストーラーであるNSISにツールバーをオンにしてもらいたいです(プラグインが必要になることはわかっています)。
また、複数のユーザーがPCを共有する企業環境など、すべてのユーザーに対してツールバーを自動的に有効にできるかどうかも知りたいです。
toolbar - BHO から IE アドオンをアクティブ化する
デスクバンド ツールバーと IE 用の bho という 2 つのオブジェクトを作成しました。目標は、インストール後に bho がツールバーを表示することです。Microsoft のアプローチは、pBrowser->ShowBrowserBar(&vtBandGUID, &vtShow, 0); を使用することです。
この方法は、アドオン マネージャーを介して既にアクティブ化されているツールバーを表示および非表示にするのに適していますが、非アクティブ化されたアドオンでは機能しません。アドオン マネージャーとまったく同じこと (特定のアドオンの有効化/無効化) をプログラムで行う方法はありますか?
toolbar - DeskBand タスクバー ツールバーの C# で ComboBox の GDI+ レンダリングを強制する方法は? (透明性の問題)
Codeproject の BandObjectLib (Extended Explorer with Band Objects using .NET and Windows Forms ) を使用して DeskBand タスクバー ツールバーを実装し、IDeskBand2 インターフェイスをサポートするように変更しました。これにより、Windows Vista の [スタート] メニューで DeskBand タスクバー ツールバーが透明性を維持できるようになります。有効になっています。ただし、コンボボックスまたはテキストボックスに表示されるテキストは、元のテキストの色とブレンドされた下にあるデスクトップの背景の色を表示します。
ラベルは通常、レンダリングされたテキスト (ラベルの背景ではない) の DWMComposition を無視する GDI(+) を使用して描画されるため、この問題はありません。
問題は、次のページで説明されている特定のテキスト要素に関して、DWM が Vista で動作するためだと考えました。
Aero Glass で Vista コントロールを使用する
Windows Vista Aero Pt. 1 - Windows フォーム アプリケーションへの Glass の
追加 レガシー Windows アプリケーションへの Aero Glass の追加またはレトロフィット
私は DeskBand ツールバーでコンボボックスのみを使用しているため、システムで DWM が有効になっていて、IDeskBand2 インターフェイスの実装を通じて DeskBand で有効になっている場合でも、DWM を使用してコンボボックスを強制的に表示しないようにする方法を知る必要があるだけです。
更新:さらに調べたところ、「Aero Glass をレガシー Windows アプリケーションに追加またはレトロフィットする」の C++ コードが、これを機能させるための最も可能性の高い賭けのように思われるため、コンボボックスの表示テキストは透明ではありません。誰かがコンボボックスに関連するそのコードを見て、C# コンボボックスで動作させるのを手伝ってくれるなら、それは私の月になるでしょう! うまくいけば答えを得るための賞金を開始しました。
以下は、上記のプロジェクトの EditProc.cpp クラスです。これにより、私が解決策として検討しているものを簡単に確認できます。全体像を把握するには、プロジェクト全体を見る必要があります。
ありがとうございました、
John Rennemeyer
MuvEnum、LLC
c# - Windows 7 用デスクバンド
codeprojectのチュートリアルに従って、Windows XP 用のデスクバンドを作成しました。それは完璧に機能します。しかし、一部のユーザーは Windows 7 を使用しており、私が作成したデスクバンドを使用できないことがわかりました。誰でも問題を解決する方法を教えてもらえますか?
更新: Windows 7 ユーザーがデスクバンド (msi ファイル) をインストールした後、Windows ツールバーに表示されません (タスクバーでマウスを右クリック > ツールバー > )。ただし、デスクバンドは Windows 7 の IE のツールバーに表示されます (BandObject は Windows ツールバーと IE ツールバーのデスクバンドを作成します)。
ありがとう!
c# - DeskBandsをWindows7x64で動作させる方法は?
WindowsタスクバーにDeskBandがあるアプリケーション(C#)を作成します。これを行う完全なサンプルプログラムを1つ見つけましたが、正常にインストール(タスクバーのツールバーメニューに追加)できませんでした。私のWindowsがx64であるためだと思いますが、他に目に見える理由はありません...
だから、私の質問は、デスクバンドを作成してWindows 7 x64タスクバーに追加する方法ですか?
c# - Windows 7 x64 C# のデスクバンド?
C# で BatteryBar のようなデスクバンド アプリを作成したいと考えています。デスクバンドは Windows の将来のバージョンでは機能しない可能性があること、マネージ コードでエクスプローラー拡張機能をコーディングしないことなどを理解しています。私の質問は、C# でデスクバンド (またはデスクバンドのシミュレーション) を作成する現在推奨されている方法は何ですか? 前もって感謝します!
.net - デスクバンドは変更できません
codeproject (http://www.codeproject.com/KB/shell/dotnetbandobjects.aspx) のチュートリアルに従ってデスクバンドを作成しました。
デスクバンドを取り付けた後、何か変更する必要があることに気付きました。そのため、デスクバンドをアンインストールし、コードに戻ってコードを編集し、ソリューションを再構築して、デスクバンドを再インストールしました。ただし、タスクバーでは、デスクバンドは何も変更されていないと表示され、変更しても変更はありません。それがなぜなのか、誰もが知っていますか?
internet-explorer-8 - IE 保護モードが有効になっていると、デスクバンドのツールバー ボタンが表示されない
現在のタブの URL を使用して tcp メッセージを別のプロセスに送信するアドオン ボタンを開発しました。それだけです
私の経験はマネージ コードに限られているため、この記事を使用しました.NET と Windows フォームを使用してバンド オブジェクトでエクスプローラーを拡張する
私のツールバーボタンを作成します。問題は、Windows Vista および 7 で IE 保護モードが有効になっていると、完全に表示されないことです。
この記事を読みましたhttp://msdn.microsoft.com/en-us/library/bb250462(VS.85).aspx#wpm_elebp
デスクバンドの GUID を使用して昇格ポリシーを作成しましたが、まだ使用されていません
マネージド コードの観点からこの状況を処理する方法はありますか?
com - Inproc COM サーバーに新しいインターフェイスを追加して実装する方法
Windows デスクバンドを (Windows SDK サンプルを使用して) 実装しましたが、それと通信する方法が必要です (別のアプリケーションで IPC を開始するための 1 つの呼び出し、IPC は既に動作しています)。
私の COM の経験は非常に限られていますが、私が見てきたことから推定すると、新しい COM インターフェイスを作成し、それをデスクバンド オブジェクト (IBandSite 経由でアクセスできる) に実装し、QueryInterface() を呼び出すことができるはずだと思います。独自のインターフェイスを接続し、それを使用してデスクバンドに直接電話をかけます。
私はこれを試しましたが、すぐに問題に遭遇しました(主な理由は、ほとんどの場合、実際に何をしているのかわかりません...)
それで、私の質問は次のとおりです。これは実行可能なアプローチですか、誰かがそれが実行可能な場合の進め方の概要を教えてもらえますか(または、役立つ可能性のあるリソースを指摘してください-COMの本を読むことはできませんが、これが私の最後のアプローチです) . そうでない場合、代替手段が思い浮かびますか?
お時間をありがとうございました。
レネ。
delphi - デスクバンド(タスクバーツールバー)のフォームを透明にする方法
私は、Windows XP、Vista、および7(Win32およびWin64)用のDelphiXE2でWindowsDeskbandに取り組んでいます...
必要なすべてのインターフェイス(ITrayDeskBand、IDeskBandInfo、IDeskBand2、IDeskBand)をコードに実装しましたが、すべてが正常に機能します(Vista / 7には、他の人が経験したように互換性について不平を言う警告はありません)。
私が抱えている問題は、私のデスクバンドフォームが不透明なバンドで表示されることです。また、特定のコントロールのみが表示されます(この場合、PNGを含むTBitBtnおよびTImage)。TEditオブジェクトとTComboBoxオブジェクトも正しく表示するために必要ですが、まったく表示されません。
GlassFrame
フォームでプロパティを有効にしてみましSheetOfGlass
たが、これは少し役に立ちません。
さらに、フォーム自体がタスクバーの上部境界を超えています。つまり、カーソルがデスクバンドのすぐ上のタスクバーの上部と一列に並んでいる場合、タスクバーのサイズを変更することはできません。
DelphiのVCLTFormタイプが舞台裏で行っていることがあり、TFormタイプをDeskbandコンテナとして互換性がないものにしていると思います...しかし、これは単なる疑いです。
さまざまな問題を説明するスクリーンショットを次に示します。
ご覧のとおり(上)、デスクバンドのフォームは(透明ではなく)淡く、タスクバーの上部に重なっています(タスクバーが「非表示」のときにサイズ変更と自動非表示がトリガーされるのを防ぎます)
何か案は?
UPDATE 1 さて、私は遊んでいて、フォームではなく、デスクバンドに使用されるTToolBarコントロールを作成するときに、まったく異なる動作が観察されることに気づきました。
3つのコントロールがあることに注意してくださいTToolButton
(Glassテーマのためにテキストは事実上見えません)?また、2つのセパレーターの間にaTEdit
とが必要TComboBox
ですが、これらはまったく表示されません。
アーティファクト(実際のタスクバーアイコンの繰り返し)にも注意してください。
これが正しい方向への一歩であるかどうかはわかりませんが、あなた(または他の人)が解決策を推測するのに役立つかもしれません!