
win32 code
文章平均质量分 73
felixz
这个作者很懒,什么都没留下…
展开
-
Http Error 12057 (Bug Fix Note)
产品被报告了一个 Bug, 只发生在特定平台 Windows Server 2003 Standard Edition.查看 Trace Log 发现 Wininet 调用的封装类 返回 Error 12057, 它的具体错误内容是:ERROR_WINHTTP_SECURE_CERT_REV_FAILED 12057Indicates that revocation cannot be c原创 2006-05-17 16:48:00 · 6422 阅读 · 1 评论 -
编程工具练习,刚写了一个文件捆绑器
目前功能还比较简单binBot 0.1 文件捆绑器 2007.6.5 下载 捆绑两个 exe 文件,一个我们称之为宿主文件 A, 一个我们称之为附件文件 B. 生成的新文件称之为 C. 捆绑生成的新文件使用文件 A 的图标,运行时会按照捆绑时设定的路径和名称将 B 释放出去并执行预设的动作.宿主文件 A 被装载到 C 的进程空间运行,并未如同 B 那样被释放到其他文件运行,这一点使原创 2007-06-05 16:20:00 · 2752 阅读 · 1 评论 -
从内存中加载并启动一个exe
windows似乎只提供了一种启动进程的方法:即必须从一个可执行文件中加载并启动。而下面这段代码就是提供一种可以直接从内存中启动一个exe的变通办法。用途嘛, 也许可以用来保护你的exe,你可以对要保护的 exe 进行任意切分、加密、存储,只要运行时能将exe的内容正确拼接到一块内存中,就可以直接从内存中启动,而不必不安全地去生成一个临时文件再从临时文件启动进程。另外这段代码也提供了一种自己转载 2007-05-17 10:33:00 · 1988 阅读 · 0 评论 -
NT环境下进程隐藏的实现( 转 )
在NT环境下隐藏进程,也就是说在用户不知情的条件下,执行自己的代码的方法有很多种,比如说使用注册表插入DLL,使用windows挂钩等等。其中比较有代表性的是Jeffrey Richer在《windows核心编程》中介绍的LoadLibrary方法和罗云彬在《windows环境下32位汇编语言程序设计》中介绍的方法。两种方法的共同特点是:都采用远程线程,让自己的代码作为宿主进程的转载 2007-05-17 10:30:00 · 1782 阅读 · 0 评论 -
安装程序 Repack 攻略 之 MSI 篇
安装程序 Repack 攻略 之 MSI 篇本文主要讨论使用微软的开发工具 orca 和 msidb 进行 MSI 安装包的修改封装.下面是我对 MSI 的基本情况的认识,如果只想了解怎么进行 Repack,也可以跳过这一部分。MSI 概述MSI 最基本的部分是对安装程序的一个描述,包含了一个所谓安装信息数据库,涉及到安装界面、所使用的文件、快捷方式、INI文件、注册表、以及版本控制和反安装信转载 2007-06-26 11:24:00 · 3137 阅读 · 0 评论 -
如何读取指定用户的 HKEY_CURRENT_USER 注册表键
注册表中 HKEY_CURRENT_USER 键下的内容隶属当前用户,所以当你以不同用户登陆时该键下的内容都是不尽相同的。但有时候我们有读取指定用户该键下内容的需求。比如,我们有一个服务程序运行在 Session0, SYSTEM 权限,而我们想读取的却是当前登陆到本地控制台的用户的 IE 代理服务器设置参数。我们当然不能直接从服务中打开 HKEY_CURENT_USER 键, 用我们当前令牌打开原创 2007-03-28 22:22:00 · 7475 阅读 · 1 评论 -
将窗口移动到前端, BringWindowToTop() 的问题
有一段代码,是在我们的应用程序中将其他应用程序的窗口移动到最前端,当我们的程序在 Vista 下运行的时候遇到了些问题,有时候被移动窗口只是闪动任务栏上的按钮,并未能将窗口移动到前方来. 研究了一下,发现是否能够移动成功和当前自身进程所附加的输入上下文有关, 参见WIN32 API AttachThreadInput()... 写了个 MyBringWindowToTop() 如下原创 2007-03-28 21:56:00 · 11821 阅读 · 6 评论 -
用VC6和Install Shield6.2进行自动化构建
如果一个VC的项目中,有10个或者更多的工程(Project),当我们需要进行一次完整的构建(Build)时,如果你分别用VC 打开每个工程然后Build,相信大家都会觉得很是麻烦。其实VC就自带了一个强大的自动构建的工具: nmake 。它可以帮助你完成日常的构建工作。nmake的详细用法,你可以通过在控制台下输入:nmake /help来查看。下面我举个实际的例子。该项目有大约十多个工转载 2006-08-17 16:48:00 · 1552 阅读 · 0 评论 -
为 Serv-U 编写插件 (Building an Add-on for Serv-U)
需要对服务器上的 ftp server 作扩展,ftp server 采用的是 Serv-U 6.0。看了一些插件,有免费的,有商业的,都无法达到我们需求的功能,于是决定自己为 Serv-U 编写插件。查看帮助文件中的 Extending Serv-U 部分,大概了解了 Serv-U 插件的基本情况。由于我们只需要控制存取信息所以我们只关注和介绍一下 Access Verification D原创 2006-08-08 14:57:00 · 2215 阅读 · 0 评论 -
How To Use RPC Callback Functions
This article was previously published under Q96781SUMMARYloadTOCNode(1, summary);The standard remote procedure call (RPC) model has a server containing one or more exported function calls转载 2006-10-31 13:38:00 · 2481 阅读 · 0 评论 -
Windows Vista 交互式服务编程
Windows Vista 对快速用户切换,用户账户权限,以及服务程序所运行的会话空间都作了很大的改动,致使一些原本可以工作的程序不再能够正常工作了,我们不得不进行一些改进以跟上 Vista 的步伐。我们的软件在Windows NT/2000/XP/Vista 系统中安装了一个系统服务,这个服务负责以 SYSTEM 权限启动我们的主程序。我们的主程序启动后会在系统托盘添加一个图标,点击原创 2006-10-23 12:22:00 · 7768 阅读 · 5 评论 -
窗口查询 API
常用窗口查询 Win32 API FindWindow Function The FindWindow function retrieves a handle to the top-level window whose class name and window name match the specified strings. This function does n原创 2006-06-01 12:53:00 · 1311 阅读 · 0 评论 -
The NTLM Authentication Protocol
Copyright © 2003 Eric Glass Permission to use, copy, modify, and distribute this document for any purpose and without any fee is hereby granted, provided that the above copyright notice and this lis转载 2006-06-01 09:24:00 · 4052 阅读 · 0 评论 -
输入法状态控制 ( IME )
//下面的代码用来屏蔽某一个控件的输入法状态。 HIMC m_hImc; // 全局或者成员变量 // Function for Disabling IME void CMyDialog::DisableIME() { HWND hWnd = GetDlgItem(IDC_EDIT1)->m_hWnd;转载 2006-05-30 16:34:00 · 1444 阅读 · 0 评论 -
如何刷新本地 DNS 缓存
Windows 会将我们访问过的 DNS 条目缓存下来供下次解析该域名时使用, 我们可以通过在注册表添加一下项目老控制 Cache 的有效期HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Internet Settings Value Name: DnsCacheTimeout Data Type: REG_DWORD原创 2006-05-23 10:35:00 · 4189 阅读 · 0 评论 -
WebDAV客户端开发实例
(一)环境搭建 需从http://archive.apache.org/dist/jakarta/slide/binaries/下载jakarta-slide- 2.1-tomcat-5.0.28.zip,jakarta-slide-webdavclient-bin-2.1.zip,jakarta-slide -webdavclient-bin-2.1.zip如过需要源码也可以从http: //a原创 2006-05-19 23:13:00 · 14310 阅读 · 3 评论 -
根据驱动器盘符获得分区号 (Convert Driver Name to Partition Number)
程序里有自动重启 Windows 系统的功能,当有多个 Windows 共存的时候 C: 根目录下的 boot.ini 文件包含类似下面的内容:[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)/WINNT[operating systems] multi(0)disk(0)rdisk(0)pa原创 2006-05-17 16:36:00 · 2389 阅读 · 1 评论 -
直接从CMOS读取系统时间
following code come from Linux Kernel 0.01#define CMOS_READ(addr) ({ /outb_p(0x80|addr,0x70); /inb_p(0x71); /})#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)static void time_init(void){原创 2007-06-19 16:35:00 · 3553 阅读 · 0 评论