2

以前、OSX でシステム全体のカーソルを変更することについて質問しました。NSCursor を使用してカーソルを変更しましたが、その効果はアプリケーションがアクティブな間だけです。別のアプリケーションがアクティブになると、カスタム カーソルは失われます。

これは、関連するより一般的な質問です。システムワイフ効果を持つアプリケーションをどのように作成できますか? たとえば、アプリケーションがアクティブでないときでも画面上に画像を描画し、他の何かがアクティブな場合は?

おそらく、Cocoa API よりも低いレベルに進む必要があることは理解しています。どこから探し始めたらいいのかわからない?確認する必要がある特定の Carbon API はありますか? それとももっと低い?

任意のポインタをいただければ幸いです!システム全体でカーソルを変更する方法、または画像を描画して移動する方法を具体的に知っている場合(アクティブなアプリケーションに関係なく)、それは私の現在の問題も解決します! システムにインストールされたときにこれを実現できるアプリケーションを作成できますか?

ありがとう!

4

2 に答える 2

1

あなたはあなたが望む効果を達成することができますが、あなたがそれをすることについて考えている方法ではありません。

あなたは言う、

プログラムで画面に「レーザーポインター」に相当するものを表示するプレゼンテーション支援アプリケーションを作成しています。私の最初のアイデアは、マウスカーソル自体をポインタとして使用し、その外観を赤い円として変更することでした。

その後、それを偽造します。LSUIElement必要な動作に応じて、おそらくタイプではなく、おそらくタイプのアプリケーションを作成します。フチなしウィンドウ(type NSBorderlessWindowMask)を作成し、クリアカラーで塗りつぶします。ウィンドウレベルを十分に高く設定して、すべての上に浮かぶようにし(を使用して-[NSWindow setLevel:]、最適なレベルが手元にあるかどうかはわかりませんが)、それに引き込みます。

あなたが一番のアプリでないときはカーソルを設定できないのは事実です。確かに、画面にただ走り書きすることはできません。しかし、賢い人なら同じ効果を得ることができます。

于 2011-08-29T02:38:48.747 に答える
0

この動作は、Mac OS X の API では提供されません。OS のリソース ファイルを変更する必要があります。これは、ターゲット コンピューターをブリックする可能性がある非常に危険な操作です。あなたは自分が何をしているのかを知らなければなりません。

テーマアプリなどを実装しようとしていますか? あなたの目標は何ですか?何をしようとしているのかを教えていただければ、別のアプローチを提案できるかもしれません。

于 2011-08-16T16:11:06.133 に答える