| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2083 人关注过本帖
标题:delphi如何跨进程获取控件名称
只看楼主 加入收藏
sin3322
Rank: 1
等 级:新手上路
帖 子:7
专家分:8
注 册:2009-9-22
结帖率:0
收藏
已结贴  问题点数:10 回复次数:3 
delphi如何跨进程获取控件名称
SendMessage 好像不可以啊,没有相应的消息
搜索更多相关主题的帖子: 消息 
2011-05-12 10:24
zin5970
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:29
专家分:195
注 册:2008-10-10
收藏
得分:5 
我做过把控件传进去的...
function NewThread(PB:TProgressBar):LongInt;stdcall;


2011-05-16 15:35
aaa000830
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:14
专家分:109
注 册:2011-4-30
收藏
得分:5 
方法一:可以自己添加一个 SendMessage 消息函数,很简单的

方法二:也可以建立一个DLL文件,如楼上所说的建一个函数传递

方法三:利用注册表记录控件名称,这里给出这种代码:

  在单元开始的 uses 里加上 Registry 引用,我这里就创建一个过程吧
  这个函数是在要记录控件名称的单元里写的,
  procedure RemeberControlName;
  var
    mReg:Tregistry;
  begin
    mReg := Tregistry.create;
    try
      with mReg do
      begin
        RootKey := HKEY_LOCAL_MACHINE ;
        if not KeyExists('System\SoftwareInformation') then
        begin
          if  OpenKey('System\SoftwareInformation',true) then
          begin
            WriteString('ControlName',name);
          end;
      end;
     finally
       mReg.free;
     end;
  end;

下面的这个函数是在要读取控件名称的单元里写的,同样要在单元uses里加上Registry,也创建一个过程吧
 
  procedure ReadControlName;
  var
    mReg:Tregistry;
    mName :string; //获取控件名称的变量
  begin
    mReg := Tregistry.create;
    try
      with mReg do
      begin
        RootKey := HKEY_LOCAL_MACHINE ;
        if OpenKey('System\SoftwareInformation',false) = true then
          mName := ReadString('ControlName',name);
      end;
    finally
      mReg.free;
    end;
  end;

2011-05-17 19:41
s912360101
Rank: 3Rank: 3
来 自:山西
等 级:论坛游侠
帖 子:168
专家分:147
注 册:2009-3-15
收藏
得分:0 

孤独是一个人的狂欢
2011-05-28 13:27
快速回复:delphi如何跨进程获取控件名称
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011589 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved