this thread私はWindowsエクスプローラをリフレッシュすると言っています。いくつかのウィンドウのみをリフレッシュしたいので、開いたウィンドウをタイトルまたはパスに従ってフィルタリングします。私はより明確にするため、そのスレッドからコードをコピーしてみましょう:InvokeMemberが特定のプロパティ値を取得するための可能な値
Guid CLSID_ShellApplication = new Guid("13709620-C279-11CE-A49E-444553540000");
Type shellApplicationType = Type.GetTypeFromCLSID(CLSID_ShellApplication, true);
object shellApplication = Activator.CreateInstance(shellApplicationType);
object windows = shellApplicationType.InvokeMember("Windows", System.Reflection.BindingFlags.InvokeMethod, null, shellApplication, new object[] { });
Type windowsType = windows.GetType();
object count = windowsType.InvokeMember("Count", System.Reflection.BindingFlags.GetProperty, null, windows, null);
for (int i = 0; i < (int)count; i++)
{
object item = windowsType.InvokeMember("Item", System.Reflection.BindingFlags.InvokeMethod, null, windows, new object[] { i });
Type itemType = item.GetType();
string itemName = (string)itemType.InvokeMember("Name", System.Reflection.BindingFlags.GetProperty, null, item, null);
if (itemName == "Windows Explorer")
{
// Here I want to check whether this window need to be refreshed
// based on the opened path in that window
// or with the title of that window
// How do I check that here
itemType.InvokeMember("Refresh", System.Reflection.BindingFlags.InvokeMethod, null, item, null);
}
}
私は上記のコードから理解することです:私たちは現在のウィンドウオブジェクトを取得しますwindowsType.InvokeMember("Item", System.Reflection.BindingFlags.InvokeMethod, null, windows, new object[] { i });
このラインを使用して、我々が取得する.InvokeMember("Name"..
を使用していることでそのオブジェクトの名前、そのオブジェクトのパスまたはそのウィンドウのタイトルを取得するには、InvokeMember
メソッドに渡すべき賢明なように?または誰でも私に上記の文の"Name"
の可能な代替値を教えてもらえますか?
私は何を期待してることは、次のようないくつかのコードです:
string itemPath = (string)itemType.InvokeMember("Something here", System.Reflection.BindingFlags.GetProperty, null, item, null);
OR
string itemTitle = (string)itemType.InvokeMember("Something here", System.Reflection.BindingFlags.GetProperty, null, item, null);
私はこの問題を解決するために、専門家の提案を期待して、あなたが必要な場合は、より多くの情報を与えることができ、
ありがとうございます。
ありがとうございます、私はupvote一度私は15 – Learning