1.C#配置

(1)类库



(2)COM互操作打勾



(3)代码中类必须要有无参构造函数,否则不会注册成功!!!

using System;
using System.Runtime.InteropServices; namespace MyLibrary
{ [ComVisible(true)] // 确保类和成员在COM互操作中可见
[Guid("12345678-1234-1234-1234-1234567890AB")] // 用于标识COM组件的GUID
public class MyComponent
{
public string GetMessage()
{
return "Hello from C#!";
} public int AddNumbers(int a, int b)
{
return a + b;
}
public Point AddPoints(Point a,Point b)
{
Point p = new Point();
p.x = a.x + b.x;
p.y = a.y + b.y;
return p;
}
} [ComVisible(true)]
[Guid("B479D2EB-F2D5-4EC9-B83B-CB007966E0B0")]
public class Point
{
public int x;
public int y; }
[ComVisible(true)]
[Guid("B481D2EB-F2D5-4EC9-B83B-CB007966E0B0")]
public class Testtt
{ }
[ComVisible(true)]
[Guid("B461D2EB-F2D5-4EC9-B83B-CB007966E0B0")]
public class Point2
{ public int x; public int y;
public Point2()//必须要有无参构造函数
{ }
public Point2(int x, int y)
{
this.x = x;
this.y = y;
}
}
[ComVisible(true)]
[Guid("B451D2EB-F2D5-4EC9-B83B-CB007966E0B0")]
public class Point3//注册失败,因为没有无参构造函数
{ public int x; public int y; public Point3(int x, int y)
{
this.x = x;
this.y = y;
}
}
}

(4)用管理员的方式对类库重生成!

(5)在注册表中查看,以上类是否注册成功,win+R,regedit,导航到以下路径HKEY_CLASSES_ROOT\CLSID:



可以发现,正好是C#代码中的GUID。

(6)python代码:



发现调用成功。

(7)拷贝到其他电脑上需要做的事:

注册COM组件:在目标电脑上,使用regsvr32命令注册COM组件。打开命令提示符或PowerShell,并执行以下命令:

regsvr32 path\to\MyLibrary.dll

其中,path\to\MyLibrary.dll是你在目标电脑上放置MyLibrary.dll文件的路径。这将确保COM组件在目标电脑上正确注册。

需要注意的是,如果目标电脑的操作系统架构与你开发时使用的不同(例如,32位与64位之间的转换),则还需要确保使用相应架构的组件和设置。

通过COM,用Python调用C#库的更多相关文章

  1. Python调用C库

    Python调用C库 Python可以利用ctypes库很方便地调用C的库函数. C库例程: # file: a.c int sum(int a, int b){   int t = 0;   int ...

  2. 使用python调用zxing库生成二维码图片

    (1)     安装Jpype 用python调用jar包须要安装jpype扩展,在Ubuntu上能够直接使用apt-get安装jpype扩展 $ sudo apt-get install pytho ...

  3. 一个简单的C共享库的创建及Python调用此库的方法

    /********************************************************************* * Author  : Samson * Date    ...

  4. python调用Opencv库和dlib库

    python是一门胶水语言,可以调用C++编译好的dll库 python调用opencv-imggui.dll文件 https://www.cnblogs.com/zhangxian/articles ...

  5. 使用Python调用动态库

    我个人在日常使用电脑时,经常需要使用Google,于是就要切换代理,基本上是一会儿切换为代理,一会儿切换成直连,老是打开internet 选项去设置,很不方便,于是我萌生了一个想法: 做一个开关,我想 ...

  6. python调用C库的方法

    主要介绍两种,一种是python的标准库内置的ctype,另一种是第三方的pybind11. 除此之外,还有其他的方案,例如,CFFI.Cython等等. 一.python的标准库ctype

  7. python调用opencv库教程

    OpenCV安装pip install --upgrade setuptoolspip install numpy Matplotlibpip install opencv-python OpenCV ...

  8. python 调用第三方库压缩png或者转换成webp

    因为工作需要去研究了下png的压缩,发现转换成webp可以小很多,但是webp在手机上的解码速度比png的解码速度慢很多.出于进几年手机设备的处理器的性能也不错了,所以准备两套方案. 在网上搜索了一些 ...

  9. [Python] Python 调用 C 共享库

    Linux/Unix 平台下共享库(Shared Library)文件后缀 .so:在 Windows 平台称为动态链接库(Dynamic Link Library),文件名后缀为 .dll. 利用 ...

  10. Python调用C++

    /***gcc -o libpycall.so -shared -fPIC pycall.c*/ #include <stdio.h> #include <stdlib.h> ...

随机推荐

  1. 【攻防世界】ezbypass-cat

    ezbypass-cat 题目来源 攻防世界 NO.GFSJ1183 题目描述 只有一个登录界面,没有注册界面,扫目录也扫不出有用的文件.sql注入也无果,有些难以下手. 题解一 该题解可能是一个非预 ...

  2. Docker安装与镜像加速器的配置

    Docker简介 百科说:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机 ...

  3. pikachu搭建

    pikachu靶场搭建教程 下载小皮面板phpstudy: 小皮官网:https://www.xp.cn/ 下载pikachu : https://github.com/zhuifengshaonia ...

  4. ubuntu20.04使用EasyConnect

    起因:BUAA校外访问内网vpn的客户端 用的学校vpn内下载的deb包EasyConnect_x64_7_6_7_3.deb,就直接sudo apt install安装了,之后应用的目录在/usr/ ...

  5. 带大家做了个 AI 项目,没想到这么简单!

    大家好,我是程序员鱼皮,现在已经是全民 AI 时代了,咱们程序员更要想办法榨干 AI,把 AI 利用起来.前几天我一时兴起,直播用 2 多个小时的时间,从需求分析开始,带大家做了一个 AI 海龟汤游戏 ...

  6. HTTP 尝试获取 Client IP

    HTTP 中获取 Client IP 相关策略需求, 在当下网络环境中多数只能提供建议作用. 更多的是 通过其它唯一标识来挖掘更多潜在价值. 本文主要就一个内容, 如何最大可能尝试在 HTTP 请求中 ...

  7. linux安装python centos

    下载安装包 可以到官网 ftp 地址,复制指定 python 版本源码安装包下载链接 https://www.python.org/ftp/python/ 或者到官网 downloads, 复制指定 ...

  8. Delphi Inputbox 输入时显示‘*’号

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  9. 多态的成员访问特点和好处--java进阶day02

    1.多态的成员访问特点 1.成员变量访问特点 分为两个阶段,编译阶段,系统会看父类中是否存在该成员变量,如果存在,运行阶段就会使用父类的成员变量,否则报错 当我们在父类中删去num时,编译直接报错 2 ...

  10. 【长知识】BIOS

    设置最新UEFI BIOS 本章导读 BIOS是电脑启动和操作的基础,若电脑系统中没有BIOS,则所有硬件设备都不能正常使用.UEFI是目前最新的BIOS类型,以后会逐渐取代传统的BIOS.本章将认识 ...