当前位置:首页
开发技术指南» 文章正文
    引言:

 ·找到工作了    »显示摘要«
    摘要: 哈哈哈哈~~等了四个月啦 ......
    摘要: 这是一段获取硬盘物理序列号的代码, 非常有用。可惜是 vc 写的,小弟不懂 vc ,哪位帮忙改写成 delphi 代码,双手奉上 100 分。如果翻译之后请发送到 ilyf22@sohu.com , 非常感谢! 因为代码太长,无法贴出,请从以下地址下载:ftp://60.191.135.11/soft/wdsoft/lyf/diskid32.cpp ......


怎么将CString转换成LPARAM

如题

NO.1   作者: weiym

取CString的地址传指针啊

NO.2   作者: vcleaner

CString::GetBuffer  
  MAKELPARAM

NO.3   作者: caocheng8230

CString   str("aaaa");  
  (LPARAM)str.GetBuffer();  
 

NO.4   作者: caocheng8230

这样  
  CString   *pStr=&str;  
  LPARAM   lp=(LPARAM)   pStr;  
   
  在线程内部为CString   *pStr=(CString*)lp;  
  然后就可以用*pStr来表示所传的参数.  
   
  注意LPARAM其实是一种void*类型,C中都是用void*来表示或传递各种不同的类型的指针的.

NO.5   作者: phoenix96_2000

LPARAM   =   (LPARAM)((LPCTSTR)str);  
  得到的是里面的字符串指针

NO.6   作者: steedhorse

问题是你要干吗,理论上不存在从一个CString对象到一个LPARAM变量的转换。  
  你是想要一个CString对象的地址呢?还是想要一个CString对象里边的字符缓冲区的地址呢?

NO.7   作者: ShiGang

要謹慎將CString做lParam來傳遞.因為一般情況下,等你的消息發送出后,CString自動析構了.可以用這種方法new   char[X];然后發送出去后,記得delete   []   (char*)lParam,不然會發生內存泄漏.

NO.8   作者: BruceJiang

楼上说得对

NO.9   作者: coolicelee

要謹慎將CString做lParam來傳遞.因為一般情況下,等你的消息發送出后,CString自動析構了.可以用這種方法new   char[X];然后發送出去后,記得delete   []   (char*)lParam,不然會發生內存泄漏.  
   
  的确,不过如果CString是全局变量就没有关系了


    摘要: 在delphi中如何获取所有已运行程序的名称和该程序的窗口标题,有谁知道,非常感谢! ......
» 本期热门文章:
· 热门栏目:
» 相关精选文章
» 其它相关:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE