- 博客(55)
- 资源 (14)
- 收藏
- 关注
原创 teamviewer v_p_n+xp v_p_n服务实现在家访问公司内部局域网
原文地址:teamviewer v_p_n+xp v_p_n服务实现在家访问公司内部局域网 我的需求与作者是一样一样的,公司工作机IP为172.16.136.x,公司服务器IP有172.16.136.x网段、172.16.135.x网段,还有192.168.252.x网段等。在我的工作机上都能访问这些服务器。现在我想在家也能访问这些服务器,直接使用UNC访问,而不需通过远程工作机再访问这...
2019-10-28 12:42:48
40760
原创 VS调试F11进不到dll源码
最近研究Amazon的aws-sdk-cpp,是开源的代码,至少要用VS2013进行编译,因为代码中用到了C++11的新语法。用cmake生成了VS2017的工程,顺利的编译通过了。然后写了个简单的测试工程,能正确的编译和运行,可是调试时发现F11始终进不到dll的源码,而在dll源码里打上断点后,F5运行却能在dll源码断点处停下来。印象中之前也有遇到过,一直没有找出原因。今天花了一上午的时
2017-06-15 13:15:40
4359
原创 CentOS 7使用ceph-deploy(1.5.37)部署快速ceph(10.2.6)
说明:主要是参考http://docs.ceph.org.cn/start/这个快速安装步骤来进行的,当然也参考了很多网上的其他教程。由于对Linux系统的不熟悉,很多时间都是花在研究Linux命令上。1 准备环境:IPhostname操作系统磁盘空间安装模块172.16.131.180admin-nodeCentOS 7.2
2017-03-27 18:39:16
3821
原创 由dll导出lib文件
老生长谈的问题了,网上的教程也很多,这里以实际例子作个备份,并说明下注意点。 只有dll文件(my.test.dll)和头文件,没有lib文件,需要导出lib,静态编译进代码中,用VS自带的dumpbin.exe和lib.exe来完成。 dumpbin.exe和lib.exe的路径不赘述,路径见下图: 先用如下命令行导出dll的相关信息:dumpbin /export
2017-01-16 11:48:30
1672
转载 图文详解YUV420数据格式
原帖地址:图文详解YUV420数据格式YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表
2016-12-20 18:38:55
777
原创 取消应用程序崩溃后弹出的对话框
正常情况下,应用程序崩溃后,会弹出对话框,显示崩溃相关信息。有时候,用户并不希望出现这个对话框,所以需要取消。 这里有两篇博文介绍了方法,经过验证有效:如何取消WIN2008下应用报错后弹出的对话框 程序已停止 要求关闭程序和关闭Windows 2008下面应用程序出错后的提示。 除此之外,还可以利用AeDebug进行配置,不弹出对话框,参考的是这篇文章:程序崩溃时利用注册表自动转储内
2016-09-23 15:18:04
4401
原创 Windbg调试32位.net程序产生的64位dump
编写的32位托管程序在64位操作系统上运行,程序崩溃后,抓取了dump,希望用windbg来分析崩溃原因。正常情况下,32位程序崩溃后,需要用32位的程序来抓取dump,windbg和DebugDiag才能分析,若用任务管理器来抓取,需要用C:\Windows\SysWOW64\Taskmgr.exe来抓取。 但是若已经抓取了64位的dump,还是有方法来分析,需要加载soswow64.dl
2016-09-23 11:03:18
1587
原创 Windows下使用_access和_stat判断文件和目录是否存在的区别
判断一个文件和目录是否存在,可以使用_access或者_stat函数,但是要注意两点:_access能检测给定路径是否存在,但是无法区分这个路径是文件路径还是目录路径,比如指定路径d:\123,如果D盘下存在文件名为123的文件或者目录名为123的目录,_access都返回信息都是存在的,但是无法区分这个路径是文件路径还是目录路径。_stat函数则能正确区分文件还是目录。
2016-09-21 14:01:49
7941
原创 Windows 7及以上操作系统无法访问网络位置的问题
起因是这样的,程序需要访问网络文件,我就用资源管理器映射了网络驱动器。程序还需要访问数据库等操作,而操作系统是Windows 7,所以以管理员身份运行此程序,否则无法访问数据库。然而,程序竟然报系统找不到指定的路径,CreateFile失败,GetLastError返回3,但是资源管理器和其他程序却能访问这个文件。后来我不知什么时候把UAC给禁用了,程序竟然能访问那个文件了,我也不知道什么原因,反
2016-08-19 15:41:30
5026
转载 简单的Jax-WS WebService实现
文章见:简单的Jax-WS WebService实现 结构清晰,代码简洁易懂,方便我们这些不经常用JAVA的同学学习。
2016-06-14 13:54:34
780
原创 ADO操作Oracle\DB2\MySQL数据库CLOB\LONGTEXT备忘
因于工作需要,需要读取、写入Oracle和DB2数据库的CLOB字段,以及MySQL数据库的LONGTEXT字段。在JAVA中,使用hibernate操作CLOB或LONGTEXT时,只需将相应字段映射为text,就可以像普通字符串一样进行读取和写入,只是要注意的是,可能需要将相应的jdbc驱动升级相应版本。 但是在ADO中,经过测试,读取CLOB和LONGTEXT字段可以像普通字符串一样读
2016-05-16 18:51:14
2131
原创 OpenCV学习笔记之环境配置(VS2012+OpenCV3.1.0+SURF)
开始学习OpenCV啦,万事开头难,最重要也是最基础的一步就是搭建环境,从网上找了些教程来看,终于成功搭建起了环境,有些注意的地方,需要记下来,好记性不如烂笔头嘛。 首先,要先下载OpenCV,从sourceforge下载的最新版本3.1.0的OpenCV(https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.1.
2016-04-19 16:11:08
6656
3
原创 使用umdh检测内存泄露
使用WinDbg的工具umdh可以检测内存泄露,写了个批处理《AnalyzeMemoryLeak.bat》,方便调用,使用时可能需要先修改批处理文件中的程序名和路径。记录下来备忘。@echo offset currentdir=%~dp0cd /d "C:\Program Files (x86)\Debugging Tools for Windows (x86)"gflags /i Co
2014-12-02 12:19:10
2317
转载 VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
用VS2008开发ActiveX ocx,依照下面这篇教程能成功,
2014-10-15 11:43:44
1597
转载 VS2008搭建驱动开发环境
开发驱�?/span>搭建环境【上�?/span>VS2008 + WDK7600.11.安装vs2008,可以到微软的官方网站下载使用版�?/span>90天)http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=d95598d7-aa6e-4f24-82e3-81570c5384cb2.安
2014-10-15 11:04:40
1180
转载 在X64位机器上捕捉32位程序的进程的内存镜像文件要点
见:在X64位机器上捕捉32位程序的进程的内存镜像文件要点 主要是32位托管程序在64位机器上
2014-09-11 13:05:22
1020
原创 WinDbg常用调试命令
如何用WinDbg调试就不说了,满大街就是。此文只记录些常用的命令,不断补充,以备不时之需。只记录简单用法或命令名,具体用法查WinDbg的Debugging Help。 .reload:删除所有符号信息并重新加载需要的符号,一般用法“.reoad /f”。 !analyze:自动分析出异常信息,一般用法“!analyze -v”。 lm:列出加载的所有模块和每个
2014-09-11 10:29:12
4489
转载 windows路径操作API函数
路径截断与合并函数 PathRemoveArgs去除路径的参数PathRemoveBackslash去除路径最后的反斜杠“\”PathAddBackslash 在路径最后加上反斜杠“\”PathR
2014-09-09 10:51:03
913
原创 房贷还款计算
买房子了,按揭还款,为了了解两种贷款方式(等额本金方式和等额本息方式)的区别,以及每个月还款的详细信息,自己写了一个程序用来计算。 两种方式还款结果如下(都是贷40W,20年,年利率假定为0.0655): 等额本金方式和等额本息方式的概念如下: 等额本金:本金保持相同,利息逐月递减,月还款数递减。 等额本息:本金逐月递增,利息逐月递减
2013-12-03 20:54:43
1854
原创 应用程序启动后修改自身EXE文件或自删除EXE文件(附VC++6.0源码)
1.子进程等待父进程结束再处理事务(应用程序的自删除);2.父进程将句柄等信息传递给子进程;3.将EXE中加载的资源释放为本地文件。
2013-07-02 21:20:27
10372
转载 为文件、文件夹添加复制路径的右键菜单
选择菜单直接复制文件路径、文件夹路径,比较方便,如下图: 实现方法很简单,直接修改注册表即可。把以下内容存为.reg文本,双击导入即可:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\shell\copypath]@="复制文件夹路径"[HKEY_CLASSES_ROOT\Directory
2013-06-28 18:00:51
8383
3
原创 同步或异步调用EXE(创建子进程并重定向子进程的输入、输出)
工作将要调用第三方的EXE完成一些操作,这些EXE类似CMD命令。因此,闲暇之余写了个类来调用EXE,并写了个DEMO,可以以同步或异步方式调用,可以设置超时时长,exe运行中产生的输出信息也可捕获到。
2013-06-25 10:30:42
3900
转载 EasySize - Dialog resizing in no time!
对话框中控件的布局是个麻烦的事情,因此楼主本人写了个宏简化对控件进行布局,见控件布局通用解决方案。但又从网上找到了类似但功能更全的类EasySize,见EasySize - Dialog resizing in no time!。 现将EasySize的用法及源码摘录于此,备份以方便查找。 1.首先将EasySize.h拷贝到工程文件夹中,然后在stdafx.h中包含该头文件:
2013-06-21 18:11:29
1281
原创 控件布局通用解决方案
你是否遇到过这样的问题:用编译器拖出一些控件放到对话框上,并合理安排好了位置;但编译运行,改变对话框的大小后,所有控件的位置都乱了,让人感觉非常糟糕。如果控件不太多,你可以尝试手写代码定位每个控件的位置,但若是控件数量以十或百为单位计数甚至更多,逐一为每个控件指定位置就非常麻烦了。 本文提供一个宏,可以按照通常对话框的布局要求快速为每个控件布局,对话框大小改变时,控件的大小和位置都会随之而改
2013-06-21 16:27:59
5907
4
转载 编译阶段打印宏内容
对于大型C/C++工程,由于宏定义可能散落在各个头文件和Makefile当中。同时条件编译又是大型工程常用的技巧,所以宏定义的大量存在,给代码阅读增加了难度,如果搞不清楚宏定义的情况就无法掌握程序的执行流程。最简单的办法就是使用printf来打印这些宏,但是如果是带参数的宏就比较麻烦了。而且如果使用printf必须重新编译程序,并执行,当我们阅读的是内核源码或驱动程序,那重新执行的代价是相当可观的
2013-06-21 13:13:59
2361
原创 名字修饰约定extern "C"与extern "C++"浅析
所谓名字修饰约定,就是指变量名、函数名等经过编译后重新输出名称的规则。 比如源代码中函数名称为int Func(int a,int b),经过编译后名称可能为?Func@@YAHHH@Z、?Func@@YGHHH@Z、_Func@8,也有可能与源代码中名称相同为Func。 影响编译后输出的名称通常与名字修饰约定(extern "C"、extern "C++"等)和函数调用约定(__
2013-06-20 13:44:55
11478
原创 关于__stdcall和__cdecl调用方式的理解
__stdcall和__cdecl都是函数调用约定关键字,先给出这两者的区别,然后举实例分析: __stdcall:参数由右向左压入堆栈;堆栈由函数本身清理。 __cdecl:参数也是由右向左压入堆栈;但堆栈由调用者清理。 另外,这两者在同一名字修饰约定下,编译过后变量和函数的名字也不一样,具体见另一博文:名字修饰约定extern "C"与extern "C++"浅析
2013-06-20 11:46:42
12819
原创 另类的文件夹加密(批处理实现)
之前看到有网友把日本两人剧情片放在诸如“日本文化交流”、“英语四六级”等文件夹里,或者建很多个很深的文件夹,然后放到其中一个文件夹内,一般人看到就不会想翻的。闲来无事,就写了个批处理来实现。 此批处理可以实现每层新建指定个数的文件夹,然后每个文件夹里再递归新建相同个数的文件夹,一直达到指定的层数为止。 批处理代码如下:@echo off::MAXDIR为每层的文件夹
2013-06-10 14:09:16
4798
原创 为快捷方式文件(lnk文件)右键菜单添加“打开所在文件夹”
想打开快捷方式所在的文件夹,在Windows Server平台下,可以点击鼠标右键,选择“打开文件位置”。但在非Windows Server平台下(楼主本人使用的XP系统),却没有这个选项,只有右击鼠标,选择“属性”,然后在文件属性对话框的快捷方式页点击”查找目标“。 可修改注册表,使其右键菜单也支持直接打开文件所在位置。 将如下注册表文件内容添加到注册表即可。Wind...
2013-03-15 12:19:33
6800
15
原创 线程注入、HOOK APIs(附VC6源码)
工作关系,想HOOK并修改一些API,使得不支持某些设备的第三方工具可以正常运行,因此花时间写了这么个工具。比如ReadFile时,某些设备不支持指定的缓存大小(如512KB),可以HOOK ReadFile,把缓存大小修改为更小,可能ReadFile就能正常工作,第三方工具也能正常使用。其实,只是想借工作这个契机,学习远程线程注入和HOOK API。工作上测试的设备和第三方工具运行在64位机
2013-01-13 01:45:20
9426
原创 自绘实现透明、图标文字共存、XP风格按钮(附VC6源码)
这也是老早前研究的成果,想要模拟QQ界面风格,应用到毕设的即时聊天软件中,可惜的是最后没精力、也没技术做到QQ那样的界面,夭折了,但也算有些成果,帖出来供参考。 其实,源码中除了自绘按钮外,还有对话框的一些有用的操作,比如对话框整体自绘去掉标题栏、限制对话框大小、实现QQ主界面编辑个性签名类型的编辑框。 截图如下: 代码只是供参
2013-01-04 21:07:06
2769
原创 文件多层MD5加密工具(附VC6源码)
大学时代与同学聊到最简单的加密方法,谈到直接修改文件前几个字节,就可以让一些文件打不开。 因此,一时兴起,就写了这么个工具。 工具简单,操作也不多说。附上源码,供参考。 下载地址:文件多层MD5加密工具(附VC6源码)
2012-12-19 19:53:45
2917
8
windows drag/drop拖放操作示例代码
2016-11-14
Windbg调试32位.net程序产生的64位dump的扩展soswow64.dll
2016-09-23
xml、xsd、javabean的互相转换
2014-07-29
封装CopyFileEx实例复制文件,提供同步、异步复制调用
2014-06-23
同步或异步调用EXE(创建子进程并重定向子进程的输入、输出)
2014-06-11
Oracle、DB2、MySql、SQLServer JDBC驱动
2013-07-17
应用程序启动后修改自身EXE文件或自删除EXE文件
2013-07-02
程序员寻找彩蛋
2013-06-10
线程注入、HOOK APIs(附VC6源码)
2013-01-13
自绘实现透明、图标文字共存、XP风格按钮(附VC6源码)
2013-01-04
文件多层MD5加密工具(附VC6源码)
2012-12-19
内存搜索、修改器(附VC6源码)
2012-12-11
(VC+MFC网络聊天工具)详细设计.doc
2012-11-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人