现在有一个。net编写的程序,我想自己用VC写程序来控制这个。net程序,请教下思路。
比如:
程序A用.net编写,是一个简单的对话框,假设对话框就只有一个编辑框的控件
我需要VC编写程序B,来从外部控制编辑框的内容。
谢谢

解决方案 »

  1.   

    这个是可以的,http://topic.csdn.net/u/20091012/16/f2afe20f-37d2-403b-b000-35545f7659d0.html
      

  2.   

    .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.tlb7. 在.NET命令行窗口中,注册装配件
         regasm /tlb:ClassLibrary1.tlb ClassLibrary1.dll8. 在.NET命令行窗口中,将.NET装配件安装到全局装配件缓存(GAC)中
         gacutil /i ClassLibrary1.dll
       
    9. 在asp中测试
        <%
        SET s = CreateObject("ClassLibrary1.Class1")
        Response.Write(s.test())
        %>
      

  3.   


    按楼主的要求,只能用.net写com组件,而非exe程序,这样才能让vc的程序调用
      

  4.   

    先得到编辑框所在的线程的ID,然后AttachThreadInput,之后再SetFocus,输入东西(模拟键盘kb_event或者消息都可以)............