VC/MFC
immortal_mcl
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
VC中实现按钮提示,使用CToolTipCtrl
VC中实现按钮提示,使用CToolTipCtrl 2008-11-25 14:46本文引自:http://hi.baidu.com/yh121212/blog/item/13f7b7ded5197358cdbf1afe.html如果你需要对对话框上的一个按钮进行鼠标停靠提示,那么这么做:1. 在这个对话框的定义部分添加黑体部分:class CMyDlg : publi转载 2010-04-20 00:38:00 · 574 阅读 · 0 评论 -
获得某程序加载的DLL的绝对路径
<br />DWORD GetPID (WCHAR* proc){ BOOL working=0; PROCESSENTRY32 lppe= {0}; DWORD targetPid=0; HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS ,0); if (hSnapshot) { lppe.dwSize=sizeof(lppe); working=Process32First(hSnaps原创 2010-10-22 20:51:00 · 1446 阅读 · 0 评论 -
通过进程名获取程序路径
<br />#include <psapi.h> #pragma comment(lib,"psapi.lib") DWORD id; HMODULE hModule; DWORD needed; CString rr; CString pszProcessName="a.exe"; char drpath[MAX_PATH]; HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32C原创 2010-10-27 00:15:00 · 882 阅读 · 0 评论 -
Unicode字符集下CString与char *转换
<br /> 在VS2008中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多字节字符集(MBCS:Multi-Byte Character Set),这样导致在VC6.0中非常简单实用的各类字符操作和函数在VS2008环境下运行时会报各种各样的错误,这里总结了在VS2008环境中Unicode字符集下CString和char *之间相互转换的几种方法,其实也就是Unicode字符集与MBCS字符集转换。<br />1、Unicode下CString转换为char *<转载 2010-10-29 22:34:00 · 1051 阅读 · 0 评论 -
hook API 获取或者改变数据包的实现
API hook数据包的实现Windows系统函数都是以DLL封装起来的,应用程序应用到系统函数时,应首先把该DLL加载到当前的进程空间中,调用的系统函数的入口地址,可以通过GetProcAddress函数进行获取。当系统函数进行调用的时候,首先把所必要的信息保存下来(包括参数和返回地址,等一些别的信息),然后就跳转到函数的入口地址,继续执行。其实函数地址,就是系统函数“可执行代码”的开始地址。修改系统函数入口的地方,让他调转到我们的函数的入口点就行了。采用汇编代码就能简单的实现Jmp addr,转载 2010-11-03 23:16:00 · 2133 阅读 · 0 评论 -
字符串指针 与 字符串比较的正确方法
<br />LPCSTR lpszWindowName;.......if(lpszWindowName == "....."){.....}//上面是无法正确获得结果的,应该用下面的方法if(memcmp(lpszWindowName, "......", 6) == 0){.....}原创 2010-12-27 01:31:00 · 1189 阅读 · 0 评论 -
UTF-8转ANSI的方法
<br />void ConvertUTF8ToANSI(char* strUTF8,CString &strANSI) // { int nLen = ::MultiByteToWideChar(CP_UTF8,MB_ERR_INVALID_CHARS,(LPCTSTR)strUTF8,-1,NULL,0); //返回需要的unicode长度 WCHAR * wszANSI = new WCHAR[nLen+1]; memset(wszANSI, 0, nLen * 2转载 2010-11-07 10:13:00 · 2522 阅读 · 0 评论 -
VC开发指南--Visual C++/MFC入门教程
<br />VC开发指南<br />1.1 如何学好VC<br /> 这个问题很多朋友都问过我,当然流汗是必须的,但同时如果按照某种思路进行有计划的学习就会起到更好的效果。万事开头难,为了帮助朋友们更快的掌握VC开发,下面我将自己的一点体会讲一下:<br /> 1、需要有好的C/C++基础。正所谓“磨刀不误砍柴工”,最开始接触VC时不要急于开始Windows程序开发,而是应该进行一些字符界面程序的编写。这样做的目的主要是增加对语言的熟悉程度,同时也训练自己的思维和熟悉一些在编程中常犯的错误。更重要的是理转载 2010-11-13 17:41:00 · 1895 阅读 · 0 评论 -
VC开发指南--Visual C++/MFC入门教程
<br />VC开发指南<br />1.1 如何学好VC<br /> 这个问题很多朋友都问过我,当然流汗是必须的,但同时如果按照某种思路进行有计划的学习就会起到更好的效果。万事开头难,为了帮助朋友们更快的掌握VC开发,下面我将自己的一点体会讲一下:<br /> 1、需要有好的C/C++基础。正所谓“磨刀不误砍柴工”,最开始接触VC时不要急于开始Windows程序开发,而是应该进行一些字符界面程序的编写。这样做的目的主要是增加对语言的熟悉程度,同时也训练自己的思维和熟悉一些在编程中常犯的错误。更重要的是理转载 2010-11-13 17:40:00 · 2365 阅读 · 0 评论 -
VC开发指南--Visual C++/MFC入门教程
<br />VC开发指南<br />1.1 如何学好VC<br /> 这个问题很多朋友都问过我,当然流汗是必须的,但同时如果按照某种思路进行有计划的学习就会起到更好的效果。万事开头难,为了帮助朋友们更快的掌握VC开发,下面我将自己的一点体会讲一下:<br /> 1、需要有好的C/C++基础。正所谓“磨刀不误砍柴工”,最开始接触VC时不要急于开始Windows程序开发,而是应该进行一些字符界面程序的编写。这样做的目的主要是增加对语言的熟悉程度,同时也训练自己的思维和熟悉一些在编程中常犯的错误。更重要的是理转载 2010-11-13 17:41:00 · 1476 阅读 · 0 评论 -
减少文件特征码的一些方法与技巧
我们最开始拿到一个木马和远程控制的生成服务端来说吧,没有经过处理的特征码可定是很多的,但经过我们处理的话特征码就变少了,处理分为简单处理,和非简单处理,简单处理的有,替换下版权和图标,修改下资源名,加壳脱壳中建输入表,这个貌似对360有点用处,,加壳加花,或在PE 128字节出把00修改为90,这个方法对金山有点用处,,江民加壳加花也是起一定的用处的 或添加数字签名等。。。。这些都是一些简单的转载 2013-09-10 23:03:34 · 1517 阅读 · 0 评论 -
详谈 vc++源码免杀全套思路方法
首先说中国国内杀毒软件的特征 。1 金山毒霸 ,我个人觉得杀的代码部分和字符串还是比较普遍的 。输入表函数 我个人不多见 。2 瑞星 ,经实战经验 ,瑞星杀毒软件是垃圾。 过掉金山 也就过瑞星了 除非杀敏感的字符串 。3 江民 ,纯属基本就是杀字符串 。。 大家可以进行 隐藏代码 就可以。。你懂得4 也就是大家最头疼的 360杀毒 。这个就是重点。因为过转载 2013-09-10 23:03:35 · 6977 阅读 · 0 评论 -
不同类型变量转换---------ATL提供的所有转换宏
在头文件中定义了ATL提供的所有转换宏,如下: A2CW (LPCSTR)->(LPCWSTR) A2W (LPCSTR)->(LPWSTR) W2CA (LPCWSTR)->(LPCSTR) W2A转载 2010-10-18 01:33:00 · 541 阅读 · 0 评论 -
VC++中Dialog和Windows的使用技巧
<br />注:以下代码以一个名为CTest6Dlg的对话框类为例,使用时更改为相应的自己的类<br />--------------------------------------------------------------------------------<br />1. 在任务栏隐藏对话框<br /> ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);<br /><br />--------------------------------转载 2010-10-07 00:15:00 · 687 阅读 · 0 评论 -
深入了解MFC中的文挡/视框架
深入了解MFC中的文挡/视框架转自:http://www.huinu.com/viewnews-42294.html Visual C++ 6.0 以其功能强大、用户界面友好而倍受程式员们的青睐。但是,在当前的Microsoft 基本类库4.2 版本中,大约有将近200 个类,数千个参数,加之Microsoft 公司隐藏了一部份技能细节,使得大家深入研究MFC变得十分困难。 MFC的App转载 2010-04-20 00:23:00 · 555 阅读 · 0 评论 -
WM_PAINT消息造成CPU卡死的原因。。。。关于CDialog类和CWnd类的WM_PAINT消息的理解
CDialog类调用WM_PAINT消息会自动调用ValidateRectCWnd类调用WM_PAINT消息需要手动调用。 InvalidateRect(HWND) 使窗口无效 产生消息WM_PAINT; ValidateRect(HWND) 使窗口有效 清除消息队列中的WM_PAINT消息 例如:class CMyWndDlg : public原创 2010-04-20 21:06:00 · 950 阅读 · 0 评论 -
在对话框里添加状态栏(一)
在对话框里添加状态栏(一)本文转自:http://sqq-htwlr.blog.163.com/blog/static/48833555200863072947919/ 状态栏类CStatusBar在MFC类库中,提供了CStatusBar类用于设计状态栏,CStatusBar类的主要方法如下。(1)Create方法:该方法用于创建状态栏窗口。语法如下:BOOL Create( C转载 2010-04-22 02:30:00 · 2012 阅读 · 0 评论 -
在对话框里添加状态栏(二)
在对话框里添加状态栏(二)本文转自:http://blog.163.com/sqq-htwlr/blog/static/48833555200863093544491/ 在网上搜索了一些关于此类的问题几个版本,就顺便归一下类,看着方便。方法一:首先在dialog的头文件里添加成员变量m_StatusBar(CStatusBar类型);再在resources转载 2010-04-22 02:29:00 · 1039 阅读 · 0 评论 -
在对话框里面使用ON_UPDATE_COMMAND_UI映射工具条(toolbar和菜单(menu)的心得
本文转自:http://topic.youkuaiyun.com/t/20021127/15/1210051.html 这几天为了写个小程序,在对话框上添加工具条(toolbar)和菜单(menu),网上友好多程序教你怎么在对话 框上添加工具条和菜单,但是很少提到怎么样对工具条和菜单添加ON_UPDATE_COMMAND_UI映射,后来网上 搜了好久,找到了一些方转载 2010-04-23 00:33:00 · 612 阅读 · 0 评论 -
DDX和DDV工作内幕
DDX和DDV工作内幕本文转自:http://yebin100.spaces.live.com/blog/cns!FDE47F0C54FC403E!137.entry?sa=117455521 DDX(动态数据交换和DDV(动态数据验证)看起来好象是在对话框中某控件和某成员变量之间建立连接,自动实现控件和变量之间的数据转移.但这只是一个幻觉.它的实际工作方式是这样的:当你用Clas转载 2010-04-26 03:08:00 · 1160 阅读 · 0 评论 -
ReadString在UNICODE下中文乱码的解决办法(Char型字符和Unicode字符的转换问题)
CStdioFile file; if (!file.Open(m_File_Path, CFile::modeRead)) return; CString strLine; while (file.ReadString(strLine)) { //strLine处理 }问题: CStdioFile在_MSBC环境下读取任何ANS转载 2010-05-18 23:38:00 · 5372 阅读 · 2 评论 -
ReadString在UNICODE下中文乱码的解决办法(CHS)
利用CStdioFile类中的ReadString()方法可以从文件中读取一行,但是在Unicode下,读取的内容有误,同时也无法将中文利用WriteString()写入文件。原因就在于读取文件时是按照 ASC 方式读取的,而直接设定字符串时,是按照nicode 方式读取的。若使得读取文件时按照 Unicode 方式读取,则需要添加:setlocale( LC_CTYPE, "chs" );转载 2010-05-18 23:40:00 · 3923 阅读 · 0 评论 -
终于搞定在VS2008中将CString转换为constchar*
<br />原来用VC6.0那有这些繁琐事情啊,现在用了VC2008开始还是有些不习惯,不过VS2008对C++标准更近了,慢慢熟悉起来就会好的。最多的问题就是在VC6.0中编译通过的代码转换到2008之后报致命错误,不过大部分都能一一修改过来,最近就是碰到了CString 转 const char *的问题。<br />以前只要简单的一个强制转换就OK了,可现在是不行了,搜索了很多资料,终于搞定,主要是Unicode和ANSI的问题,只要做一个转换就可以了,不过这个过程远没有6.0来的那么轻松。下面函数可转载 2010-06-06 14:23:00 · 754 阅读 · 0 评论 -
WTL中CString的使用问题
<br />atlmsic.h中定义的是WTL::CString,不过可以通过宏_WTL_USE_CSTRING和_WTL_NO_CSTRING来确定是否使用。<br />atlstr.h中定义的是ATL::CString。<br />如果按照说明,先定义_WTL_USE_CSTRING,然后包含atlmsic.h,就会出现CString定义不明的编译错误,其实就是编译器分不清你是用WTL::CString,还是ATL::CString。<br />避免这个问题的有两种方法:<br />1、只用atlstr转载 2010-10-03 22:04:00 · 3623 阅读 · 0 评论 -
VC 变量类型的转换
<br />本文将介绍一些常用数据类型的使用。<br />我们先定义一些常见类型变量借以说明 <br />int i = 100;<br />long l = 2001;<br />float f=300.2;<br />double d=12345.119;<br />char username[]="仔仔";<br />char temp[200];<br />char *buf;<br />CString str;<br />_variant_t v1;<br />_bstr_t v2;<br />一转载 2010-10-04 09:13:00 · 832 阅读 · 0 评论 -
对软件客户区进行视频录制,采用截图+压缩至avi的做法压缩代码
https://blog.youkuaiyun.com/immortal_mcl压缩代码:void CRobotAppView::OnTimer(UINT_PTR nIDEvent){// TODO: 在此添加消息处理程序代码和/或调用默认值if(m_timer)//如果上一次的定时器程序已经运行完,才执行下面的代码{m_timer=FALSE;//本次定时,正在运行,未结束前,不得进行下次运行CView* ...转载 2018-07-03 23:41:23 · 498 阅读 · 0 评论
分享