Windows 7ガジェットに推奨される開発言語はどれですか?
ガジェットがXml、Html、CSS、およびScript(Java / VB)を使用していることは知っていますが、次のような高度な機能が必要です。
- ファイルの書き込み/読み取り
- 実行中のプロセスのリストを取得する
- アクティブなアプリケーションにキーを送信する
上記のタスクでは、WindowsAPIまたは可能であれば.NETを使用する必要があります。上記の機能をガジェットに含めることは可能ですか?
Windows 7ガジェットに推奨される開発言語はどれですか?
ガジェットがXml、Html、CSS、およびScript(Java / VB)を使用していることは知っていますが、次のような高度な機能が必要です。
上記のタスクでは、WindowsAPIまたは可能であれば.NETを使用する必要があります。上記の機能をガジェットに含めることは可能ですか?
ActiveXObject
このクラスを使用してJScriptで使用できるさまざまなCOMオブジェクトがあります。.NETを使用して独自の相互運用機能アセンブリを作成できますが、これにはいくつかの問題が発生します。
本当にアセンブリを作成する必要があると判断した場合。ガジェット用に独自のアセンブリを作成する場合は、それがガジェットの基本機能の拡張であり、ユーザーがアセンブリを使用できない場合に備えて、ガジェットに利用可能な機能があることを確認することをお勧めします。
私の会社には、上記の問題に対するまだリリースされていないソリューションがあり、近い将来(つまり、さらにテストを行った後)、すべてのWindowsデスクトップガジェット開発者が利用できるようにする予定です。
指定した高度な機能については、これらはすべて、すでに登録されており、ガジェットに配布されていないため、上記と同じ問題が発生しない、いくつかの組み込みのWindowsCOMオブジェクトを使用して実行できます。特定の要件に対する回答として、これらの例は次のとおりです。
FileSystemObjectファイル
の書き込み/読み取りは、FileSystemObjectを使用して実行できます。ファイルを読み取るためのFileSystemObjectの基本的な例は次のとおりです。
var ForReading = 1, ForWriting = 2, ForAppending = 8;
var oFSO = new ActiveXObject("Scripting.FileSystemObject");
var oFile = oFSO.OpenTextFile(System.Gadget.path+"\\test.txt", ForReading, true);
var sText = oFile.ReadAll();
window.prompt("", sText);
Windows Management Instrumentation(WMI)
WMIには非常に幅広い目的があります。ただし、その一部には管理者権限が必要です(sidebar.exeに適用する必要があります)。WMI内のクラスの1つはWin32_Processであり、実行中のプロセスを反復処理するために使用できます。JScriptでWMIを使用することはVBScriptで使用するよりもはるかに困難であり、インターネットで見られるほとんどの例はVBScript用であることに注意してください(コードの移植が面倒になります)。
Windows Script Host Shell WshShellオブジェクトは、 SendKeysメソッドなど、Windowsデスクトップガジェットの制限に対するもう1つの優れた拡張機能を提供します。このメソッドを使用してアプリケーションにキーを具体的に送信することはできませんが、AppActivateメソッドを使用してアプリケーションをアクティブ化し、SendKeysを使用してアクティブ化されたアプリケーションのキーストロークをエミュレートすることは可能です。
それがお役に立てば幸いです:-)