Adicionar um escudo UAC a um botão e manter sua imagem de fundo?

Usando o C # e o .Net 4.0 em um aplicativo winforms: É possível adicionar a blindagem do UAC a um botão e reter a imagem de plano de fundo dos botões? Como?

Isso é o que estou usando no momento, mas remove a imagem ...

[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);    
}

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion