1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
public partial class MonUserControl : UserControl
{
#region Code interoperabilité activeX - C# à ne pas supprimer
[ComRegisterFunction]
public static void RegisterClass(Type t)
{
string keyName = @"CLSID\" + t.GUID.ToString("B");
using (RegistryKey key =
Registry.ClassesRoot.OpenSubKey(keyName, true))
{
key.CreateSubKey("Control").Close();
using (RegistryKey subkey = key.CreateSubKey("MiscStatus"))
{
subkey.SetValue("", "131457");
}
using (RegistryKey subkey = key.CreateSubKey("TypeLib"))
{
Guid libid = Marshal.GetTypeLibGuidForAssembly(t.Assembly);
subkey.SetValue("", libid.ToString("B"));
}
using (RegistryKey subkey = key.CreateSubKey("Version"))
{
Version ver = t.Assembly.GetName().Version;
string version = string.Format("{0}.{1}", ver.Major, ver.Minor);
if (version == "0.0") version = "1.0";
subkey.SetValue("", version);
}
}
}
[ComUnregisterFunction]
public static void UnregisterClass(Type t)
{
// Delete entire CLSID\{clsid} subtree
string keyName = @"CLSID\" + t.GUID.ToString("B");
Registry.ClassesRoot.DeleteSubKeyTree(keyName);
}
#endregion
/*La je peux commencer à coder comme si je développais un objet UserControl C# basique. */
private int unAttributExemple; |
Partager