文章分类 -  编程

编程经验(c、c++、vc)
RT(Run Time) manifest version 9.0.30729.6161编译出来的dll不能在其他机器上运行
摘要:起因:程序工程设置了_BIND_TO_CURRENT_VCLIBS_VERSION,打包,到测试机上运行,一切OK。build server上Run time版本号为9.0.30729.4148。测试需要,我在我机器上build了A.dll,将其拷贝到测试机器替换原来的dll。程序运行不起来,界面也... 阅读全文

posted @ 2014-10-24 14:34 阿彪 阅读(4393) 评论(0) 推荐(0)

截断过长字符串为省略号算法(转)
摘要://=====================================================================//TITLE:// 截断过长字符串为省略号算法//AUTHOR:// norains//DATE:// Wednesday 02-June-2010//Environment:// Windows CE 5.0//=====================... 阅读全文

posted @ 2010-06-17 13:04 阿彪 阅读(818) 评论(0) 推荐(0)

Http Error 12057(转)
摘要:产品被报告了一个 Bug, 只发生在特定平台 Windows Server 2003 Standard Edition.查看 Trace Log 发现 Wininet 调用的封装类 返回 Error 12057, 它的具体错误内容是:ERROR_WINHTTP_SECURE_CERT_REV_FAILED12057Indicates that revocation cannot be checke... 阅读全文

posted @ 2009-08-06 18:09 阿彪 阅读(2047) 评论(0) 推荐(0)

如何使用 SetupAPI 的 SetupIterateCabinet() 函数(cab文件解压)
摘要:本文包含演示如何使用 SetupAPI 的 SetupIterateCabinet() 函数提取出一个 CAB 文件的文件的示例。 当您使用 SetupIterateCabinet() 时, 不需要的.inf 文件。 本示例查找名为 TestCab.cab CAB 文件。 您应将 TestCab.cab 放作为示例可执行文件在同一文件夹。 注意:不支持从 Windows 95 和 Windo... 阅读全文

posted @ 2009-03-10 15:28 阿彪 阅读(1764) 评论(0) 推荐(0)

CryptProtectData/CryptUnprotectData加解密
摘要:#include "stdafx.h" #include #include #include #include #include #include using namespace std; const char* Hex2ASC( const BYTE* Hex, int Len) { static char ASC[4096 * 2]; int i; ... 阅读全文

posted @ 2009-01-21 19:35 阿彪 阅读(2569) 评论(0) 推荐(0)

利用windows提供的advapi32.dll进行MD5加密
摘要:#include /* Data structure for MD5 (Message-Digest) computation */ typedef struct { ULONG i[2]; /* number of _bits_ handled mod 2^64 */ ULONG buf[4]; /* scratch buffer */ unsigned char i... 阅读全文

posted @ 2008-12-29 14:35 阿彪 阅读(1700) 评论(1) 推荐(0)

BSTR详解三 - BSTR使用注意事项(转)
摘要:1 How to use BSTR 1.1 BSTR分析 BSTR设计对于C++程序员好坏参半。一方面,BSTR可以被用于大多数需要OLECHAR数组作为参数的函数。另一方面,不能用熟悉的C/C++函数进行对BSTR的分配、释放和处理,例如malloc, free, new, delete, lstrcat, and lstrlen 等函数不能用于处理BSTR。就像对接口... 阅读全文

posted @ 2008-07-28 17:24 阿彪 阅读(1957) 评论(0) 推荐(0)

对比几个同步对象
摘要:Critical Section: 用来实现“排他占有”。适用范围是单一进程的各个线程之间。它是: 1、一个局部性对象,不是一个核心对象。 2、快速而有效率。 3、不能够同时有一个以上的Critical_Section被等待。 4、无法侦测是否已被某个线程放弃。 Mutex: 一个核心对象,可以在不同的线程之间实现“排他性占有”,甚至即使那些线程分属不同进程。它是: 1、一个核心对象。 2、如果拥... 阅读全文

posted @ 2006-06-02 13:36 阿彪 阅读(349) 评论(0) 推荐(0)

Setforegroundwindow 将窗口置最前
摘要:windows下简单的调用Setforegroundwindow并不能将窗口置最前,我找到三种方法可以实现该功能。1、先置topmost,然后取消 SetWindowPos(HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); SetWindowPos(HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_... 阅读全文

posted @ 2006-04-29 10:52 阿彪 阅读(13032) 评论(3) 推荐(0)

深入浅出VA函数
摘要:本文主要介绍可变参数的函数使用,然后分析它的原理,程序员自己如何对它们实现和封装,最后是可能会出现的问题和避免措施。 VA函数(variable argument function),参数个数可变函数,又称可变参数函数。C/C++编程中,系统提供给编程人员的va函数很少。*printf()/*scanf()系列函数,用于输入输出时格式化字符串;exec*()系列函数,用于在程序中执... 阅读全文

posted @ 2006-03-07 11:20 阿彪 阅读(535) 评论(0) 推荐(0)

使用 MAPI 实现邮件发送
摘要:使用 MAPI 实现邮件发送 原 作:deltacat创 建:2004.09.16最后更新:2004.11.01版权声明:作者保留版权。转载时敬请保持文档及说明的完整性。 关键字: Visual C++ 邮件发送 Simple MAPI 一、问题提出 我们经常需要在自己的应用程序中添加邮件支持,主要是发送邮件。目前,常用的方法有调用外部程序,直接对SMTP协议编程,或者使用 MAPI 接口... 阅读全文

posted @ 2005-12-23 09:41 阿彪 阅读(9635) 评论(0) 推荐(0)

在WinXP下用VC调整系统时间
摘要:前言: 一日,编程急需XP下调整系统时间的代码。最初想上网找吧,省事点,不料诺大一个internet,找个现成的代码居然如此困难(按理说应该有,不过我确实没找到)。只好自己写了,而且在这里贴出来,以便节省大家的时间。正文:在Win2000中,调整系统时间很eazy,只要运用如下代码即可。 SYSTEMTIME st;GetSystemTime(&st); // gets... 阅读全文

posted @ 2005-10-18 10:06 阿彪 阅读(1950) 评论(0) 推荐(0)

利用Win32的网络函数创建一个网络浏览器(学习WinInet)
摘要:摘要这篇技术性文章讨论了如何利用Microsoft Win32网络函数创建一个网络浏览器。这篇文章的宗旨是让读者了解一些Win32网络函数的作用、能力和使用范围,而不是为这些功能给出一个详细的文档。这篇文章所配合的SurfBear样本应用程序使用Win32网络函数从网络服务器上读取HTML文件,并把它们显示成原始的、没有经过格式化的文本。 介绍不通过网络,你就无法了解我的一个朋友。计算机杂志已经在... 阅读全文

posted @ 2005-07-07 10:02 阿彪 阅读(1534) 评论(0) 推荐(0)

介绍一种巧妙的删除程序自己的方法
摘要:近日看到网友询问如何实现程序运行之后把自己删除的方法,不知大家对木马甚么的兴趣实在太浓,还是想要这样的效果:用户只要一运行程序,可执行文件就没有了,可是程序还是在跑,胆小的只怕要喊"鬼呀!","老婆,快出来看上帝"甚么的。其实最典型的用法是写反安装程序. 闲来无事,Bear掰到一种还算巧妙的“删除自己”的方法。 大家都知道,一般的程序运行的时候,可执行文件本身是被操作系统保护的,不能用改写的方... 阅读全文

posted @ 2005-06-30 22:16 阿彪 阅读(650) 评论(0) 推荐(0)

基于Visual C++6.0的DDL编程实现
摘要:一、前言 自从微软推出16位的Windows操作系统起,此后每种版本的Windows操作系统都非常依赖于动态链接库(DLL)中的函数和数据,实际上Windows操作系统中几乎所有的内容都由DLL以一种或另外一种形式代表着,例如显示的字体和图标存储在GDI DLL中、显示Windows桌面和处 理用户的输入所需要的代码被存储在一个User DLL中、Windows编程所需要的大量... 阅读全文

posted @ 2005-06-28 15:27 阿彪 阅读(425) 评论(0) 推荐(0)

浅谈HOOK技术在VC编程中的应用
摘要:摘要: 本文针对HOOK技术在VC编程中的应用进行讨论,并着重对应用比较广泛的全局HOOK做了阐述。 引言 Windows操作系统是建立在事件驱动机制之上的,系统各部分之间的沟通也都是通过消息的相互传递而实现的。但在通常情况下,应用程序只能处理来自进程内部的消息或是从其他进程发过来的消息,如果需要对在进程外传递的消息进行拦截处理就必须采取一种被称为HOOK(钩子)的技术。钩子是Windows操... 阅读全文

posted @ 2005-06-28 15:19 阿彪 阅读(1388) 评论(0) 推荐(0)

读取其他应用程序中ListView中的内容
摘要:hWindow 为listview的句柄void MyGetListViewItem(HWND hWindow) { const nMaxLen=1023; char szBuf[nMaxLen+1]; int nLVItemCount; DWORD dwProcessID; HANDLE ... 阅读全文

posted @ 2005-06-28 13:32 阿彪 阅读(731) 评论(1) 推荐(0)

Windows平台下的多线程编程
摘要:线程是进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等。一个进程内的所有线程使用同一个地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行以及什么时候执行线程。线程有优先级别,优先权较低的线程必须等到优先权较高的线程执行完后再执行。在多处理器的机器上,调度程序可将多个线程放到不同的处理器... 阅读全文

posted @ 2005-06-27 14:15 阿彪 阅读(1486) 评论(0) 推荐(0)

程序隐藏 之 运行时更改名字
摘要:程序隐藏 之 运行时更改名字 当一个程序正在运行时,Windows 系统是不允许把它删除的,但在 Windows 2000/XP 中,当一个程序正在运行时,可以将它本身在相同磁盘分区内重命名和移动位置! 试想想:如果我们的程序一运行,就把自己移动位置并且换个名字,此时,Windows 任务管理器还显示的是原来的名字,嘿嘿,程序不见了(只有你知道哦)... 这种做法有什么用?嘿嘿,干坏事呗! ... 阅读全文

posted @ 2005-06-07 22:03 阿彪 阅读(627) 评论(0) 推荐(0)

用ITaskbarList接口操纵Windows任务栏程序按钮的状态
摘要:用ITaskbarList接口操纵Windows任务栏程序按钮的状态 Step 1: 变量定义 class CXDlg : public CDialog{ ...... public: typedef ITaskbarList *LPITaskbarList; LPITaskbarList pTaskbar; ......}; Step 2: 初始化 ... 阅读全文

posted @ 2005-06-07 22:01 阿彪 阅读(979) 评论(0) 推荐(0)

导航