Hinzufügen eines UAC-Shields zu einer Schaltfläche und Beibehalten des Hintergrundbilds?

Verwenden von C # und .Net 4.0 in einer Winforms-Anwendung: Ist es möglich, das UAC-Schutzschild einer Schaltfläche hinzuzufügen und das Hintergrundbild der Schaltfläche beizubehalten? Wie?

Dies ist, was ich im Moment benutze, aber es entfernt das Bild ...

[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);

public static void UACToButton(Button button, bool add)
{
    const Int32 BCM_SETSHIELD = 0x160C;
    if (add)
        {
        // The button must have the flat style
        button.FlatStyle = FlatStyle.System;
        if (button.Text == "")
        // and it must have text to display the shield
            button.Text = " ";
            SendMessage(button.Handle, BCM_SETSHIELD, 0, 1);        
        }
        else
            SendMessage(button.Handle, BCM_SETSHIELD, 0, 0);    
}

Vielen Dank!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage