国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

c#開發(fā)Com組件

2024-07-21 02:26:40
字體:
供稿:網(wǎng)友

1,定義接口

(1)在接口上方加上[guid("1ea4dbf0-3c3b-11cf-810c-00aa00389b71")]


(2)在每個方法上加上[dispid(i)]
 

using system;
using system.runtime.interopservices;
namespace leading.mis.newsmonitor
......{
    /**//**//**//// <summary>
    /// 消息監(jiān)控接口的定義
    /// </summary>
    [guid("1ea4dbf0-3c3b-11cf-810c-00aa00389b71")]
    public interface inewsmonitor
    ......{
        發(fā)送文件時,記錄發(fā)送者,接收者和發(fā)送的文件名發(fā)送文件時,記錄發(fā)送者,接收者和發(fā)送的文件名#region 發(fā)送文件時,記錄發(fā)送者,接收者和發(fā)送的文件名
        /**//**//**//// <summary>
        /// 當發(fā)送文件時,記錄發(fā)送者,接收者和發(fā)送的文件名
        /// </summary>
        /// <param name="strsendid">文件發(fā)送者</param>
        /// <param name="strtargetid">文件接受者</param>
        /// <param name="strfilename">文件名</param>
     [dispid(1)]
        void sendfile(string strsendid,string strtargetid,string strfilename);
        #endregion
       
        接收文件時,記錄文件接收者,發(fā)送者和發(fā)送的文件名接收文件時,記錄文件接收者,發(fā)送者和發(fā)送的文件名#region 接收文件時,記錄文件接收者,發(fā)送者和發(fā)送的文件名
        /**//**//**//// <summary>
        /// 接受文件時,記錄文件接收者,發(fā)送者和發(fā)送的文件名
        /// </summary>
        /// <param name="strreceiveid">文件接收者</param>
        /// <param name="strsendid">文件發(fā)送者</param>
        /// <param name="strfilename">文件名</param>
        [dispid(2)]
        void recvfile(string strreceiveid,string strsendid,string strfilename);
        #endregion
       
        文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名#region 文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名
        /**//**//**//// <summary>
        /// 文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名
        /// </summary>
        /// <param name="strsendid">文件發(fā)送者</param>
        /// <param name="strtargetid">文件接收者</param>
        /// <param name="strfilename">文件名</param>
        [dispid(3)]
        void  filesendok(string strsendid,string strtargetid,string strfilename);
        #endregion
       
        取消文件發(fā)送時,記錄發(fā)送者,接收者和發(fā)送的文件名取消文件發(fā)送時,記錄發(fā)送者,接收者和發(fā)送的文件名#region 取消文件發(fā)送時,記錄發(fā)送者,接收者和發(fā)送的文件名
        /**//**//**//// <summary>
        /// 取消文件發(fā)送時,記錄發(fā)送者,接收者和發(fā)送的文件名
        /// </summary>
        /// <param name="strcancelid">取消文件發(fā)送者</param>
        /// <param name="strtargetid">文件發(fā)送對方</param>
        /// <param name="strfilename">文件名</param>
        [dispid(4)]
        void filesendcancel(string strcancelid,string strtargetid,string strfilename);
        #endregion
       
    } // end interface inewsmonitor
   
} //end namespace leading.mis.newsmonitor
 

2,類的實現(xiàn)

(1)在類的上方加上 [guid("1ea4dbf0-3c3b-11cf-810c-00aa00389b71")]
                      [classinterface(classinterfacetype.none)]

 

using system;
using system.io;
using system.runtime.interopservices;

