Welcome 微信登录

首页 / 软件开发 / C++

如何获取网页中的密码和文本输入框的内容

如何获取网页中的密码和文本输入框的内容

如何获取网页中的密码和文本输入框的内容2011-01-07谭昕一、介绍网页中的密码输入框和一般不同,它没有句柄之类的,但是通过获取IE的IHTMLInputTextElement接口,就可以获取网页中的输入框(包括文本和密码输入框)的内容了。源代码在VC知识库首页运行效果图如下:二、具体代码VARIANT id, index; CComPtr<IDispatch> spDispatch; CComQIPtr<IHTMLDocument...
如何获取线程关联用户名和域名

如何获取线程关联用户名和域名

如何获取线程关联用户名和域名2011-01-07 vckbase 在Windows NT/2000/XP上编写程序时,有时会需要我们获取与当前调用线程关联的用户名和域名(domain),本文下面将示范在Windows NT/2000/XP环境里如何使用Win32 API有关安全的函数来获取用户名和域名。在Windows NT之前,一般都假设某个线程是运行在登录用户的帐号之下。但Windows NT问世以后,允许线程可以在多个安全上下文中运行,言下之意就是一...
如何获取网页密码框中的密码

如何获取网页密码框中的密码

如何获取网页密码框中的密码2011-01-07前言本人是在家中上网,经常有一些BBS的密码懒得记了,就用IE的自动密码保存功能,这样一来是方便了,但却有一个麻烦,一旦机子不行了,想要重装操作系统了,这些密码却也取不出了,还得重新申请,好麻烦!因此我就写了一个工具,可以取得网页密码框的密码.因为网页密码框不是一般的EDIT控件,因此不能取得网页密码框的句柄.要实现这个功能,只好通过WebBrowser控件的有关COM接口了.因此取得这些接口是整个程序的关键....
颜色支持,控制台应用

颜色支持,控制台应用

颜色支持,控制台应用2011-01-07知足者颜色支持控制台应用保存用户设置我读了你在 2001年7月 的专栏文章“怎样创建256色工具条”(编者注:中文译文参见在线杂志第11期)。然而我听说,除非你的IE浏览器为3.0或以后的版本,否则,Windows95 不支持256色工具条,在这种情况下,应用程序将使用一个默认的16位色工具条。我怎样能够判断一个256位色或更高颜色位的工具条是否被支持?Bayland Park我喜欢这样&md...
解析Windows2000的IDT扩展机制

解析Windows2000的IDT扩展机制

解析Windows2000的IDT扩展机制2011-01-07Brief前言今天我们谈谈Windows 2000下中断机制的扩展,首先申明本文提到的技术并非本人发现的,只不过是我在学习Windows内核过程中的一点心得罢了,目的在于为和我一样刚刚步入Windows底层学习的朋友提供一点实用的资料,同时也顺带记录下自己的学习过程。如果您是Windows Kernel高手,还望有时间能多多指点一下我们这些晚辈;如果您也是初学者,同样欢迎到我们FZ5FZ网站来交...
开发Windows 2000/XP下的防火墙

开发Windows 2000/XP下的防火墙

开发Windows 2000/XP下的防火墙2011-01-07PowerCPP介绍如果你决定开发LINUX下的防火墙,你会找到很多免费的信息与源代码。但如果开发WINDOWS平台下的防火墙会有点困难,找到相关信息与代码都简直是不可能的任务。因此我决定写这篇文章介绍在WINDOWS 2000/XP下开发防火墙的简单方法。背景在WINDOWS 2000 DDK中,微软包含了称为Filter-Hook Driver的新型网络驱动。你可以使用它来过滤所有进出接口...
一个多线程的日志记录DLL

一个多线程的日志记录DLL

一个多线程的日志记录DLL2011-01-07tiller日志记录对于应用程序来说是很重要的。本文就简单实现的实现了这样一个模块。该模块实现对程序预期的信息进行记录的功能。该模块为每一个向它进行注册的模块开启一个线程并同时创建或者打开一个同名但扩展名为.log的文本文件,此文件位于程序可执行文件目录下的/Log子目录下。这样也具有了一定的灵活性,比如可以再Debug版本中用此库输出调试信息到文件,而在Release版本中真正用于记录日志信息。下面对其中的两...
使用ATL编写一个简单的COM服务器

使用ATL编写一个简单的COM服务器

使用ATL编写一个简单的COM服务器2011-01-07本文的对象是COM编程初学者,其目的旨在描述如何用ATL创建COM服务器,以及如何在VC或VB编写的客户端应用程序中调用COM服务器。为了不给初学者增加负担,本文不打算深入讨论COM和IDL的细节,而是展示用ATL创建简单的COM对象所需要的步骤。希望通过这篇文章能刺激你学习COM编程的欲望。第一步:运行ATL COM向导(参见图一)你要做的第一件事情是启动VC创建一个新的工程。选择“AT...
如何在Delphi中调用VC6.0开发的COM

如何在Delphi中调用VC6.0开发的COM

如何在Delphi中调用VC6.0开发的COM2011-01-07xacn上次写了如何在VC6.0下对Delphi写的COM进行调用,原本想马上写如何在Delphi中调用VC6.0开发的COM时,由于在写事例程序中碰到了个很怪的问题,在我机子上用VC写的接口程序编译能通过。但是调用就会出现问题,(在VC下调用也是一样的出现)。但是用Delphi写的接口程序编译后,不管是在VC下还是在Delphi下调用都没有问题。后来我把VC开发的接口程序编译后,拷贝到其它...
如何在windows程序中读取bios内容

如何在windows程序中读取bios内容

