明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: fangmin723

[基础] CAD.Net COM方式快捷命令别名重定义

[复制链接]
发表于 2024-6-25 16:07:17 | 显示全部楼层
fangmin723 发表于 2024-6-25 15:07
是啊,之前没有考虑到动态更改命令这一层

因为低版本无法实现AddCommand,所以我很早就发现这个缺陷了.
不要迷恋官方提供的接口,因为这个接口说不定其他cad也没有,其他软件revit也没有,所以要从本质出发去想问题.
如果没有AddCommand,那么就需要动态编译,而动态编译无法更改的,所以不用它,从而再想一个调用函数的方法.
触发函数,无非就是等待无命令期间,阻塞主线程,执行你的函数,再放行主线程.
发表于 2024-6-25 16:46:27 | 显示全部楼层
d1742647821 发表于 2024-6-25 16:06
所以昨天我就问你,没有桥接函数,如何定义cad自带的命令,比如line copy这种,惊惊这种方案不行的,别想 ...

哪里不行了?是不是你不行啊?
 楼主| 发表于 2024-6-25 17:28:54 | 显示全部楼层
d1742647821 发表于 2024-6-25 16:06
所以昨天我就问你,没有桥接函数,如何定义cad自带的命令,比如line copy这种,惊惊这种方案不行的,别想 ...

哈哈哈,想想也不是不行,万一实现了呢,那就想想怎么获取cad自带的cmdaction,不知道反射能否获取到
 楼主| 发表于 2024-6-25 17:30:33 | 显示全部楼层
你有种再说一遍 发表于 2024-6-25 16:07
因为低版本无法实现AddCommand,所以我很早就发现这个缺陷了.
不要迷恋官方提供的接口,因为这个接口说不 ...

动态编译的话,可以用反射获取方法
发表于 2024-6-25 17:44:32 | 显示全部楼层
fangmin723 发表于 2024-6-25 17:30
动态编译的话,可以用反射获取方法

其实福萝卜已经教会我了...
在拦截输入法上面有一个功能是逐个字发送到命令栏,
那么在命令栏上面检测空格和回车也不是什么难题,
因此我根本就不需要启动时候去实现动态编译.
我甚至可以利用这个方法屏蔽命令
 楼主| 发表于 2024-6-25 18:00:43 | 显示全部楼层
你有种再说一遍 发表于 2024-6-25 17:44
其实福萝卜已经教会我了...
在拦截输入法上面有一个功能是逐个字发送到命令栏,
那么在命令栏上面检测空 ...

666,还是大佬们玩的溜啊,不过,这不就是hook吗,这个一直在后台运行会不会对cad运行速度有没有影响啊
发表于 2024-6-25 18:09:13 | 显示全部楼层
fangmin723 发表于 2024-6-25 18:00
666,还是大佬们玩的溜啊,不过,这不就是hook吗,这个一直在后台运行会不会对cad运行速度有没有影响啊

为什么会觉得hook对于运行速度有影响?
难道你写的hook都是while(true)?
hook本质就是事件啊,期间降低运算时间复杂度不就什么都觉察不到就.
 楼主| 发表于 2024-6-25 18:18:08 | 显示全部楼层
你有种再说一遍 发表于 2024-6-25 18:09
为什么会觉得hook对于运行速度有影响?
难道你写的hook都是while(true)?
hook本质就是事件啊,期间降低运 ...

嗯嗯,那就没其他问题了
发表于 2024-6-26 18:36:27 | 显示全部楼层
fangmin723 发表于 2024-6-25 18:18
嗯嗯,那就没其他问题了

消化了没有啊,拦截输入法上面是不是很好实现
 楼主| 发表于 2024-6-26 18:48:52 | 显示全部楼层
你有种再说一遍 发表于 2024-6-26 18:36
消化了没有啊,拦截输入法上面是不是很好实现

嗯嗯,是的,hook我玩过,那个停靠面板使用的快捷键隐藏就是用的hook,更改自定义命令,我没法测试,中望CAD没有别名对象
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 03:25 , Processed in 0.153542 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表