已完成一个对话框工程
现在想新写一个dll文件
在这个新的文件里需要对已有的对话框及其中的控件进行赋值等操作第一次写dll,不知道该怎么写,希望高手指点

解决方案 »

  1.   

    获得这个运行着的对话程序的handle,然后得到其上边的控件GetDlgItem,然后再用得到的控件的handle来给控件附值
      

  2.   

    对,只要想能办法得到对话框的句柄,然后爱怎么处理怎么处理,安全的做法可以用TLS,最简单的办法可能用全局变量(但搞不好容易出问题).当然还有别的办法,但是我的话,我通常用这两种方法
      

  3.   

    唉,道理谁都懂
    问题在DLL文件里应该怎么写希望能具体到代码,分不够可以再加
    我第一次写DLL,希望能得到手把手的帮助:)
      

  4.   

    你还是看看dll方面的例程吧,我觉得你是对dll的结构和执行方式不甚了解。具体可以参看 http://www.vckbase.com/code/listcode.asp?mclsid=13&sclsid=1303在Dll里写一个函数如:SetTargetHwnd(HWND hWnd) 或者 SetMainHwnd(HWND hWnd),
    名字看你自己喜欢了。对话框启动的时候LoadLibrary("你的dll"),然后
    通过SetTargetHwnd()把对话框的句柄传到dll中,
    然后就可以通过楼上各位说的方法控制对话框了,
    道理你都明白,我就不多说了。程序退出的时候记得FreeLibrary()如果是控制另外的程序的对话框,那么只有使用FindWindow()找到相关对话框的句柄了,
    然后就可以控制了。
      

  5.   

    记得加一个.def文件,定义导出的函数; your_dll.def : Declares the module parameters for the DLL.LIBRARY      "your_dll"  //your_dll是你的dll的文件名
    DESCRIPTION  'your_dll Windows Dynamic Link Library'EXPORTS
        ; Explicit exports can go here
    SetTargetHwnd