3

私のソフトウェアでは、ファイルのプロパティ ダイアログを表示し、そのプロパティ ダイアログの特定のタブに移動する必要がありますか? c# を使用してこれを実現する方法を教えてください。

または デフォルトのプロパティ ダイアログをカスタム ダイアログに置き換えることは可能ですか?

4

2 に答える 2

0

これを実現するには、P/Invokeを使用する必要があります。

private const int SW_SHOW = 5;
private const uint SEE_MASK_INVOKEIDLIST = 12;

[DllImport("shell32.dll")]
static extern bool ShellExecuteEx(ref SHELLEXECUTEINFO lpExecInfo);

public static void ShowFileProperties(string filename) 
{
    SHELLEXECUTEINFO info = new SHELLEXECUTEINFO();
    info.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(info);
    info.lpVerb = "properties";
    info.lpFile = filename;
    info.nShow = SW_SHOW;
    info.fMask = SEE_MASK_INVOKEIDLIST;
    ShellExecuteEx(ref info);
}

特定のタブを(良い方法で)選択することさえ可能かどうかわからない...

于 2012-08-31T11:08:21.820 に答える