明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 585|回复: 4

[函数] 发一个能获取QQ号的lisp函数,免币

[复制链接]
发表于 2023-10-28 09:24 | 显示全部楼层 |阅读模式
本帖最后由 Dani1988 于 2023-10-28 10:37 编辑

C#编写,定义了一个lisp函数readtencentqqid
先netload这个dll,然后就有readtencentqqid这个lisp函数了

(readtencentqqid)
"674971560"
返回一个QQ号


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1明经币 +1 收起 理由
飞雪神光 + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2023-10-28 11:48 | 显示全部楼层
我来发个测评:CAD07不支持 21上可用  支持现在旧版QQ(第一次使用返回 "登陆成功")与TIM版QQ 不支持新版QQ
 楼主| 发表于 2023-10-28 12:14 | 显示全部楼层
飞雪神光 发表于 2023-10-28 11:48
我来发个测评:CAD07不支持 21上可用  支持现在旧版QQ(第一次使用返回 "登陆成功")与TIM版QQ 不支持新版QQ ...

net4.5的版本,CAD2013及以上支持,没用过新版QQ,新版不支持正常
发表于 2023-10-28 21:22 | 显示全部楼层
本帖最后由 baitang36 于 2023-10-28 21:24 编辑

和下面这个有区别吗?定义lisp函数获取登录的QQ号 - AutoCAD.net/VB.net/C# 编程技术 - AutoCAD论坛 - 明经CAD社区 - Powered by Discuz! (mjtd.com)
        //导入库 [DllImport("user32.dll")]
        [DllImport("user32.dll", EntryPoint = "FindWindowA", CharSet = CharSet.Ansi)]
        private static extern int FindWindow(string lpClassName, string lpWindowName);

        [DllImport("user32.dll", EntryPoint = "GetWindowText")]
        public static extern int GetWindowText(int hwnd, StringBuilder lpString, int cch);
        [DllImport("user32.dll", EntryPoint = "GetWindow")]
        public static extern int GetWindow(int hwnd, int wCmd);

        [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        public static extern int GetClassName(int hWnd, StringBuilder lpClassName, int nMaxCount);
        [LispFunction("ReadTencentqqId")]
        public static string ReadTencentqqId(ResultBuffer rb)
        {
            string str = "";
            int hWin = FindWindow("CTXOPConntion_Class", null);
            if (hWin == 0)
            {
                return null;
            }
            System.Text.StringBuilder sbf = new StringBuilder(256);
            StringBuilder sbfClass = new StringBuilder(256);
            while (hWin > 0)
            {
                GetWindowText(hWin, sbf, sbf.Capacity);
                if (sbf.ToString().Contains("OP_"))
                {
                    int index = sbf.ToString().IndexOf('_');
                    str = sbf.ToString().Substring(index + 1, sbf.Length - index - 1);
                    break;
                }
            }

            return str;

        }
 楼主| 发表于 2023-10-29 08:54 | 显示全部楼层
baitang36 发表于 2023-10-28 21:22
和下面这个有区别吗?定义lisp函数获取登录的QQ号 - AutoCAD.net/VB.net/C# 编程技术 - AutoCAD论坛 - 明经 ...

差不多,加了一点我自己的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 14:42 , Processed in 0.252248 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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