
Windows c/c++
吴英强
80后,IT男,全栈工程师。
展开
-
windows编程,加载dll库示例
生成dll库#include//导出函数,可以加载的时候调用_declspec(dllexport) void msg(){ MessageBoxA(0, "1", "2", 0);}//导出函数,可以加载的时候调用_declspec(dllexport) int add(int a, int b){ return a + b;}调用dll库#in原创 2015-01-25 17:05:28 · 1412 阅读 · 0 评论 -
【C/C++学院】0723-32位与64位/调戏窗口程序/数据分离算法/内存检索/二分查找法/myVC
32位与64位地址与内存的关系4G = 4*1024M = 4*1024*1024k = 4*1024*1024*1024 Byte字节 = 2^3232位,指针就是4个字节#include void main(){ int num = 10; printf("%p\n", &num);原创 2015-07-23 13:05:58 · 1290 阅读 · 0 评论 -
【C/C++学院】0828-数组与指针/内存分配/数据结构数组接口与封装
【送给在路上的程序员】对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现。对于一个架构师而言,掌握各种语言的优势并可以运用到系统中,由此简化系统的开发,是其架构生涯的第一步。对于一个开发团队而言,能在短期内开发出用户满意的软件系统是起核心竞争力的体现。每一个程序员都不能固步自封,要多接触新的行业,新的技术领域,突破自我。原创 2015-08-16 21:24:12 · 1359 阅读 · 0 评论 -
【C/C++学院】0730-网站以及后门/结构体对齐、结构体面试分析/深拷贝与浅拷贝/队列/字符串封装
网站以及后门Windwos安装Apache服务器软件,进行测试。Localhost将可执行程序xxx.exe改为xxx.cgi放到apache服务器上,通过浏览器进行访问。#define _CRT_SECURE_NO_WARNINGS#include#include#includevoid main(){ printf("Content-typ原创 2015-09-03 13:01:11 · 1182 阅读 · 0 评论 -
【C/C++学院】0801-重定向以及文件扫描/二进制加密解密/简单加密/按照密码加密/动态库与静态库
重定向以及文件扫描#define _CRT_SECURE_NO_WARNINGS//关闭安全检查#include#includevoid main1(){ char str[100] = { 0 }; scanf("%s", str); printf("str=%s\n", str); system(str);原创 2015-09-10 13:19:58 · 2391 阅读 · 2 评论 -
【C/C++学院】0802-链式栈/链表队列以及优先队列/封装链表库
链式栈// stacklinknode.h#define datatype intstruct stacknode{ int num;//编号 datatype data;//数据 struct stacknode *pNext;//指针域};typedef struct stacknode StackNode;//简化StackNode * init(StackNo原创 2015-09-13 20:09:48 · 1335 阅读 · 0 评论 -
【C/C++学院】0804-C语言和设计模式(继承、封装、多态)
C++有三个最重要的特点,即继承、封装、多态。我发现其实C语言也是可以面向对象的,也是可以应用设计模式的,关键就在于如何实现面向对象语言的三个重要属性。(1)继承性[cpp] view plaincopy1. typedef struct _parent 2. { 3. int data_parent; 4. 5. }Parent原创 2015-09-15 13:00:17 · 1863 阅读 · 3 评论 -
【C/C++学院】0805-语音识别控制QQ/语音控制游戏
语音识别控制QQQQ.cpp 单独测试控制qq的各种命令#includevoid openqq(){ ShellExecuteA(0, "open", "\"C:\\Program Files (x86)\\Tencent\\QQ\\QQProtect\\Bin\\QQProtect.exe\"", 0, 0, 1);}void closeqq(){ system("原创 2015-09-16 13:28:05 · 2427 阅读 · 0 评论 -
【C/C++学院】0813-C与CPP不同以及命名空间简介/函数重载与函数默认参数/泛型auto/Newdelete
C与CPP不同以及命名空间简介命名空间在软件设计中的作用就是为了实现迭代式开发。命名空间的别名#include namespace runrunrunrun{ int a(10); char *str("gogogo"); namespace run //命名空间的嵌套 { int a(9); }}namespace runrunrunrun //命原创 2015-09-18 13:15:25 · 1507 阅读 · 0 评论 -
腾讯QQ屏幕截图
模仿腾讯QQ截图功能:// ScreenCapture.cpp : 定义应用程序的入口点。//#include "stdafx.h"#include "ScreenCapture.h"#define MAX_LOADSTRING 100// 全局变量:HINSTANCE hInst; // 当前实例TCHAR szTitle[MAX_LOADSTRIN原创 2015-11-15 16:26:30 · 1927 阅读 · 0 评论 -
【C/C++学院】0729-语音识别/Const关键字/字符串应用/内存分配以及处理海量数据
语音识别er.xml 资源管理器 打开企鹅 关闭企鹅 关机 重启 记事本 计算器 画图板 谭胜 yuyin.cpp#include #include #include #include #原创 2015-08-30 17:28:45 · 1415 阅读 · 0 评论 -
【C/C++学院】0724-堆栈简介/静态区/内存完成篇/多线程
堆栈简介、内存完成篇Const是一个伪常量#include#include#define N 10 //CPU产生,10 . 1010//const是伪常量,限定编译器尽量不直接修改void main(){ //int a=10; int *p=&a; const int num = 10;//避免直接赋值的修改,不可以避免间接赋值的修改 //num=1; c原创 2015-07-27 12:52:34 · 2350 阅读 · 2 评论 -
【C/C++学院】0725-内存补码分析/补码原码实战/打印整数二进制数据/静态库说明
内存补码分析#include#includevoid main3(){ //printf不会进行数据类型转换 printf("%d", (int)10.3);//printf不管你是什么类型,按照%d ,%f解析数据 printf("\n%f", (float)10); getchar();}void main4(){ int num = 100; printf(原创 2015-08-01 20:57:33 · 1218 阅读 · 0 评论 -
电子词典--两次扫描文件发/链表法
二次扫描文件法实现的电子词典#define _CRT_SECURE_NO_WARNINGS#include #include #include #include struct dict{ char *key; char *content;};int get_dict_size(FILE *pfile)//得到字典文件中词条总数{ if (pfile == NULL)原创 2015-04-28 20:57:40 · 1266 阅读 · 0 评论 -
C#调用c++的动态库dll演示例程
1.首先编写c++动态库extern "C" __declspec(dllexport)int __stdcall add(int x, int y){ return x + y;}2.c#调用c++dll库中封装的接口函数using System;using System.Collections.Generic;using System.Linq;using S原创 2015-05-21 08:33:11 · 4449 阅读 · 0 评论 -
Windows C编程操作鼠标键盘
通过keybd_event和mouse_event功能函数,操作鼠标键盘。#include #include #include void open(const char *str){ ShellExecuteA(0, "open", str, 0, 0, 0);}void close(){ system("taskkill /f /im baidubrowser.exe"原创 2015-06-19 13:10:21 · 2263 阅读 · 0 评论 -
windows、linux劫持技术
windows系统下面可以利用detours劫持realse 模式劫持,调试的程序不可以 函数劫持可以实现的效果。函数的劫持原理我们如何实现-detours detours是微软亚洲研究院出品的信息安全产品,主要用于劫持。 detours根据函数指针改变函数的行为,拦截任何函数,即使操作系统函数。1.安装detours2.构建库文件-n原创 2015-06-03 12:54:18 · 2564 阅读 · 0 评论 -
实现一个跨平台的mysock库(windows、linux)
1.首先确定自己的操作系统为32位还是64位:root@bfq:~/mysock# uname -aLinux bfq 3.11.0-26-generic#45~precise1-Ubuntu SMP Tue Jul 15 04:02:35 UTC 2014x86_64x86_64 x86_64 GNU/Linux 2.编写测试程序:root原创 2015-06-10 13:19:37 · 3711 阅读 · 0 评论 -
c++实践--cocos2dx, 2048v1.0
2048游戏逻辑采用二维数组作为游戏界面的显示,2048游戏逻辑:【1】生成游戏对象(2个数字)CreatePerson()CreatePerson()【2】更新游戏视图界面如果胜利就不相应用户输入if(isWin){ return;}if(up){ctlfunc()}else if(down){ctlfunc()}else if(left){ctlfunc(原创 2015-04-07 21:17:23 · 1298 阅读 · 0 评论 -
传智播客c/c++公开课学习笔记--C语言与木马恶意代码分析和360安全防护揭秘
黑客代码分析与预防 笔记【课程简介】C/C++语言是除了汇编之外,最接近底层的计算机语言,目前windows,linux,iOS,Android等主流操作系统都是用C/C++编写的,所以很多病毒、木马也都是用C/C++实现的。课程的目的就是通过C语言揭秘木马和各种远程控制软件的实现原理以及如何防护。 【课程知识点】1、木马入侵系统的方式;2、木马入侵到宿主目标后的关原创 2015-05-29 08:18:40 · 4078 阅读 · 3 评论 -
传智播客c/c++公开课学习笔记--邮箱账户的破解与邮箱安全防控
SMTP(SimpleMail Transfer Protocol)即简单邮件传输协议。SMTP协议属于TCP/IP协议簇,通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。SMTP使用TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。跟大多数应用层协议原创 2015-06-12 13:01:41 · 5669 阅读 · 0 评论 -
【C/C++学院】0726-cppIDE/一级指针/指针数组/函数指针/函数指针数组/二级指针
cppIDE使用mfc和codeblocks中的mingw编译器。执行system命令中的bat批处理脚本。一级指针指针,结构体struct,联合union,枚举enum#include#includevoid changenum(int num) //函数的参数有副本机制 ,新建一个变量,容纳传递过来参数的值{ num = 3; printf("\nchang原创 2015-08-09 20:42:43 · 1259 阅读 · 0 评论 -
gdb/Eclipse/Filezilla/SecureCRT/SourceInsight
redhat6.3默认是不安装gdb的,如果安装从系统安装盘中找到gdb-7.2-56.e.6.i686.rmp这个文件,执行rpm -ivh gdb-7.2-56.e.6.i686.rmp。一个有错的程序:#include void test(){ int *i = NULL; *i = 2;}int main(){ printf("hello, wor原创 2015-03-23 21:08:05 · 1480 阅读 · 0 评论