标题:[讨论]将QQ资料里性别改为空格的代码
取消只看楼主
Janlex
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:303
专家分:0
注 册:2006-9-12
 问题点数:0 回复次数:1 
[讨论]将QQ资料里性别改为空格的代码

HWND pSetDialog;
HWND pContextDialog;
HWND pContextDialog2;
HWND pComboBox;

pSetDialog = ::FindWindow(NULL, "QQ2007 设置");
pContextDialog = ::FindWindowEx(pSetDialog, NULL, "#32770", NULL);
pContextDialog2 = ::FindWindowEx(pContextDialog, NULL, "#32770", NULL);
pComboBox = ::FindWindowEx(pContextDialog2, NULL, "ComboBox", NULL);
if (!pComboBox|| !pContextDialog|| !pContextDialog2|| !pComboBox)
{
MessageBox("不是QQ2007或者没有打开QQ资料修改窗口!", "出错");
return;
}

::SendMessage((HWND)pComboBox,CB_DELETESTRING,0,(LPARAM)"男");
::SendMessage((HWND)pComboBox,CB_DELETESTRING,0,(LPARAM)"女");
::SendMessage((HWND)pComboBox,CB_ADDSTRING,0,(LPARAM)"无");

只要QQ是2007版,并且运行了QQ打开了QQ资料修改窗口,再运行上面代码. 就会把性别里增加一个"无",你选择再确定后,你QQ资料别人看到性别处就是空白的了.

本来有点想实现将性别改成任何文字的.
但QQ做了处理,在ComboBox为DropDownlist风格时, 只能为男或女.如果选择的item文字与'男'或'女'不对应,则资料里显示为空. 所以处理的方法就是将DropDownList改为DropDown风格,那样就可以随便改文字了. 但问题出现了,就是运行的ComboBox风格是修改不了的,就像CEdit控件,多行与单行,在运行时是切换不了的.
::SetWindowLong(pComboBox, GWL_STYLE, ::GetWindowLong(pComboBox, GWL_STYLE)&~CBS_DROPDOWNLIST);
::SetWindowLong(pComboBox, GWL_STYLE, ::GetWindowLong(pComboBox, GWL_STYLE)|CBS_DROPDOWN);
这是我用的代码. 我也在网上查过了, 的确ComboBox控件是不能动态修改显示样式的.

大家有什么方法拿了来分享一下. (除了去找QQReg.dll文件中offset address外)大家什么方法?

[此贴子已经被作者于2007-10-28 13:30:30编辑过]

搜索更多相关主题的帖子: 空格 性别 资料 代码 
2007-10-28 13:28
Janlex
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:303
专家分:0
注 册:2006-9-12
得分:0 
必须改CBS_DROPDOWN,不然无效

★★★★★欢迎光临我的博客 ★★★★★
http://www.
2007-10-30 01:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-181393-1-1.html




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

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