티스토리 뷰

Code/C#

[C#] Register/Unregister ActiveX Control

Hide Code 2009. 3. 15. 19:00
regsvr32 acawebthumb.dll
regsvr32 /u acawebthumb.dll


using System;
using System.Runtime.InteropServices;

namespace WebThumbSample
{
    class RegCOMServer
    {
        [DllImport("kernel32.dll")]
        static extern bool FreeLibrary(IntPtr hModule);

        [DllImport("kernel32.dll")]
        static extern IntPtr LoadLibrary(string lpFilename);

        [DllImport("kernel32.dll")]
        static extern UIntPtr GetProcAddress(IntPtr hModule, string
        lpProcName);

        [DllImport("user32.dll")]
        static extern IntPtr CallWindowProc(UIntPtr lpPrevWndFunc, IntPtr
        hWnd, uint Msg, UIntPtr wParam, IntPtr lParam);

        public static bool RegisterActiveX(string AXPath)
        {
            return RegAX(AXPath, true);
        }

        public static bool UnRegisterActiveX(string AXPath)
        {
            return RegAX(AXPath, false);
        }

        private static bool RegAX(string AXPath, bool Register)
        {
            IntPtr lb = IntPtr.Zero;
            UIntPtr pa;

            try
            {
                lb = LoadLibrary(AXPath);

                if (Register)
                {
                    pa = GetProcAddress(lb, "DllRegisterServer");
                }
                else
                {
                    pa = GetProcAddress(lb, "DllUnregisterServer");
                }

                if (CallWindowProc(pa, IntPtr.Zero, 0, UIntPtr.Zero, IntPtr.Zero) == IntPtr.Zero)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            finally
            {
                FreeLibrary(lb);
            }
        }
    }
}


'Code > C#' 카테고리의 다른 글

[C#] indexer sample  (0) 2010.02.23
[C#] Shift Operator  (0) 2010.02.17
[C#] Detect UserControl's Closing  (0) 2009.01.07
[C#] DockPanel Suite Sample  (0) 2009.01.05
[C#] DockPanel Suite Sample  (0) 2009.01.05
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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
글 보관함