如何在windows程序中读取bios内容2011-01-07今天和夜月兄讨论了一下在windows nt/2000/xp下如何读取bios信息,现在把结果向大家汇报一下。大家都知道,windows接管了对物理内存的直接存取,而bios信息存在物理内存的f000:0000处,关键就是如何读取物理内存。查阅了msdn的文章后,发现以下有几个函数和物理内存访问有关:NTSTATUS ZwOpenSection(OUT PHANDLE SectionHandle...
在VC 6.0下如何调用Delphi开发的进程内COM

在VC 6.0下如何调用Delphi开发的进程内COM

在VC 6.0下如何调用Delphi开发的进程内COM2011-01-07xacn源代码包中共有两个zip文件,其中DelphiCallVCCOM.zip为Delphi调用VC的COM组件,VCCallDelphiCOM.zip为VC调用Delphi的COM组件因为本人的语言水平很差,考大学时150的总分,我考了个60分。外语也是,初中及格过一次,会考及格过一次。其它的时间好像从没有及格过。所以我不写文章,因我一百字的文章给我写,至少要出八九个错别字。哈哈...
关于托盘的一点总结

关于托盘的一点总结

关于托盘的一点总结2011-01-07张海明很多软件例如:KV3000等在关闭之后会在托盘区有一个小的托盘图标,这表示程序并没有真正停止而在后台运行。当我们单击鼠标时可以使它在桌面上出现一个最大化窗口;而如果我们单击程序右上角х,或者单击文件菜单中的退出项时程序仍然在托盘上运行;只有我们右键单击托盘图标在出现的菜单中选择退出才能够真正退出程序等。现在我们通过一个类CSystemTray和修改系统菜单来实现上述功能。我们先来改变系统菜单。1、当我们在程序的标...
浅谈系统的定时关机

浅谈系统的定时关机

浅谈系统的定时关机2011-01-07闵尖在写这个程序之前,我曾看到过别人用SDK写的关机程序。不过他的程序只在WIN9X下有效,在2000中就不行了,不能关机只能注销。因为2000属于多用户操作系统,要想关机就要获得权限。在查阅了MSDN后整理出了这个关机程序。 TOKEN_PRIVILEGES tkp; HANDLE hToken; if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_P...
浅谈系统的非定时自动关机

浅谈系统的非定时自动关机

浅谈系统的非定时自动关机2011-01-07杨立刚我们经常遇见定时关机的情况,我在此提出的非定时关机,是应用在我们不能预料我们的作业什么时候完成的情况下,举个例子:本人平时在用matlab运行某算法训练大量数据时,由于难以判断其训练时间长短(有时是几小时),没有耐心去等,但我注意到,在训练数据时,CUP利用一直是100%或100%稍左,我们可以试着自己编个程序来等待CPU利用率为0时关机(即matlab训练结束时)。但有一点,必须在matlab程序里有保存...
系统定时休眠

系统定时休眠

系统定时休眠2011-01-07jans单位最近加强安全检查,除了部分服务器,下班不关机器的同事,都被罚了款。为此,我试着下载了几个自动关机的程序,但是都不好使。都是最后显示“你可以安全地关闭计算机了!”。到网上问了半天说是高级电源管理设置的问题。我折腾了半天,还是不行,为什么Windows自己的关机就可以关掉电源,而我们的程序就只能“你可以安全的关闭计算了!”。看来微软还不知道在哪里留了一手。好在还有收获,...
线程通信--利用事件对象

线程通信--利用事件对象

线程通信--利用事件对象2011-01-07龚辉斌在线程之间传送信号可以使用事件对象,用MFC的CEvent来表示。一个事件对象有两种状态:信号态与非信号态。线程能监视于信号态的事件,以便在适当的时间完成对事件的操作。创建事件的语句如下:CEvent ThreadBegin;事件被创建后就自动处于非信号态,要使用它处于信息态,必须使用对件对象的成员函数SetEvent(),即:ThreadBegin.SetEvent();线程监视这个信号来知道事件已准备就...
线程同步--使用互斥

线程同步--使用互斥

线程同步--使用互斥2011-01-07龚辉斌互斥跟临界区很相似,便远比临界区复杂。因为使用互斥不仅仅能够在同一应用程序不同线程中实现资源的安全共享,而且可以在不同应用程序的线程之间实现对资源的安全共享。通过CMutex来完成线程间的互质,即:CMutex Mutext;从而我们可以这样来定义数据对象:#include "afxmt.h"class CDataArray{private: int iArray[10]; CMutex...
线程同步--使用临界区

线程同步--使用临界区

线程同步--使用临界区2011-01-07龚辉斌临界区是一种保证在某一时刻只有一个线程能访问数据的简便办法。不管哪一个线程占用临界区对象,它都可以访问受保护的数据,而其他线程就必须等待,直到占用临界区的线程进行释放操作,从而临界区的数据是不会一个以上的线程同一时刻访问的。在MFC中通过CCtiticalSection类来创建临界区实例,如:CCriticalSection CriticalSection;当线程准备访问临界区的数据时,必须调用它的成员函数L...
线程同步--使用信号量

线程同步--使用信号量

线程同步--使用信号量2011-01-07龚辉斌除了使用临界区与互斥可以完成线程间的同步外,还可以使用信号量CSemaphore。使用信号量还有一个好处便是:信号允许多个线程同时使用共享资源,这便与操作系统中的PV操作有些雷同的地方。它指出了同时访问共享资源的线程最大数目。在信号量内部有一个计数器,当有线程访问共享资源时,计数器将自动递减,当它为0时,不再允许其他线程对共享资源的访问,直到有一个线程释放共享资源,从而完成对共享资源的保护。在建立一个信号量时...
<< 291 292 293 294 295 296 297 298 299 300 >>