• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






C++是神码东东。。。

Nothing to Say
 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | | 订阅 订阅 | 管理

随笔分类 -  Windows API

 
CreateThread和_beginthread的区别
摘要:1.程序: 程序构成: (1)源代码 (2)可执行的二进制代码 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。由操作系统加载其可执行的二进制代码,分配相应的数据结构:进程控制块PCB(Process Control Block),进行一些列初始化操作(创建进行ID、分配时间片等)后得到进程。2.进程:分配资源的最小单位 进程构成: (1)内核对象:存放进程相关信息 (2)地址空间:可执行模块、DLL的代码和数据以及动态分配的内存空间 是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体。 进程... 阅读全文
posted @ 2012-11-23 12:51 凨丶 阅读(6842) 评论(0) 推荐(1)
Windows API —— ShellExcute——打开文件
摘要:函数原型:1 HINSTANCE ShellExecute( 2 HWND hwnd,//指向父窗口的窗口句柄。此窗口接收应用程序产生的任何信息框3 LPCTSTR lpOperation,//要执行的操作4 LPCTSTR lpFile,//要打开或打印的文件或者是要打开或搜索的文件夹。 5 LPCTSTR lpParameters,//如果是exe文件表示传递给他的参数6 LPCTSTR lpDirectory,//默认目录,当文件路径问相对路径时,如果不再当前目录则需要指定默认目录7... 阅读全文
posted @ 2012-11-14 14:50 凨丶 阅读(4775) 评论(0) 推荐(0)
Windows API ——GetFileTime——获取文件时间
摘要:FILETIME结构包含了文件或目录的日期和时间信息:(自1601年1月1日以来,单位为100纳秒)1 typedef struct _FILETIME {2 3 DWORD dwLowDateTime; //低32位4 5 DWORD dwHighDateTime; //高32位6 7 } FILETIME, *PFILETIME;SYSTEMTIME结构包含了用户可识别的系统日期信息: 1 typedef struct _SYSTEMTIME { 2 3 WORD wYear;//年 4 5 WORD wMonth;//月 6 7 WORD wDayO... 阅读全文
posted @ 2012-11-09 16:07 凨丶 阅读(16956) 评论(1) 推荐(0)
Windows API ——CreateFile——创建文件
摘要:这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象:控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象、文件对象、邮槽对象、管道对象。 函数原型:1 HANDLE CreateFile(2 LPCTSTR lpFileName, // 文件名3 DWORD dwDesiredAccess, // 访问模式4 DWORD dwShareMode, // 共享模式5 ... 阅读全文
posted @ 2012-11-09 15:05 凨丶 阅读(16471) 评论(1) 推荐(3)
Windows API——FindFirstFile——查找文件
摘要:1 //查找文件 2 HANDLE WINAPI FindFirstFile( 3 __in LPCTSTR lpFileName,//文件名或路径 4 __out LPWIN32_FIND_DATA lpFindFileData 5 ); 6 7 //查找下一个文件 8 BOOL WINAPI FindNextFile( 9 __in HANDLE hFindFile,10 __out LPWIN32_FIND_DATA lpFindFileData11 );12 13 typedef struct _W... 阅读全文
posted @ 2012-11-09 11:58 凨丶 阅读(5720) 评论(0) 推荐(0)
Windows API ——GetLogicalDriveStrings——获取逻辑驱动器
摘要:1 TCHAR buffer[MAX_PATH];2 DWORD dwVal=::GetLogicalDriveStrings(MAX_PATH,buffer);3 4 CString str;5 for(int i = 0; i < dwVal; i += 4)6 {7 CString str;8 str.Format(_T("%c:\\"), buffer[i]);9 } 阅读全文
posted @ 2012-11-09 10:07 凨丶 阅读(302) 评论(0) 推荐(0)
Windows API——SHFileOperation——文件操作
摘要:1 int SHFileOperation( LPSHFILEOPSTRUCT lpFileOp);如果执行成功返回0. 1 typedef struct _SHFILEOPSTRUCT { 2 HWND hwnd;//指向发送消息的窗口 3 UINT wFunc;//执行的操作 4 LPCTSTR pFrom;//源文件名 5 LPCTSTR pTo;//目标文件名 6 FILEOP_FLAGS fFlags;//操作与确认标识 7 BOOL fAnyOperationsAborted;//操作是否终止 8 LPVOID hNameMappings;//文件映射 9 LPCT... 阅读全文
posted @ 2012-11-09 09:27 凨丶 阅读(4592) 评论(0) 推荐(0)
Windows API——SHGetFileInfo——获取文件信息
摘要:本文从一下几个方法进行介绍:SHGetFileInfo的定义SHGetFileInfo()函数的工作原理SHGetFileInfo()函数的返回值SHGetFileInfo()函数的简单示例SHGetFileInfo的定义 SHGetFileInfo在MSDN上的定义是:Retrievesinformationaboutanobjectinthefilesystem,suchasafile,folder,directory,ordriveroot. 它在shellapi.h中定义。这个函数有五个变量,定义如下:DWORD_PTR SHGetFileInfo( __in LPCTSTR ... 阅读全文
posted @ 2012-11-07 12:10 凨丶 阅读(13174) 评论(0) 推荐(0)
Windows API——OpenClipboard——剪切板
摘要:剪切板:系统维护的一个全局公共内存区域.每次只允许一个进程对其进行访问。剪切板操作方法如下:(MSDN上搜索Clipboard Operations)1.打开剪切板Bool OpenClipboard(HWND hWndNewOwner); 指定关联到打开的剪切板的窗口句柄,传入NULL表示关联到当前任务。每次只允许一个进程打开并访问。每打开一次就要关闭,否则其他进程无法访问剪切板。2.清空剪切板Bool EmptyClipboard(void) 写入前必须先清空,得到剪切板占有权3.分配内存HGLOBAL GlobalAlloc(UINT uFlags, SIZE_T dwBytes);.. 阅读全文
posted @ 2012-11-01 13:48 凨丶 阅读(20221) 评论(2) 推荐(6)
Windows API ——LoadCursor——载入鼠标
摘要:1: LoadStandardCursor使用方法 . LoadStandardCursor用来载入系统自带的光标 , 调用方式如下: HCURSOR hCursor = (HCURSOR)AfxGetApp()->LoadStandardCursor(IDC_CROSS); ::SetCursor(hCursor);2: LoadCursor 使用方法 HCURSOR LoadCursor(HINSTANCE hInstance , // handle to application instance LPCT... 阅读全文
posted @ 2012-10-31 17:55 凨丶 阅读(2330) 评论(0) 推荐(0)
Windows API——SHGetSpecialFolderPath——获取系统特殊路径
摘要:1 BOOL SHGetSpecialFolderPath( 2 HWND hwndOwner, 3 LPTSTR lpszPath, //路径,长度至少为MAX_PATH,Windows下即260 4 int nFolder,//MSDN上搜索CSIDL,可以知道常用的特殊路径的宏定义 5 BOOL fCreate//如果为true,表示不存在指示的特殊路径,则创建 6 ); 7 8 TCHAR szPath[MAX_PATH]; 9 ZeroMemory(szPath, MAX_PATH); 10 SHGetSpecialFolderPa... 阅读全文
posted @ 2012-10-31 14:37 凨丶 阅读(4919) 评论(0) 推荐(0)
Windows API ——GetVersionEx——获取操作系统版本信息
摘要:1 //获取系统版本 2 BOOL GetOSName( CString& csOsName ) 3 { 4 OSVERSIONINFOEX osvi; 5 SYSTEM_INFO si; 6 BOOL bOsVersionInfoEx; 7 ZeroMemory(&si, sizeof(SYSTEM_INFO)); 8 ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); 9 10 // Try calling GetVersionEx using the OSVERSIONINFOEX structure. 11 // ... 阅读全文
posted @ 2012-10-27 15:11 凨丶 阅读(4154) 评论(0) 推荐(0)
Windows API ——CreateToolhelp32Snapshot——查找进程
摘要:1 //根据进程名获取进程ID 2 DWORD GetPidByProcessName(TCHAR *pProcess) 3 { 4 HANDLE hSnapshot; 5 PROCESSENTRY32 lppe; 6 //创建系统快照 7 hSnapshot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); //#include<Tlhelp32.h> 8 9 if (hSnapshot == NULL) 10 return 0; 11 12 //初始化... 阅读全文
posted @ 2012-10-26 16:56 凨丶 阅读(2265) 评论(0) 推荐(1)
WIN32进程快照以及进程ID和句柄查找(转)
摘要:要对进程进行某种操作,就必须首先知道该进程的进程句柄或者进程ID,否则一切无从谈起,对于程序自己创建的子进程来说,CreateProcess函数返回了进程句柄和进程ID,但如果需要调试系统中已经运行的进程,那就必须首先获取它们的句柄才行。Win32中并没有直接获取其他进程句柄的函数,但如果知道进程ID,可以由此得到进程句柄,所以可以首先通过某种途径获取进程ID。一、获取进程ID1. 从窗口句柄获取进程句柄 获取进程ID的方法之一是使用GetWindowThreadProcessId函数,这个函数可以从一个窗口句柄获得创建该窗口的进程的进程ID,而通过FindWindow函数得到窗口句柄是很简. 阅读全文
posted @ 2012-10-25 15:58 凨丶 阅读(4137) 评论(0) 推荐(1)
Windows API ——OpenProcess——打开进程
摘要:1 bool KillProcess(TCHAR *pProcess)//ch是进程名字符串 2 { 3 HANDLE hSnapshot; 4 PROCESSENTRY32 lppe; 5 //创建系统快照 6 hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); 7 if (hSnapshot == NULL) 8 return false; 9 //初始化 lppe 的大小 10 lppe.dwSize = sizeof(lp... 阅读全文
posted @ 2012-10-25 15:47 凨丶 阅读(3442) 评论(1) 推荐(0)
Windows API ——WritePrivateProfileString——配置文件
摘要:1 #pragma once 2 3 class OperationConfig 4 { 5 public: 6 7 OperationConfig(void); 8 ~OperationConfig(void); 9 10 //设置配置文件的值11 BOOL SetIniFile(LPCSTR lpPath,LPCSTR lpField,LPCSTR lpKey,LPCSTR lpValue);12 13 //获取配置文件字符串型的值14 void GetIniFileStr(LPCSTR lpPath,LPCSTR lpField,LP... 阅读全文
posted @ 2012-09-27 17:41 凨丶 阅读(3549) 评论(0) 推荐(0)
Windows API——CreateEvent——创建事件
摘要:事件是一个允许一个线程在某种情况发生时,唤醒另外一个线程的同步对象。事件告诉线程何时去执行某一给定的任务,从而使多个线程流平滑CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,线程锁定方面. HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, // 安全属性 BOOL bManualReset, // 复位方式 BOOL bInitialState, // 初始状态 LPCTSTR lpName // 对象名称 );lpEventAttributes: [输入]一个指向SE... 阅读全文
posted @ 2012-08-29 11:12 凨丶 阅读(8440) 评论(0) 推荐(1)
Windows API ——CreateMutex——创建互斥对象
摘要:互斥对象是系统内核维护的一种数据结构,它保证了对象对单个线程的访问权 互斥对象的结构:包含了一个使用数量,一个线程ID,一个计数器 使用数量是指有多少个线程在调用该对象,线程ID是指互斥对象维护的线程的ID 计数器表示当前线程调用该对象的次数HANDLE CreateMutex( LPSECURITY_ATTRIBUTES lpMutexAttributes, 安全属性结构指针BOOL bInitialOwner, //是否占有该互斥量 LPCTSTR lpName //设置互斥对象的名字 );如果一个线程拥有了一个互斥对象后,当该线程运行完成后就要释放该互斥对象,不然其... 阅读全文
posted @ 2012-08-29 11:12 凨丶 阅读(18988) 评论(0) 推荐(1)