VC
文章平均质量分 57
zhongbin104
这个作者很懒,什么都没留下…
展开
-
VC中利用webbrowser执行自定义JS函数
转载请注明文章出处与作者信息。 最近查找了很多资料来执行自定义的JS函数,例如:function TC(){var t=document.title;return t;} 。 网上搜索的资料有蛮多,但是一直没能很快的完成。花了2天时间,终于完成了。特发博记忆与分享下。 1、首先在源文件里 加入导入库和空间声明: #import原创 2012-03-27 11:49:08 · 4400 阅读 · 1 评论 -
C++枚举线程方法
主要使用的下面几个函数:1、CreateToolhelp32Snapshot2、Thread32First3、Thread32Next所以要引用下面的头文件:#include 枚举线程的代码如下:// 枚举系统当前所有线程信息// 并把信息输出到工程目录下EnumInfo_thread.txtBOOL EnumThreadInfo (){ // 定义线程信息原创 2012-08-15 00:57:52 · 4664 阅读 · 1 评论 -
main与WinMain的区别
main 是一般C程序的进入点: int main(int argc, char *argv[ ], char *envp[ ]); { ……} WinMain 则是Windows 程序的进入点: int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,原创 2012-10-16 13:46:03 · 6155 阅读 · 0 评论 -
VC6源码转换VC9或VC10:enum重定义 的解决版本
由于VC6下的C++标准和VC9、VC10的C++标准不一样,VC9和VC10的C++更标准,所以项目源码转换的时候,有时会出现一些重定义的错误。 出现重定义加如下代码: //在stdafx.h文件中#define WINVER 0x0500#define _WIN32_WINNT 0x0500所有定义为以下Windows 95原创 2012-05-22 15:10:57 · 1286 阅读 · 0 评论 -
C++的虚函数理解
以下是对虚函数的理解:如果你期望派生类重新定义一个成员函数,那么你应该在基类中把此函数设为virtual。 以单一指令唤起不同函数,这种性质称为Polymorphism,意思是 "the ability to assume many forms",也就是多态。虚函数是C++语言的Polymorphism 性质以及动态联编的关键。 既然抽象类中的虚函数不打算被调用,我原创 2012-10-17 17:59:03 · 610 阅读 · 0 评论 -
类的前置声明(forward declaration)和包含头文件(#include)的区别
本内容摘自CSDN论坛,地址:http://topic.csdn.net/u/20110327/23/d18d2aa8-a20f-4c19-bc45-25e1b8419a77.html#replyachor类的前置声明(forward declaration)和包含头文件(#include)的区别常常会迷惑我们,特别是涉及两个类相互包含的时候。因此我们有必要搞清楚二者的区别以及二者的适用场合。原创 2012-10-24 11:45:24 · 1939 阅读 · 0 评论 -
VC下加载JPG/GIF/PNG图片的两种方法(转)
本文转自 http://blog.sina.com.cn/s/blog_6582aa410100huil.html。仅管VC有提供相应的API和类来操作bmp位图、图标和(增强)元文件,但却不支持jpg、gif和png等格式的图片,而这几种格式却是常常要用到的。这里我给大家介绍两种办法来操作这些格式的图片。1.用APIOleLoadPicture来加载JPG、GIF格式的图转载 2013-03-28 13:09:28 · 4608 阅读 · 0 评论 -
vc++加载透明png图片方法——GDI+和CImage两种
先看看GDI+的方法方法1:1.GDI+画透明图层(alpha)的png图片stdafx加入如下:#include //初始化一下com口#include "GdiPlus.h"using namespace Gdiplus;#pragma comment(lib,"gdiplus.lib")开始初始化:在app类的声明里(转载 2013-03-28 13:14:54 · 28816 阅读 · 5 评论 -
CHtmlView 和 Webbrowser 控件中超链接点击事件的获取与检测
本文转自:http://live.aulddays.com/tech/08/chtmlviewlinkclick/在自己的程序中使用 CHtmlView 或直接嵌入 Webbrowser 控件显示网页时,常常需要获取网页元素的一些事件,以实现对网页显示的控制或与网页元素进行交互。最常见的莫过于获取用户对网页上超链接的所有点击事件。要实现这个需求,在MSDN 中描述了接收网页元素转载 2013-03-28 14:02:49 · 3171 阅读 · 0 评论 -
网页游戏加速浏览器的原理是什么?
W:网页游戏加速浏览器的原理是什么?Q: 网页游戏加速浏览器,可以加速游戏,主要运用了以下原理:1)浏览器设置了代理,加速资源拉取速度,提高游戏流畅性;2)浏览器对其它应用进行限速,经历将资源分配给浏览器;3)浏览器动态改变flash的帧速,加速/减慢flash播发速度。如加快帧速,使得打怪速度变快,但并不适用所有的游戏(如果服务器端做了严格的验证,将无效);减慢帧速,使打地鼠游戏转载 2013-03-28 14:22:34 · 8950 阅读 · 0 评论 -
遍历INI文件和删除指定域内容
主要还是使用的INI文件操作的API,只是把参数修改下。BOOL WINAPI WritePrivateProfileString( __in LPCTSTR lpAppName, __in LPCTSTR lpKeyName, __in LPCTSTR lpString, __in LPCTSTR lpF原创 2013-07-05 13:45:29 · 4429 阅读 · 0 评论 -
读取资源文件里的文本内容
在项目中,有时我们文本内容写到资源里,如下:资源视图里的string table项双击打开string table项,我们看到下面这些内容,这些内容这样展示是不是很清晰呢?之后我们就要在程序中去获取这些内容了,那怎么做呢? 比如我们要获取"CAPS"这个字符串,简单代码如下:CString str = CString(LPCTSTR(IDPANE_CAPS_原创 2013-07-23 15:38:41 · 889 阅读 · 0 评论 -
创建线程 - CreateThread
MSDN中CreateThread原型: HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dw原创 2012-08-15 00:40:29 · 838 阅读 · 0 评论 -
创建进程-CreateProcess (二)
STARTUPINFO结构中的cb字段表示该结构的长度,表示子进程继承父进程的STARTUPINFO结构。如果要修改子进程的启动信息,就要先获取到父进程的信息,然后再设置STARTUPINFO结构中的相应字段。如下隐藏启动一个程序: char lpPath[] = "notepad.exe" ; STARTUPINFO si = { sizeof(si) } ; //原创 2012-08-15 00:16:15 · 4677 阅读 · 0 评论 -
webbrowser显示网页游戏时偶尔出现白屏解决办法。
最近自己尝试制作一个简单的浏览器,测试过程中发现一些问题,尤其是白屏现象,困扰了我很多。今天解决了发帖说说。 因为对单文档和多文档编程不是很熟悉,我使用的是Dialog模式。开始玩玩网页什么的,没什么问题。一玩网页游戏,问题就来了。只要用其他窗口覆盖一下自己的浏览器窗口,窗口上就会出现很多白色的块,人物走动几下就好了。在IE里测试了下,没有发现这个问题,那就是自己写的浏览器有问题。原创 2012-04-25 16:37:40 · 5786 阅读 · 0 评论 -
Webbroswer或者DLG中嵌入的View(继承CHtmlView)显示网页内容部分白屏
如上图。 中间的白色区域就是出现的白屏。白屏出现的情况: 使用一个QQ聊天对话框先遮挡自己写的浏览器,之后再移开,如此循环,出现白屏的情况比较严重。如题描述,在使用Webbroswer控件或者是 DLG嵌入View模式都会出现白屏的问题。。但是我使用多文档模式,View继承CHtmlView则一直没测试出白屏的效果。因为前面的项目是使用的DLG模式。 改多文档不合适,所以在原创 2012-04-23 17:07:04 · 1210 阅读 · 0 评论 -
关于MFC项目中使用CDHtmlDialog禁止脚本错误的方法
当WebBrowser控件(CDHtmlDialog自动创建了WebBrowser控件)加载的网页中含有错误Javascript代码时默认情况下控件会弹出错误信息提示对话框,相对于用户体验来说这样的提示完全不是开发人员想要的,针对这个问题有两个解决方案,一是完全屏蔽掉错误提示,二是控制错误的提示并且记录错误信息同时也可以控制出现错误后Javascript是否继续执行。1、屏蔽错误信息提示转载 2012-05-11 00:16:47 · 4454 阅读 · 3 评论 -
CDHtmlDialog显示滚动条
CDHtmlDialog默认不显示滚动条,查看CDHtmlDialog::Initialize实现代码,发现如下代码:SetHostFlags(DOCHOSTUIFLAG_NO3DBORDER | DOCHOSTUIFLAG_SCROLL_NO);如果要显示滚动条,可以重写OnInitDialog函数增加如下代码:SetHostFlags(DOCHOSTUIFLAG_FLAT_SC转载 2012-05-11 00:12:36 · 3699 阅读 · 1 评论 -
CRgn几种创建方法,不规则窗体
一、序言 在绝大多数的Windows应用程序中,其窗体都是使用的正规正矩的矩形窗体,例如我们常用的,“记事本”,“扫雷”,等等。矩形窗体,具有编程实现简单,风格简洁的优点,所以在普通文档应用程序和简单小游戏中使用足矣。但在某些娱乐游戏程序中使用就略显呆板些了,这时若用不规则窗体替代原先的矩形窗体,将会使这类程序更添情趣。典型的例子有windows 自代的Media Player,新版本的Me转载 2012-05-12 09:39:27 · 1095 阅读 · 0 评论 -
修改活动窗口标题栏的样式和标题栏字体
转载自 qinhualuo最终编辑 qinhualuo部分摘抄自:http://topic.csdn.net/t/20041217/09/3653340.html处理WM_NCPAINT等几个非客户区消息,这些 消息处理之后都要调用缺省函数DefWindowProc(),因此 重载DefWindowProc虚函数. 对话框属性有 Tool Win转载 2012-05-12 10:54:40 · 8119 阅读 · 0 评论 -
CDHtmlDialog探索----Javascript与窗体交互
CDHtmlDialog提供了C++与网页的双向交互,通此一系统简单的宏调用可以把网页中各元素的事件直接映射到C++程序中,而在网页中调用C++功能代码就显的不那么直观了。归根结底交互的基理就是实现相应COM接口。实现方式如下:1、在窗体初始化时调用EnableAutomation函数。 通常情况下是放在窗体的构造函数中,EnableAutomation();转载 2012-05-11 00:19:55 · 984 阅读 · 1 评论 -
用MFC实现WebGUI--(CDHtmlDialog)
自从去年年底一次棘手的界面,开始研究用web做界面到现在大约1年,这一年间不是局限在实现层面,也并非一直研究这一个问题,有很多问题其实不是问题,只是自己没有想清楚或者思想没放开。对于一个界面开发人员,想必拉的对话框不少于100个,腻味不必说,光是对话框大小改变导致控件跟着变化都需要一番功夫,加上界面美观,界面的风格统一,界面的灵活多变......,头痛。在对话框里面加载位图,加载gif,超链接..转载 2012-05-11 00:23:46 · 1278 阅读 · 1 评论 -
VC 实现 自绘 窗体 标题栏 非客户区
转载自 ljfblog最终编辑 gh0716本程序在VC03测试成功,效果, 图片素材:从BC1.bmp到第2页的UR_N.bmp■■更新■■ 彻底解决最大最小关闭按钮依然显示的问题: 在WindowProc中加入: if(message == 0x00AE|| //:WM_NCUAHDRAWCAPTION message == 0x00AF)//:WM_N转载 2012-05-12 10:55:46 · 5757 阅读 · 0 评论 -
C++枚举进程的方法
主要使用的下面几个函数:1、CreateToolhelp32Snapshot2、Process32First3、Process32Next所以要引用下面的头文件:#include 枚举进程的代码如下:// 枚举系统当前所有进程信息// 并把信息输出到工程目录下EnumInfo_ToolHelp_process.txtBOOL EnumProcessInfo()原创 2012-08-15 00:53:19 · 6369 阅读 · 1 评论 -
创建进程-CreateProcess (一)
CreateProcess函数用于创建进程:函数原型: BOOL CreateProcess ( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes。 LPSECURITY_ATTRIBUTES lpThreadAttrib原创 2012-08-14 23:51:49 · 5210 阅读 · 0 评论 -
MFC下检测计算机是否联网
这里讲一个最简单的方法:Bool IsNetworkAlive( __out LPDWORD lpdwFlags);返回TRUE表示联网,FALSE表示未连接到网络。使用时注意在头部加入如下代码:#include #pragma comment(lib, "Sensapi.lib")函数使用举例:DWORD dw;原创 2013-08-30 17:29:30 · 2781 阅读 · 0 评论