![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
windows
文章平均质量分 69
hhgo
为了梦想,而努力
展开
-
windows API 创建系统托盘图标
系统托盘在我们使用的程序中很普遍,下面我们来看一个很不错的例子,使用Win32 API实现,对理解系统托盘有些帮助。#include #define IDR_PAUSE 12#define IDR_START 13/*#include #pragma comment(lib, "shell32.lib") */LPCTSTR szAppName = TEXT("服务程序"转载 2014-02-13 17:44:20 · 4668 阅读 · 0 评论 -
api读取注册表键值
BOOL CheckFrameWork(HWND hDlg){ HKEY hKey; char szKeyPath[MAX_PATH] = "SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full"; //打开启动项Key if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, szKeyPath, 0,原创 2014-04-15 16:04:28 · 2145 阅读 · 0 评论 -
显示动态gif图片
#define TIMER_FIR 1#define TIMER_SEC 2//两个窗口,分别显示静态的gif,和动态的gifBOOL CALLBACK GifDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){ PAINTSTRUCT ps; HDC hdc; HBRUSH hBrush, hOldbrus原创 2014-04-15 15:57:52 · 8400 阅读 · 0 评论 -
常用的类型转换
都是自己在项目中需要经常用到的:uint64_t 转换 DWORD//file size*****64位转换为高低32位findData.nFileSizeLow = 0xffffffff & (FileSize);findData.nFileSizeHigh = 0xffffffff &(FileSize >> 32);utime_t 转换 FILETIME 结构//cr原创 2014-02-18 14:44:37 · 652 阅读 · 0 评论 -
设置windows磁盘图标
分享一段自己写的利用注册表修改磁盘图标:BOOL SetDiskIcon(){ HKEY hKey; WCHAR szIconPath[MAX_PATH] = L"F:\\ss.ico"; WCHAR szKey[MAX_PATH] = L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\DriveIcons\\Y\原创 2014-02-18 14:16:44 · 1026 阅读 · 0 评论 -
显示计算机特殊文件夹
很多时候“我的文档”位置经常被人移到D盘,如下是获取“我的文档”路径:#include "stdafx.h"#include windows.h>#include shlobj.h>#pragma comment( lib, "shell32.lib")#include iostream>int main(int argc, char* argv[]){转载 2014-02-17 17:00:43 · 771 阅读 · 0 评论 -
vc添加自定义资源,并创建显示flash控件
自己在项目里写的一段代码,把vc自定义资源写入文件,顺便显示flash控件BOOL CreateFlash(HWND hDlg){ char szResPath[MAX_PATH] = "\0"; HRSRC hRsrc; //资源句柄 HGLOBAL hGlobal; //加载资源的数据句柄 LPVOID lp; //资源在内存的入口地址 HAN原创 2014-02-17 13:33:14 · 1319 阅读 · 0 评论 -
windows注册表 api
注册表的操作,API为我们提供了大约25个函数。他提供了对注册表的读取,写入,删除,以及打开注册表及键值时所有函数,并且可以达到对注册表的备份,连接和对远端注册表进行查看等等。注册表对整个系统十分重要,你在进行操作时,一定要先考虑清楚。这些函数有: RegCloseKey RegConnectRegistry RegCreateKey RegCreateKeyEx RegDeleteKe转载 2014-02-17 13:17:15 · 1804 阅读 · 0 评论 -
Windows中两种多字符与宽字符的转换方法
在Windows中经常需要用到多字符与宽字符的转换方法,所以多字符(MultiChar)也就是ANSI编码的方式,而宽字符(WideChar)也就是Unicode编码的方式。首先是两种传统的转换方法,分别是MutiByteToWideChar和WideCharToMutiByte。int MultiByteToWideChar( UINT转载 2014-02-12 11:50:31 · 4602 阅读 · 0 评论 -
BYTE,WORD,DWORD的大小及一些特殊的"高低位宏"
一、定义在VC6.0的Microsoft Visual Studio/VC98/Include/windef.h 里,定义了BYTE,WORD,DWORDtypedef unsigned long DWORD;typedef unsigned char BYTE;typedef unsigned short WORD;在Vi转载 2014-02-13 14:22:19 · 634 阅读 · 0 评论 -
ULARGE_INTEGER运算
在调用GetDiskFreeSpaceEx()获取磁盘空间时,由于参数是ULARGE_INTEGER(64位整数),所以普通的“加减乘除”并不支持(是没有实现),因此我们采用其他办法来实现,先来看下ULARGE_INTEGER的结构定义:typedef union _ULARGE_INTEGER { struct { DWORD LowPart; DWORD H转载 2014-02-13 14:21:07 · 1574 阅读 · 0 评论 -
关于进度条的操作
//设置进度条的颜色hwndProgress = GetDlgItem(hwnd, IDP_PROGRESS);SendMessage(hwndProgress, PBM_SETBARCOLOR, NULL, RGB(203,221,241));SendMessage(hwndProgress, PBM_SETBKCOLOR, NULL, RGB(136,167,196)); //进度条背原创 2014-02-26 14:37:20 · 2559 阅读 · 0 评论 -
常用的时间类型转换
在程序开发过程中不断会碰到不同的数据间的转换,在这里做一个总结:一.时间类型间的转换:1.time_t 转 FILETIME FILETIME ft; LONGLONG ll = Int32x32To64(t, 10000000) + 116444736000000000; ft.dwLowDateTime = (DWORD) ll; ft.dwHighDateTime转载 2014-02-13 13:27:41 · 886 阅读 · 0 评论 -
FILETIME的使用
typedef struct _FILETIME { DWORD dwLowDateTime; DWORD dwHighDateTime;} FILETIME, *PFILETIME, *LPFILETIME; typedef struct _SYSTEMTIME { WORD wYear; WORD wMonth; WORD转载 2014-02-13 13:34:29 · 932 阅读 · 0 评论 -
检查磁盘空间容量
//检查本地磁盘空间BOOL CheckDiskSpace(HWND hDlg){ ULARGE_INTEGER FreeSpace; UINT DiskSize; //获得磁盘的容量,单位字节 GetDiskFreeSpaceEx("c:\\", &FreeSpace, 0, 0); //把磁盘容量转换为MB DiskSize = (float)FreeSpace.QuadPa原创 2014-04-15 16:06:10 · 730 阅读 · 0 评论