摘要:
这次有文章可以更了。之前尝试着建博客,万网买的空间。中间一段时间更新过文章,后面空间到期,留下备份。又过了一段时间,电脑硬盘被格式化,好些时间找不到备份资料,今天无意间找到了。下面将之前写的文章贴出来。非原创,最多算是读书笔记。1/2 更完了 阅读全文
摘要:
接下来的内容来源于对该博客文章http://www.pediy.com/kssd/pediy06/pediy7006.htm的解析。一、打印Sections信息。下面的程序打印出Windows_Graphics_Programming1.1中第三个程序“Hello World Version 3:C... 阅读全文
摘要:
说明,在这里决定跳过第二章,实在是因为里面涉及的内容太理论,对我而言又太艰深3.1 HANDLES AND OBJECT-ORIRNTED PROGRAMMINGIn normal object-oriented programming practice,information hiding is ... 阅读全文
摘要:
1.3 PROGRAM DEVELOPMENT ENVIRONMENT1.4 WIN32 EXECUTEABLE FILE FORMATWe should also know that complied binary code is a data structure in itself,which ... 阅读全文
摘要:
People are much happier moving up the ladder,socially or even technically.So our profession has moved from machine code to C/Win32 API,to C++/MFC,to j... 阅读全文
摘要:
一、DOS命令(1)重定向:所谓重定向,就是不使用系统的标准输入端口、标准输出端口或标准错误端口,而进行重新的指定,所以重定向分为输出重定向、输入重定向和错误重定向。比如,输出重定向"把执行相应DOS命令时本应在屏幕上显示的内容输出到重定向命令所指向的文件或设备中去。" | |---输出重定向。命令... 阅读全文
摘要:
前面我们所讲的“服务程序”,更准确地说是服务控制程序,例如我们通过输入应用的路径,将一个应用程序添加到服务控制管理器。一个服务控制程序可以将一个程序添加到服务控制管理器中,并控制它的运行、停止和删除等。那么怎么避免手动添加的方式,直接将我们想要运行的代码添加到服务中呢?这需要我们建立一个完整的服务程... 阅读全文
摘要:
卸载服务的过程是这样的,用OpenSCManager打开SCM,使用OpenService打开准备卸载的服务,通过QueryServiceStatus查询该服务的状态是否停止,如果否,则先停止该服务ControlService,最后用DeleteService删除服务。 1 #include 2 ... 阅读全文
摘要:
MSDN中有安装服务的例子Installing a Service(可点击进入),我们这里的创建服务,和MSDN里的例子基本上是一样的。这里做一些简单的说明:打开控制面板,管理工具,服务。我们看到的集合了服务的界面也叫做服务控制管理器(SCM)。用程序创建服务,首先要用OpenSCManager函数... 阅读全文
摘要:
1.1 BASIC WINDOWS PROGRAMMING IN C/C++1.Hello World Version 1:Starting Your BrowserLet's get down now to the businessof writing a basicWindows program... 阅读全文
摘要:
通过使用URLDownLoadToFile函数,我们能从指定的URL下载文件,保存到本地,并且下载的文件类型可以是可执行文件实例如下,http://www.xuexic.com的根目录下存在一个logo.png文件,我们将它下载到D盘,并命名为3.png//程序需要包含UrlMon.h头文件和加载u... 阅读全文
摘要:
这个问题研究了两天。《windows程序设计》中没有给出实例,MSDN也没有给出具体的例子。在知道,CSDN提问后,也没有得到答案。所以决定重新对DIB做一次彻底的研究,这大概会花去我一个月的时间,但是后面的其它的内容还要继续下去,所以暂时给这篇留白。等研究透彻了会把它补上;接下来应该会开辟一个新的... 阅读全文
摘要:
压缩位图我们使用简单的行程长度编码的方法,详情参考《windows程序设计》15章之DIB压缩。在BITMAPINFOHEADER结构中有两个和位图压缩有关的字段,分别是biCompression(Compression即压缩的意思)和niSizeImage。其中biCompression可以被设置... 阅读全文
摘要:
怎样将我们上一篇截取的位图保存在文件夹里。根据MSDN,思路是这样的,用CreateFile函数在磁盘建立一个bmp文件,用WriteFile填充该bmp文件的文件头、信息头,像素等信息。之前我们只有一个位图的句柄即,hBitmap。所以保存截图的重点是,从hBitmap着手,获得建立一张位图所需要... 阅读全文
摘要:
程序将系统窗口左上角100*100的图像复制到粘贴板上。程序的关键位置上加上了注释,相关知识《windows程序设计》第14章内容 1 #include 2 #pragma comment(linker,"/subsystem:\"windows\"" ) 3 HBITMAP GetBitmap(... 阅读全文
摘要:
改变F盘图标。原理:在f盘下新建一个Autorun.inf文件,文件内容是[AutoRun]icon=favicon.ico准备名为favicon.ico图标文件,将其放在工程目录里,设计程序将它移动到f盘下令计算机重启使Atuorun.inf生效。完整程序如下: 1 #include 2 #inc... 阅读全文
摘要:
配置Autorun.inf文件可以使双击磁盘时,自动运行某一应用程序。但是现在只支持CD或者DVD媒体了(以前硬盘也可以)关于Autorun.inf的组成部分可以参考https://msdn.microsoft.com/zh-cn/cc144200c语言编写程序的原理是,遍历C~Z所有分区,检查其类... 阅读全文
摘要:
在Image File Execution Options下创建cmd.exe项,将其“重定向”到我们自己编写的程序 1 #include 2 #include 3 4 int main() 5 { 6 HKEY hKey; 7 DWORD dwDisposition=REG_CR... 阅读全文
摘要:
映像劫持,即Image File Execution Option.在深入了解这个概念之前,可以简单地认为,它可以令应用程度重定向。这是注册表里的一个功能,可以做这样的尝试: 打开注册表——定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT... 阅读全文
摘要:
程序比较简单,用到了C语言获得自身路径和系统路径,修改注册表项等,某些函数不理解可以查看MSDN 1 #include 2 #include 3 4 char *GetFilename(char *p) //得到一个路径的纯文件名 5 { 6 int x=strlen(p); 7 ... 阅读全文
摘要:
原理,在程序结束之前生成一个能删除自身的bat文件,程序如下:#include#include#include //在完整路径中取得文件名void *GetFilename(char *p){ int x = strlen(p); char ch = '\\'; char *q = st... 阅读全文
摘要:
文件粉碎机原理:文件被删除之前,用随机字符对其进行写操作(注:参考的教材使用的是BCB编译器,BCB不会,所以这里改成使用MFC)一、首先建立一个基于对话框的MFC工程,在对话框添加如图所示控件二、接下来添加 statusbar(状态栏)控件,使用 CStatusBarCtrl类,具体操作是在主对话... 阅读全文
摘要:
文件操作(1):文本加密的原理对文本的加密用到了文件读写操作函数。简单文本加密的原理是,从文本中每次读取一个字符,将读取的字符取反(或其他位运算),写入一个新的文件中。一、控制台程序#include#includeint main(){ FILE *fp; FILE *temp; cha... 阅读全文
摘要:
遇到一个较大的难题,做记事本要不要使用edit或者是richedit控件呢。如果用控件的话感觉没什么挑战,不用控件,现有的参考资料仅有《windows程序设计》第六章的TYPER程序,这个程序还很不完善,并且没有处理宽字符。所以我决定先用edit控件实现一下。在实现其他的功能的时候,一边研究不用控件... 阅读全文
摘要:
我不会取标题,大体上我想用win32,模仿windows的记事本,写个记事本程序,最后让我的程序和微软的程序在外观和功能上都差不多。这样一来我可以学到一些新知识,巩固旧的知识。一、首先做个菜单栏吧。建个menu.rc文件,参照微软的记事本,里面写上这些: 1 //menu.rc 2 3 #defi... 阅读全文
摘要:
解决前面的问题。实现鼠标移动进入到按钮的特效。效果是这样的鼠标移到按钮上,改变按钮的颜色(这里用的是直接换贴在按钮上的图片)程序运行鼠标进入按钮代码 1 #ifndef ULONG_PTR 2 //#define ULONG_PTR unsigned long* 3 #endif 4 #in... 阅读全文
摘要:
一、解决上一篇的两个问题。1、按钮背景透明方法是,在绘制按钮之前,向按钮的父窗口发生WM_CTLCOLORBTN消息。该消息返回一个画刷句柄,系统使用该画刷句柄画出按钮的背景。所以我们在处理这个消息的时候,为系统返回一个空的画刷句柄就可以了。直接在回调函数中添加代码1 case WM_CTLC... 阅读全文
摘要:
第一次写随笔,我本来想将win32窗口的标题栏设置成渐变色,像这样的效果但发现找不到设置标题栏属性的api,SetWindowLong也只是增减窗口的固定的样式而已。所以想到一个思路,把标题栏去掉,自己绘制一个标题栏,包括标题栏上的按钮都自己来绘制创建。这里用到了gdi+,对于这个库也是刚接触到的。... 阅读全文