更改AutoCAD窗口的标题和图标

来源:互联网 发布:淘宝打印 编辑:程序博客网 时间:2024/05/17 23:54

public class WinAPI
{
#region  宏定义 
public const int WM_SETICON = 0x80;
public const int IMAGW_ICON = 1;
public const int LR_LOADFROMFILE = 0x10;
#endregion
#region  WinAPI定义
[DllImport(
"User32.dll", EntryPoint = "SendMessage")]
public static extern int SendMessage(
int hWnd, // handle to destination window
        int Msg, // message
        int wParam, // first message parameter
        int lParam // second message parameter
    );
[DllImport(
"user32", EntryPoint = "LoadImage")]
public static extern int LoadImageA(int hInst, string lpsz, int un1, int n1, int n2, int un2);
[DllImport(
"user32", EntryPoint = "SetWindowText")]
public static extern int SetWindowTextA(int hwnd, string lpString);
#endregion
}

using System;using System.IO;//using Microsoft.Win32;using System.Collections;using System.Windows.Forms;using System.Resources;using Autodesk.AutoCAD.ApplicationServices;using AcadApp = Autodesk.AutoCAD.ApplicationServices.Application;using Autodesk.AutoCAD.Colors;using Autodesk.AutoCAD.DatabaseServices;using Autodesk.AutoCAD.EditorInput;using Autodesk.AutoCAD.Geometry;using Autodesk.AutoCAD.Runtime;using Autodesk.AutoCAD.Windows;using Autodesk.AutoCAD.Interop;using Autodesk.AutoCAD.Interop.Common;using Autodesk.AutoCAD.Customization;public class AsdkClass1 : IExtensionApplication{#region 实现接口函数,完成初始化操作//要实现这个接口,你必须实现Initialize() 和Terminate()函数。    /// <summary>/// 初始化操作/// </summary>    public void Initialize(){//--------------------//AddContextMenu();//AddToolbar();//AddMenuBar();        SetTitle();SetIcon();//--------------------    }/// <summary>/// 清除操作/// </summary>    public void Terminate(){}#endregion    #region 更改AutoCAD窗口的标题和图标/// <summary>/// 更改AutoCAD窗口的标题名称/// </summary>    private void SetTitle(){AcadApplication acadApp = AcadApp.AcadApplication as AcadApplication;int AcadHwnd = acadApp.HWND;//获取AutoCAD应用程序的窗口句柄        WinAPI.SetWindowTextA(AcadHwnd, "明信供电CAD 2.0");}/// <summary>/// 更改AutoCAD窗口的图标/// </summary>    private void SetIcon(){AcadApplication acadApp = AcadApp.AcadApplication as AcadApplication;int AcadHwnd = acadApp.HWND;//获取AutoCAD应用程序的窗口句柄        string path = acadApp.Path;//从文件载入图标(16*16大小)        string FileName = "G:/cad.ico";if (File.Exists(FileName)){int hIcon = WinAPI.LoadImageA(0, FileName, WinAPI.IMAGW_ICON, 16, 16, WinAPI.LR_LOADFROMFILE);if (hIcon != 0){WinAPI.SendMessage(AcadHwnd, WinAPI.WM_SETICON, 0, hIcon);}}}#endregion}
//转自:http://tech.sina.com.cn/s/2008-06-24/1023705828.shtml
原创粉丝点击