Windows程序设计
iot-genius
If I Rest, I Rust!!
展开
-
深入研究Windows内部原理绝对经典的资料
(为了方便大家下,我打包了放在一下地址:1-6:http://download.csdn.net/detail/wangqiulin123456/46015307-12:http://download.csdn.net/detail/wangqiulin123456/460150813-16:http://download.csdn.net/detail/wangqiulin12345原创 2012-09-27 08:10:35 · 9357 阅读 · 6 评论 -
枚举当前系统进程--CreateToolhelp32Snapshot
这篇博文使用 用EnumProcesses()枚举进程 要对当前系统所有已开启的进程进行枚举,就必须首先获得那些加载到内存的进程当前相关状态信息。在Windows操作系统下,这些进程的当前状态信息不能直接从进程本身获取,系统已为所有保存在系统内存中的进程、线程以及模块等的当前状态的信息制作了一个只读副本--系统快照,用户可以通过对系统快照的访问完成对进程当前状态的检测。在具体实现时原创 2012-12-05 13:29:16 · 3222 阅读 · 0 评论 -
win32 线程优先级
SetThreadPriority 设置指定线程的优先级BOOL SetThreadPriority( HANDLE hThread, // handle to the thread int nPriority // thread priority level);参数说明 hThread 要设置的线程句柄 nPriority 优先级别参数 可设置为一下参数原创 2012-12-08 13:33:43 · 4124 阅读 · 0 评论 -
隐藏程序在任务栏的图标
今天想最小化的时候在任务栏上隐藏窗体图标,想了很多方法不行,结果这行代码解决了问题,备忘下。对话框程序放OnInitDialog()函数: SetWindowLong(this->m_hWnd,GWL_EXSTYLE,WS_EX_TOOLWINDOW);//隐藏任务拦按钮 需要改变会原来这需要这样设置下: SetWindowLong(hWnd,GWL_EXSTYLE, WS_EX_原创 2012-11-25 11:52:54 · 4217 阅读 · 2 评论 -
vc发出提示音
BOOL WINAPI MessageBeep( __in UINT uType);这个函数使用要广泛的多。相当多的程序在MessageBox()之前都会调用MessageBeep()来发出一些提示音(实际上是播放系统音乐文件)。可供选择的参数有:MB_ICONASTERISK0x00000040LSystemAsterisk原创 2012-12-11 21:22:46 · 3039 阅读 · 0 评论 -
ANSI C and Microsoft C++中常用的预定义宏(转)
__FILE__ 源文件的名称 如XXX.cpp__LINE__ 代码在源文件中是第几行 __DATE__ 源文件完成日期如Eec 11 2012__TIME__ 源文件完成时间如21:35:35__TIMESTAMP__ 源文件完成日期时间如Tue Dec 11 21:35:35 2012如分配内存函数malloc()的原创 2012-12-11 21:40:00 · 2013 阅读 · 0 评论 -
Directshow 学习导引(转)
转自:http://blog.csdn.net/liujb861213/article/details/7955865 目前正想学习DirectShowdxsdk_sum2004下载地址vs 2005 directshow 编译及配置(附图)http://tmhare.mvps.org/downloads.htm 一些directshow源码和工具htt原创 2012-12-23 14:08:45 · 1535 阅读 · 0 评论 -
SetWindowPos小记
平时对这些函数都是简单用用,没怎么研究,今天看到了就大概的总结下,方便以后查阅。功能描述: Changes the size, position, and Z order of a child, pop-up, or top-level window. These windows are ordered according to their appearance原创 2012-12-27 07:39:11 · 2549 阅读 · 0 评论 -
欺骗windows---消息处理:移动窗口
要是去掉了窗口的标题栏怎么移动窗口呢?本文围绕此话题展开说明。 在创建窗口样式的时候传递WS_POPUP和WS_SYSMENU的组合就可以隐藏标题栏。// Create Window HWND hWnd = ::CreateWindowEx(NULL, szWindowClass, "Title", WS_POPUP|WS_SYSMENU|WS_SIZEBOX, 1原创 2012-12-27 19:42:27 · 5547 阅读 · 1 评论 -
定时提醒小工具--源代码(Win32 SDK)
前些天闲着没事,做个定时提醒的小工具。主要是想巩固下Win32SDK的学习,同时提醒下自己。功能没有完全写完,有些功能想美化,美工不好。处于其他事情就先搁置了。编码可能不是很好。源代码:http://download.csdn.net/detail/wangqiulin123456/4907291功能点:定时消息提醒定时音乐提醒定时关机获取开机时间截图:原创 2012-12-19 19:49:01 · 6031 阅读 · 4 评论 -
如何获得设备环境句柄(HDC)--Win32 SDK
对设备绘图,首先须要得到设备环境句柄(hDC),当不再使用将其释放,因此得到设备环境句柄的函数与释放设备环境句柄的函数总是成对出现在同一个消息处理过程之中的。在程序中得到hDC的方法有几种:方法一:BeginPaint在处理WM_PAINT时,最常用的一种获取设备环境句柄的方法就是,使用BeginPaint函数,该函数返回设备环境的句柄,而函数EndPaint函原创 2012-12-21 12:24:34 · 10471 阅读 · 1 评论 -
Windows编程模型
今天在网上看到这个图片觉得挺好的,分享下:再简单的放一个最基本的win32程序吧:#include #include INT g_count = 0;TCHAR szPrintStr[128];LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);int WI原创 2012-12-21 12:42:59 · 2090 阅读 · 0 评论 -
一个找了很久的API函数---GetSystemPowerStatus
昨天一不小心就发现了这个找了很久的一个API函数。过去一直想写一个判断笔记本是直流通电还是电池通电来写一个小程序,硬是没找到这个而终止了想法,今天发现了原来WindowsAPI还有这么好一个函数:GetSystemPowerStatus。 一、简介GetSystemPowerStatus 函数返回系统电源的一个电量状态,这个状态显示系统是否运行在AC(交流电)或者DC(直流电)原创 2013-01-23 21:47:51 · 9517 阅读 · 3 评论 -
Windows API —CreateFile
这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象:控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象、文件对象、邮槽对象、管道对象。 函数原型:HANDLE CreateFile( LPCTSTR lpFileName, // 文件名 DWORD dwDesiredAcce原创 2013-01-10 17:19:22 · 2085 阅读 · 0 评论 -
限制某个进程只能在某个CPU上运行
首先可以调用GetSystemInfo查看有多少个CPU原创 2013-07-26 01:14:46 · 3826 阅读 · 0 评论 -
<<深入浅出MFC>>笔记1——Win32基本程序观念
1.Windows SDK程序开发流程主要分为程序代码和UI资源两部分。 2.以消息未基础,以事件驱动 程序不断的等待外围的输入,判断在处理。操作系统通过捕捉外围输入,以消息的形式进入程序中,程序通过获取的不同消息进行不同的处理。USER模块掌管外围的驱动程序。 程序通过一个循环来获取消息。MSG msg;原创 2013-10-11 23:15:37 · 4482 阅读 · 0 评论 -
Windows窗体数据抓取详解
最近在客户项目上刚好遇到一个问题,项目需求是要获取某台机床的实时状态,问题点刚好就在于该机床不是传统意义上的数控机床,也不是PLC控制器,只有一个上传下载程序文件的应用程序,上面刚好有几个按钮可以大概判断当前工作状态,转眼一想,是否可以实时获取几个按钮的状态,从而简单分析下就确定机床加工状态。说干就干,开始拿起放下已久的Win32API来试试。思路大概如下:首先,我们知道的是应用程序的进...原创 2018-04-22 21:04:22 · 6495 阅读 · 3 评论 -
用Win32 API监控网络流量的方法(转)
最近想做个网络流量统计的小工具,找到一些方案。转自:http://hi.baidu.com/gyan_katsura/item/e2e82430e15d71d51b96968e毕设要做计算机系统数据采集监控方面的,其中有一项是监控系统上的各个网络适配器上的流量。简单调研了一下,结果如下:1.首先要用到的头文件和库:iphlpapi.h和iphlpapi.lib2.直接体原创 2012-12-04 16:26:37 · 7943 阅读 · 0 评论 -
Windows编程命名规则(转)
由于一直在命名方面很乱,这次决定好好规范下。转载至:http://blog.sina.com.cn/s/blog_52cbfc3f0100fdy6.html匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述。其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。目前在Windows程序开发和MFC程序开发中常用的命原创 2012-11-18 21:36:26 · 3865 阅读 · 0 评论 -
windows shell 创建快捷方式和读取快捷方式的代码
不说了 直接贴代码:#include #include #include #pragma comment(lib, "comsuppw.lib") struct SHORTCUTSTRUCT{ LPTSTR pszTarget; LPTSTR pszDesc; WORD wHotKey; LPTSTR pszIconPath; WORD wIconIndex;};typ原创 2012-11-02 19:25:05 · 4299 阅读 · 0 评论 -
VC 拖拽文件(快捷方式文件)到控件 (源码)
先介绍下,对对话框需要设置属性:AcceptFile为true;源码工程:下载#include #include #include #include #include "resource.h"LRESULT CALLBACK DialogProc(HWND ,UINT,WPARAM,LPARAM) ;void OnInitDialog(HWND hDlg);void OnO原创 2012-11-02 20:31:15 · 2887 阅读 · 4 评论 -
VC 动态添加资源项
图标的代码相当简单,调用LoadImage()两次,装入了16*16和32*32两种大小的图标.我们这里不能用LoadIcon()因为它只能装入资源,而不能装入文件.我们把实例句柄参数写成了NULL因为我们不是从我们的模块装入资源,而且我们不用资源的标识而使用了我们要装入的图标文件名.最后我们传入了LR_LOADFROMFILE这个标志来指示我们需要这个函数将我们传入的字符串当作文件名而不是资源名原创 2012-11-04 21:19:27 · 3382 阅读 · 0 评论 -
VC创建模态对话框
模态窗口的创建由DialogBox()函数。首先定义几个id:#define ID_FILE_EXIT 900#define ID_STUFF_GO 9002#define ID_HELP_ABOUT 9003#define IDD_ABOUT 101对话框的资源文件如下://////////////////////////////////////////原创 2012-11-05 07:48:11 · 2686 阅读 · 0 评论 -
无模态对话框
现在来看看CreateDialog(),它是DialogBox()的姐妹函数.区別在于DialogBox()拥有自己的消息循环并且直到对话框关闭才返回,CreateDialog()则更加像CreateWindowEx()创建的一个窗口,立即返回并向你的消息循环发送消息,就像是你的主窗口发的消息样.这就是所谓的无模态,而DialogBox()创建的是模态对话框. 创建的资源如下:原创 2012-11-05 11:47:04 · 2476 阅读 · 0 评论 -
使用文件和通用对话框——模仿windows记事本程序Part2
通用文件对话框 最常用的打开和保存文件的对话框分別通过GetOpenFileName()和GetSaveFileName()来调用, 它们两个都要一个OPENFILENAME结构体作参数.OPENFILENAME ofn;char szFileName[MAX_PATH] = "";ZeroMemory(&ofn, sizeof(ofn));原创 2012-11-07 15:50:31 · 1923 阅读 · 0 评论 -
动态创建控件——模仿windows记事本程序Part1
创建控件 正如创建所有其它的窗口一样,创建控件使用CreateWindowEx()这个API.将想要的已注册的类传进去,这里是编辑框控件类,这样就得到一个标准的编辑框控件窗口. 当用对话框来创建控件时,一般要写下要创建的控件的清单,以便在你调用DialogBox()或CreateDialog()的时候系统可以在对话框的资源中读入控件的列表并调用CreateWindo原创 2012-11-06 13:16:42 · 1556 阅读 · 0 评论 -
工具栏和状态栏——模仿windows记事本程序Part3
工具栏 可以用CreateToolbarEx()创建一个工具栏,但在这里不这样用.第一件事情就是要实际地创建一个工具栏... hTool = CreateWindowEx(0, TOOLBARCLASSNAME, NULL, WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, hwnd, (HMENU)IDC_MAIN_TOOL,原创 2012-11-10 19:51:07 · 4892 阅读 · 8 评论 -
windows核心编程---错误处理
如果我们自己写程序的时候检测到一个错误的时候,可能希望向用户显示错误的文本表述,而不是一个干巴巴的错误代码windows提供了一个函数可以将错误代码转换成错误文本描述,这个函数是FormatMessage。 TheFormatMessage function formats a message string. The function requires a message defi原创 2012-11-12 20:14:12 · 2420 阅读 · 0 评论 -
VC程序播放音乐必备---mciSendString用法
使用MCI API,源文件中需要包含头文件 Mmsystem.h,在Project->Settings->Link->Object/libray module中加入库 Winmm.lib。 VS2008在源文件加上#include "mmsystem.h" #pragma comment(lib,"winmm.lib")1、MCI简介 MCI(Media Con原创 2012-11-27 19:43:13 · 12757 阅读 · 1 评论 -
vc2010转化vc2005或低版本VC过程后,编译错误 解决方法
转化为vc2010后,出现以下错误:“C:/Program Files/Microsoft Visual Studio 10.0/VC/atlmfc/include/atlcore.h(35): fatal error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403. Valu原创 2012-11-28 09:31:54 · 1593 阅读 · 0 评论 -
windows核心编程---CompareString函数
CompareString The CompareString function compares two character strings, using the specified locale.int CompareString( LCID Locale, // locale identifier DWORD dwCmpFlags, //原创 2012-11-13 12:59:41 · 7761 阅读 · 0 评论 -
保存屏幕BMP
HBITMAP CopyScreenToBitmap(LPRECT lpRect){ //屏幕和内存设备描述表 HDC hSrcDC, hMemDC; //位图句柄 HBITMAP hBitmap, hOldBitmap; //选定区域坐标 int nX, nY, nX2, nY2; //位图宽度和高度 int nWidth, nHeight; //屏幕分辨率原创 2012-11-28 11:40:25 · 1548 阅读 · 0 评论 -
木马编写小技巧(转)
1.锁定鼠标:这个功能很简单只要一个ClipCursor()就可以搞定了看看下面的小程序#include #include int main(int argc, char* argv[]){ printf("\n别害怕15妙后你的鼠标就可以使用了^_^\n"); RECT rect; rect.bottom=1; rect.right=1; ClipCurso原创 2012-11-28 13:08:21 · 3645 阅读 · 22 评论 -
windows核心编程---StringCbCopy和StringCchCopy 函数
StringCbCopy函数用于拷贝string,且提供了目标缓冲区的大小作为参数,防止缓冲区溢出等安全问题。这个函数可用于替换以下函数的使用:strcpy, wcscpy, _tcscpylstrcpyStrCpyStringCbCopy函数原型如下:HRESULT StringCbCopy( __out LPTSTR pszDest, //目标字符串缓冲区原创 2012-11-17 15:30:07 · 15877 阅读 · 1 评论 -
进程动态拦截注入API HOOK
进程动态拦截注入Windows API原创 2019-05-26 04:24:13 · 1292 阅读 · 0 评论