关于VC程序操作外部的。net程序的问题

daohua 2009-10-14 05:29:36
现在有一个。net编写的程序,我想自己用VC写程序来控制这个。net程序,请教下思路。
比如:
程序A用.net编写,是一个简单的对话框,假设对话框就只有一个编辑框的控件
我需要VC编写程序B,来从外部控制编辑框的内容。
谢谢
...全文
44 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
daohua 2009-10-15
  • 打赏
  • 举报
回复
非常感谢楼上几位,两种方法都不错,我也查了相关资料。正好满足我的要求,谢谢了。下班结贴
dirdirdir3 2009-10-14
  • 打赏
  • 举报
回复
先得到编辑框所在的线程的ID,然后AttachThreadInput,之后再SetFocus,输入东西(模拟键盘kb_event或者消息都可以)............
xwsn007 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhp21 的回复:]
.net 写的COM , VC 去调用
以下是一个小例子,供大家参考。(asp)
1. 在.net Visual Studio 中新建一个Class项目。
2. 在项目中新添加一个类,代码如下:

using System;

namespace ClassLibrary1
{


  //定义接口,这点很重要 (此接口中的方法与COM组件中的方法一致)
    public interface iClass1
    {

    string    test()    ;

    }


public class Class1 : iClass1
{
 
    private string t = "";
    //实现接口中的方法
    public string    test()
    {
 
    return "ok";
    }
}
}

3.在.NET命令行窗口中,创建密钥对。
    可以用.net 自带的工具:sn.exe 来创建密钥对。
    如:SN –k testDll.Keys
4. 创建强命名程序集(Strong Name Assembly)
    在AssemblyInfo.cs文件中,添加[assembly: AssemblyKeyFile(@"c:\test.keys")]属性
  [assembly: ComVisible(true)]
5. 编译整个项目,生成ClassLibrary1.dll (此DLL可在 \bin\Debug 路径下找到。)
6. 在.NET命令行窗口中,生成类型库
    tlbexp ClassLibrary1.dll /out:ClassLibrary1.tlb

7. 在.NET命令行窗口中,注册装配件
    regasm /tlb:ClassLibrary1.tlb ClassLibrary1.dll

8. 在.NET命令行窗口中,将.NET装配件安装到全局装配件缓存(GAC)中
    gacutil /i ClassLibrary1.dll
 
9. 在asp中测试
    <%
    SET s = CreateObject("ClassLibrary1.Class1")
    Response.Write(s.test())
    %>

[/Quote]

按楼主的要求,只能用.net写com组件,而非exe程序,这样才能让vc的程序调用
zhp21 2009-10-14
  • 打赏
  • 举报
回复
.net 写的COM , VC 去调用
以下是一个小例子,供大家参考。(asp)
1. 在.net Visual Studio 中新建一个Class项目。
2. 在项目中新添加一个类,代码如下:

using System;

namespace ClassLibrary1
{


//定义接口,这点很重要 (此接口中的方法与COM组件中的方法一致)
public interface iClass1
{

string test() ;

}


public class Class1 : iClass1
{

private string t = "";
//实现接口中的方法
public string test()
{

return "ok";
}
}
}

3.在.NET命令行窗口中,创建密钥对。
可以用.net 自带的工具:sn.exe 来创建密钥对。
如:SN –k testDll.Keys
4. 创建强命名程序集(Strong Name Assembly)
在AssemblyInfo.cs文件中,添加[assembly: AssemblyKeyFile(@"c:\test.keys")]属性
[assembly: ComVisible(true)]
5. 编译整个项目,生成ClassLibrary1.dll (此DLL可在 \bin\Debug 路径下找到。)
6. 在.NET命令行窗口中,生成类型库
tlbexp ClassLibrary1.dll /out:ClassLibrary1.tlb

7. 在.NET命令行窗口中,注册装配件
regasm /tlb:ClassLibrary1.tlb ClassLibrary1.dll

8. 在.NET命令行窗口中,将.NET装配件安装到全局装配件缓存(GAC)中
gacutil /i ClassLibrary1.dll

9. 在asp中测试
<%
SET s = CreateObject("ClassLibrary1.Class1")
Response.Write(s.test())
%>
daohua 2009-10-14
  • 打赏
  • 举报
回复
可是我需要的是控制编辑框中动态输入的东西,不是对话框的资源哦

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