namespace leading.mis.newsmonitor
......{
    /**//**//**//// <summary>
    /// 消息監(jiān)控類的實現(xiàn)
    /// </summary>
    [guid("1ea4dbf0-3c3b-11cf-810c-00aa00389b71")]
    [classinterface(classinterfacetype.none)]
    public class newsmonitor : inewsmonitor
    ......{
        私有字段#region 私有字段
       
        private string filepath = string.empty;
        private string writeline = string.empty;
       
        #endregion

        私有方法#region 私有方法
       
        private  void newsmsg()
        ......{
            streamwriter sw = null;
            if(file.exists(filepath))
            ......{
                sw = file.appendtext(filepath);
            }
            else
            ......{
                filestream fs = file.create(filepath);
                sw = new streamwriter(fs);
            }
            sw.writeline(writeline);
            sw.close();
        }
       
        #endregion
       
        共有方法#region 共有方法
       
        發(fā)送文件時,記錄發(fā)送者,接收者和發(fā)送的文件名#region 發(fā)送文件時,記錄發(fā)送者,接收者和發(fā)送的文件名
    /**//// <summary>
        /// 當發(fā)送文件時,記錄發(fā)送者,接收者和發(fā)送的文件名
    /// </summary>
        /// <param name="strsendid">文件發(fā)送者</param>
        /// <param name="strtargetid">文件接受者</param>
        /// <param name="strfilename">文件名</param>
               public void sendfile(string strsendid,string strtargetid,string strfilename)
        ......{
            filepath = @"c:msgmonitorsendfile.txt";
            writeline = strsendid + " 向 " + strtargetid + " 發(fā)送 < " + strfilename + " > 文件";
            newsmsg();
        }
        #endregion
       
     接收文件時,記錄文件接收者,發(fā)送者和發(fā)送的文件名#region 接收文件時,記錄文件接收者,發(fā)送者和發(fā)送的文件名
    /**//// <summary>
        /// 接受文件時,記錄文件接收者,發(fā)送者和發(fā)送的文件名
    /// </summary>
        /// <param name="strreceiveid">文件接收者</param>
        /// <param name="strsendid">文件發(fā)送者</param>
        /// <param name="strfilename">文件名</param>
               public void recvfile(string strreceiveid,string strsendid,string strfilename)
        ......{
            filepath = @"c:msgmonitorrecvfile.txt";
            writeline = strreceiveid + " 接收到 " + strsendid + " 發(fā)送的 < " + strfilename + " > 文件";
            newsmsg();
        }
        #endregion
       
        文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名#region 文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名
    /**//// <summary>
        /// 文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名
    /// </summary>
        /// <param name="strsendid">文件發(fā)送者</param>
        /// <param name="strtargetid">文件接收者</param>
        /// <param name="strfilename">文件名</param>
               public void  filesendok(string strsendid,string strtargetid,string strfilename)
        ......{
            filepath = @"c:msgmonitorfilesendok.txt";
            writeline = strsendid + " 已經(jīng)成功向 " + strtargetid + " 發(fā)送 < " + strfilename + " > 文件";
            newsmsg();
        }
        #endregion
       
       取消文件發(fā)送時,記錄發(fā)送者,接收者和發(fā)送的文件名#region 取消文件發(fā)送時,記錄發(fā)送者,接收者和發(fā)送的文件名
    /**//// <summary>
        /// 取消文件發(fā)送時,記錄發(fā)送者,接收者和發(fā)送的文件名
    /// </summary>
        /// <param name="strcancelid">取消文件發(fā)送者</param>
        /// <param name="strtargetid">文件發(fā)送對方</param>
        /// <param name="strfilename">文件名</param>
               public void filesendcancel(string strcancelid,string strtargetid,string strfilename)
        ......{
            filepath = @"c:msgmonitorfilesendcancel.txt";
            writeline = strcancelid + " 取消和 " + strtargetid + " 發(fā)送 < " + strfilename + " > 文件";
            newsmsg();
        }
        #endregion
       
        #endregion
    } // end class newsmonitor
   
} //end namespace leading.mis.newsmonitor

 

3,用 regasm 工具進行注冊

regasm newsmsg.dll / tlb: newsmsg.tlb

 



上一篇:C#中的字符串截取

下一篇:C#中定義熱鍵

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 重庆市| 桑日县| 简阳市| 辛集市| 宁海县| 城市| 巫山县| 廉江市| 苍南县| 伽师县| 滨州市| 东源县| 连江县| 鄱阳县| 察雅县| 大连市| 永城市| 渝北区| 句容市| 临夏市| 张家港市| 乐都县| 泰宁县| 徐州市| 扶余县| 郁南县| 福建省| 大化| 永城市| 抚宁县| 松滋市| 陵川县| 台东市| 建平县| 靖西县| 织金县| 云阳县| 万宁市| 灵川县| 房产| 忻州市|