- 博客(26)
- 资源 (5)
- 收藏
- 关注
原创 windowsAPI之OpenProcessToken,AdjustTokenPrivileges 和LookupPrivilegeValue
这三个函数主要用来提升进程的权限 1 OpenProcessToken()函数:获取进程的令牌句柄 OpenProcessToken的原型. BOOL WINAPI OpenProcessToken( __in HANDLE ProcessHandle, __in DWORD DesiredAccess, __out PHA
2015-08-28 16:14:41 1995
原创 获取电脑的开机时间NtQuerySystemInformation
我们调用的函数在ntdll.dll链接库中,并且我们只能进行动态的链接 下面对ntdll.dll链接库进行简单的介绍: ntdll.dll描述了windows本地NTAPI的接口。是重要的Windows NT内核级文件。当Windows启动时,ntdll.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。 百度百科:http://baike.baidu.com/link?u
2015-08-27 10:53:15 3710
原创 封装类之CSplashWnd(应用程序的启动画面)
1XX.h文件class CSplashWnd : public CWnd{ DECLARE_DYNAMIC(CSplashWnd)public: CSplashWnd(); virtual ~CSplashWnd();protected: virtual void PostNcDestroy(); afx_msg int OnCreate(LPCREATE
2015-08-25 09:02:06 698
原创 封装类之MYSQLHelper(C#连接MySql数据库)
using System;using System.Collections;using System.Configuration;using MySql.Data;using MySql.Data.MySqlClient;using System.Data;/// <summary>///MYSQLHelper 的摘要说明/// </summary>public abstract c
2015-08-25 08:57:01 7184
原创 封装类之FileVersion(获取文件属性)
应用此类可以获取应用程序的程序名,产品名称,公司名称,版本号,版权等信息 1XX.h文件class CFileVersion { // Construction public: CFileVersion(); // Operations public: BOOL Open(LPCTSTR lpszModuleName); v
2015-08-25 08:28:24 1213
转载 WPARAM和LPARAM的含义
lParam 和 wParam 是宏定义,一般在消息函数中带这两个类型的参数,通常用来存储窗口消息的参数。 LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); wParam 通常用来存储小段信息,如,标志 lParam 通常用于存储消息所需的对象 LRESULT CALLBACK W
2015-08-24 13:55:35 6475
原创 WindowsAPI之RegOpenKey和RegSetValueEx函数
以上两个函数可以实现开机自启动 1 RegOpenKey函数打开给定键。这个函数与Windows 3.1兼容。基于Win32的应用程序应该使用RegOpenKeyEx函数。 LONG RegOpenKey( HKEY hKey, // 要打开键的句柄 LPCTSTR lpSubKey, // 要打开子键的名字的地址 PHKEY phkResult // 要打开键的句柄的地址); 参数 h
2015-08-24 10:48:33 6471
原创 大数相加
大数相加就是进行字符串的操作:#include<stdio.h>#include<string.h>#include<stdlib.h>/*大数相加可以使用字符串进行操作*/char* add(const char *arr,const char *brr){ int lena=strlen(arr); int lenb=strlen(brr); int maxl
2015-08-21 10:10:55 389
原创 error LNK2001: unresolved external symbol _GetFileVersionInfoA@16解决办法
查看msdn可得到下面的信息: GetFileVersionInfo The GetFileVersionInfo function retrieves version information for the specified file. BOOL GetFileVersionInfo( LPTSTR lptstrFilename, // file name DWORD dwHa
2015-08-20 11:53:26 1094
转载 WindowsAPI之GetFileVersionInfo函数和VerQueryValue函数
VS_FIXEDFILEINFO结构包含了文件的版本信息:typedef struct tagVS_FIXEDFILEINFO { DWORD dwSignature; //包含的值是0xFEEF04BD DWORD dwStrucVersion; //该结构的32位二进制版本号,高16位是主版本号,低16位是副版本号 DWORD dwFileVersionMS; //该文件
2015-08-20 10:56:25 8283
转载 堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(st
2015-08-19 08:17:07 391
原创 两种方法实现托盘功能
1为了实现托盘功能,我们可以使用消息机制来进行实现 我们需要使用到windows的一个API函数:BOOL Shell_NotifyIcon( DWORD dwMessage, PNOTIFYICONDATA lpdata);其中dwMessage可以取以下值: NIM_ADD 向托盘中加入一个图标 NIM_MODIFY 修改托盘中的图标 NIM_DELETE 从托盘中删除一个图标 参数p
2015-08-18 09:23:27 979
原创 对话框控件大小随窗口的大小变化而变化
我们经常会发现当我们将窗口最大化时,里面的控件并没有进行改变,接下来我就介绍一下此问题的解决办法,我们其实一般的都会把窗口的最大化按钮失效,是窗口不能进行最大化操作,但是有时候我们还是需要对窗口进行最大化操作的,下面我们可以通过添加WM_SIZE消息来解决此问题。 1 在XXDLg.h中添加 afx_msg void OnSize(UINT nType, int c
2015-08-17 12:05:33 6901 1
转载 VC++获取病毒的消息钩子
一、消息钩子的概念 1、基本概念 Windows应用程序是基于消息驱动的,任何线程只要注册窗口类都会有一个消息队列用于接收用户输入的消息和系统消息。为了拦截消息,Windows提出了钩子的概念。钩子(Hook)是Windows消息处理机制中的一个监视点,钩子提供一个回调函数。当在某个程序中安装钩子后,它将监视该程序的消息,在指定消息还没到达窗口之前钩子程序先捕获这个消息。这样就有机会对此消
2015-08-14 10:09:19 534
原创 WindowsAPI之SetWindowsHookEx()
钩子函数可以用来获取系统的按键消息,进而可以屏蔽某些按键或者按键组合。我们发现WH_KEYBORAD_LL和WH_MOUSE_LL这两个low-level的hook可以被安装成全局的,这我们不妨用这两个low-level的hook替换掉WH_KEYBORAD和WH_MOUSE。 1 首先在xxDlg.h中添加如下代码#if (_WIN32_WINNT >= 0x0400)#define WH_K
2015-08-13 17:11:39 924
转载 全局钩子函数之 SetWindowsHookEx
虚拟键码表:http://www.cnblogs.com/del/archive/2007/12/07/987364.html在windows操作系统中,如果我们想对键盘进行重定义,比如说按某键就可发直接上网,按某键可以直接关闭窗口等等,如何实现呢!在Visual C++中用常规class wizard方法是不可以实现的,这里我们用两种方法去实现它。方法1:利用RegisterHotKey函获数实现
2015-08-13 16:12:21 6027 1
转载 C++中使用反射动态加载和卸载DLL
C++中加载和卸载DLL是一件很容易的事,LoadLibrary和FreeLibrary让你能够轻易的在程序中加载DLL,然后在任何地方卸载。在C#中我们也能使用Assembly.LoadFile实现动态加载DLL,但是当你试图卸载时,你会很惊讶的发现Assembly没有提供任何卸载的方法。这是由于托管代码的自动垃圾回收机制会做这件事情,所以C#不提供释放资源的函数,一切由垃圾回收来做。这引发了一
2015-08-13 10:24:36 2833
原创 c#之编码解码
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 编码与解码{
2015-08-12 14:47:06 1054
原创 Windows API之FindWindow和FindWindowEx函数
1 FindWindow函数: 函数功能:该函数获得一个顶层窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数不查找子窗口。在查找时不区分大小写。 函数型:HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName); 参数: IpClassName :指向一个指定了类名的空结
2015-08-12 11:00:57 9761 2
原创 通讯录系统(VS2010控制台程序)
本系统实现在控制台对通讯录信息进行管理 具体代码如下:#include<stdio.h>#include<stdlib.h>#include<string.h>//定义结构体typedef struct Info{ char name[20];//姓名 char telphone[20];//电话 char city[20];//城市 char provin
2015-08-11 19:34:30 1074
原创 枚举电脑中的串口
我们一般对串口进行通信的时候,是自己指定的端口,但是个人感觉不是很方便,今天在网上找到了枚举串口的两种方法感觉很实用,不用自己去设备管理器查看串口了。第一种方式 :通过注册表来枚举串口void GetComList_Reg( CComboBox * CCombox ){ HKEY hkey; int result; CString strComName;//串
2015-08-11 15:15:42 1180
原创 MSComm控件调试神器
我们可以下载这个虚拟串口调试神器(Configure Virtual Serial Port Driver),可以帮助我们创建虚拟的串口对!下载地址:http://download.csdn.net/detail/cxq_1993/8990345 破解版
2015-08-11 14:26:05 347
转载 VC6.0 通过ado连接access数据库
ADO连接数据库 1、COM库的初始化 我们可以使用AfxOleInit()来初始化COM库,这项工作通常在CWinApp::InitInstance()的重载函数中完成,请看如下代码:: public: _ConnectionPtr m_pConnection; BOOL CAdoTestApp::InitInstance() { // 初始化COM
2015-08-10 15:45:41 2234
原创 MSComm控件编程
界面布局 //打开串口void CMSCommDlg::OnButtonOpen() { // TODO: Add your control notification handler code here if(m_mscomm.GetPortOpen()) { m_mscomm.SetPortOpen(FALSE); } m_mscomm
2015-08-07 15:06:27 336
原创 MSComm控件介绍
在MFC中进行串口通讯最简单的方法莫过于在对话框中使用MSComm控件了,MSComm通信控件提供了一系列标准通信命令的接口,它允许建立串口连接,可以连接到其他通信设备(如Modem).还可以发送命令、进行数据交换以及监视和响应在通信过程中可能发生的各种错误和事件,从而可以用它创建全双工 、事件驱动的、高效实用的通信程序。一、用MSComm控件通信 1.串口通信基础知识 一般悦来,计
2015-08-07 10:34:23 628
原创 通讯录系统 (C语言 控制台应用程序)
本系统是用纯c语言写的通讯录系统,主要涉及的是单链表的增加节点,删除节点,查询节点等,还有文件的读写。#include<stdio.h>#include<stdlib.h>#include<string.h>//定义结构体typedef struct Info{ char name[20];//姓名 char telphone[20];//电话 char city[2
2015-08-06 17:20:05 915
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人