« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
|
公告 |
本站技术贴除标明为“原创”的之外,其余均为网上转载,文中我会尽量保留原作者姓名,若有侵权请与我联系,我将第一时间做出修改。谢谢!
——既瑜 |
统计 |
blog名称:★既瑜★ 日志总数:183 评论数量:636 留言数量:-25 访问次数:1412400 建立时间:2005年3月12日 |
OICQ:215768265
njucs2001@hotmail.com
erichoo1982@gmail.com |
|
W3CHINA Blog首页 管理页面 写新日志 退出
[【技术文档】]用Visual C++打造IE浏览器(2) |
(2)工具条上的下拉菜单 当用户点击按钮上的下拉箭头时,将出现相应的菜单,为了实现这个功能,手下需要在CMainFrame.cpp文件的消息映射中添加消息映射:ON_NOTIFY(TBN_DROPDOWN, AFX_IDW_TOOLBAR, OnDropDown);在CmainFrame.h文件中添加消息映射函数声明:afx_msg void OnDropDown(NMHDR* pNotifyStruct, LRESULT* pResult);最后添加下面的代码:
void CMainFrame::OnDropDown(NMHDR* pNotifyStruct, LRESULT* pResult) { NMTOOLBAR* pNMToolBar = (NMTOOLBAR*)pNotifyStruct; CRect rect; // 得到下拉箭头的位置; m_wndToolBar.GetToolBarCtrl().Ge
|
阅读全文(4890) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]用Visual C++打造IE浏览器(1) |
前言
IE浏览器作为微软Windows系统捆绑销售的一个浏览工具,用来浏览千姿百态的网页,目前它已经占据了浏览器市场的半壁江山,成为Windows用户不可或缺的工具。首先,它的界面设计的很漂亮,如扁平按纽(按钮上的图像为灰色,当鼠标放在按钮上时,按钮突起,这种状态称为手柄,并且其上的图像变得鲜艳醒目)、按钮上的文字说明以及按钮边上的小黑三角形状的下拉箭头(单击时显示下拉菜单)、工具条上的地址输入栏等,都体现了Windows2000的风格;其次,它的收藏栏可以收藏用户喜爱的网络地址,这一切都为IE的流行打下了坚实的基础。说了那么多,也许读者朋友们感觉到IE实现起来一定非常困难,其实IE也是个"纸老虎",实现它的难点主要是在界面效果和显示收藏夹上,笔者在本文中有针对性的叙述了IE界面、收藏网页的显示、网页的浏览等功能的实现,仔细看过这篇文章后,相信读者朋友们一定可以打造出一个属于自己的浏览器。本文中的代码在Windows2000、Visual C++6.0环境下编译通过,程
|
阅读全文(3375) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]怎样在VC++中访问、修改注册表 |
Windows95/98/Me的注册表包含了Windows95/98/Me的系统配置、PC机的硬件配置、Win32应用程序和用户的其他设置信息。注册表和INI文件不同,它是多层次的树状数据结构,具有六个分支(根键),每个分支又由许多的键和键值组成,而每个键则代表一个特定的配置项目。 在实际编程工作中,我们遇到了如何在Visual C++中对Windows95/98/Me注册表整个树状结构信息进行访问和修改的问题,如查询和修改注册表中用户姓名和公司名称的有关信息。通过编程实践,我们实现了在Visual C++中查询和修改系统注册表的有关信息。下面以一个实例说明具体的编程方法。 在Visual C++ 6.0或5.0环境中新建一基于对话框的工程,设置了两个命令按钮,名为“查询用户信息”和“修改用户信息”,用来查询和修改注册表中用户姓名和公司名称。这里须要指出的是,用户的信息位于系统注册表中 \HKEY_LOCAL_MACHINE\Software\Microsoft\Wind
|
阅读全文(3232) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]非法探取密码的原理及其防范 |
一、非法获取Password的原理: Edit控件是Windows的一个标准控件,当把其Password属性设为True时,就会将输入的内容屏蔽为星号,从而达到保护的目的。虽然我们看来都是星号,但程序中的Edit控件实际仍是用户输入的密码,应用程序可以获取该控件中的密码,其他应用程序也可以通过向其发送WM_GETTEXT或EM_GETLINE消息来获取Edit控件中的内容。黑客程序正是利用Edit控件的这个特性,当发现当前探测的窗口是Edit控件并且具有ES_PASSWORD属性时,则通过SendMessage向此窗口发送WM_GETTEXT或EM_GETLINE消息,这样Edit框中的内容就一目了然了。
二、黑客软件工作方法: 首先要取得当前的窗口,并判断是否是Edit控件,一般多通过鼠标来指定要探测的窗口,例如在WM_MOUSEMOVE消息的响应函数中进行判断
|
阅读全文(1790) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]VC++对话框的任意扩展 |
我们在信息输入的时候,可能有很大的信息量,而这些信息又不是必须的,这时我们就需要给信息输入人员一个选择的接口。例如一个人事部门的职工信息录入系统就有这样的问题 ,其中的姓名、性别、年龄、政治面目、职务、学历、部门和联系电话是必须输入的信息,而婚姻状况、毕业学校、籍贯和健康状况是可输可不输的信息且大多数情况下不需要录入,如何为信息录入人员提供一个方便的输入接口,下面我们就针对这个问题提供一个我认为比较好的方法。
第一步:在VC编程环境下建立一个基于对话框的工程,工程名为ExpandDlg,所有的选项都取默认值。
第二步:建立我们都对话框,其中必须要有这样两个控件,一个是PICTURE控件,一个为按钮,其ID值分别为IDC_DIVIDER和IDC_MORE。其它的控件可以任意布局,最终结果就是对话框被IDC_DIVIDER控件分成了两部分,其中下半部分可以根据你的爱好动态显示或不显示,对话框如下图:
第三步:生成按钮IDC_MORE的消息映射函数OnMore,在ExpandDlgDlg.h中定义两个函数如下:
pu
|
阅读全文(3317) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]用VC6.0实现超级链接 |
[【技术文档】]使KMP算法支持中文字符集 |
(by flyhigh)
KMP算法是字符串模式匹配算法,可以很大程度上提高匹配速度,关于这个算法及其原理我不多说了,有兴趣的话可以在《数据结构》中找到详细的说明。
但是目前从网上能够找到的算法实现都没有解决DBCS字符集的问题。
举个例子:
主串:唋mcabclmc
模式串:lmc
注:唋=0x86+0x6C,0x6C=’l’
如果你用普通的KMP算法你会找到两个位置:1,7,但事实上只有第7个位置是我们需要的。
通过下面简单的改造我们就可以让它支持中文字符集。
改进后的代码:
NEXT算法不变:void KMP_NEXT(const char *pszPattern,int nSize,int *pNextRecv) { pNextRecv[0]=-1; &nbs
|
阅读全文(3408) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]消息钩子函数入门篇 |
Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实 现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程 序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或进程中的各种事件 消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩 子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,屏幕取 词,日志监视等等。可见,利用钩子可以实现许多特殊而有用的功能。因此,对于高级编 程人员来说,掌握钩子的编程方法是很有必要的。
钩子的类型 一. 按事件分类,有如下的几种常用类型 (1) 键盘钩子和低级键盘钩子可以监视各种键盘消息。 (2) 鼠标钩子和低级鼠标钩子可以监视各种鼠标消息。 (
|
阅读全文(2832) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]如何用程序取得网卡硬件序列号? |
HOWTO:GettheMACAddressforanEthernetAdapter ArticleID:Q118623
Theinformationinthisarticleappliesto: MicrosoftWin32SoftwareDevelopmentKit(SDK)onthefollowingplatfo rms:
-MicrosoftWindowsNTversions3.1,3.5,3.51 -MicrosoftWindows95
SUMMARY ThisarticledemonstrateshowtogettheMediaAccessControl(MAC)ad dressf
|
阅读全文(1399) | 回复(0) | 编辑 | 精华 | 删除 |
[【技术文档】]winsock编程基础(很详细)[2] |
简单的 Winsock 应用程式设计(4)
林 军 鼐
笔者在前几期的文章中已经介绍了大部份 Winsock 1.1 所提供的应用程式发 展介面;笔者也相信有读者已经开始利用这些 API 来开发自己的网路应用程式 了。但是可能仍有部份读者还是不清楚自己该先有哪些发展工具才能开发 Winsock 1.1 的应用程式?
基本上,读者当然一定要有 Microsoft C 或 Borland C 之类的编译程式 (Compiler)才能编译您的程式;至於和 Winsock 有关的档案只有两个,一个 是『winsock.h』,另一个是『winsock.lib』。这两个档案,读者们可以利用 anonymous ftp 的方式从 SEEDNET 台北主机「tpts1.seed.net.tw」的 『UPLOAD/WINKING/Winsock_Documents』目录下取得。
接著笔者要
|
阅读全文(3195) | 回复(0) | 编辑 | 精华 | 删除 |
| 站点首页 | 联系我们 | 博客注册 | 博客登陆
Sponsored By W3CHINA W3CHINA Blog 0.8 Processed in 0.078 second(s), page refreshed 144799334 times. 《全国人大常委会关于维护互联网安全的决定》 《计算机信息网络国际联网安全保护管理办法》 苏ICP备05006046号
|