windowsSDK编程
Miibotree
这个作者很懒,什么都没留下…
展开
-
“最小化所有窗口”和“显示桌面”之间的区别
最近在看《wndows编程启示录》,这里面写到了很多windows用户界面设置时候的很多解决矛盾的艺术。其中看到几个比较好玩的东西给大家分享一下。最小化所有窗口”的快捷键是”windows+d“, 显示桌面"的快捷键是“windows+ m”取消所有最小化窗口的快捷键是”windows+shift+d“那么这两者之间的区别是什么呢?首先最小化所有窗口的原创 2011-12-05 20:33:40 · 4987 阅读 · 0 评论 -
win7下的UAC机制与提升管理员权限
自己本来想写这么个东西。在自己写的程序中能打开另一个程序,而这个打开的程序是直接以管理员身份运行的而不需要弹出什么“是否要以管理员身份运行的对话框”。那么我们首先来看一下UAC机制。下面这些是摘引过来的:保护Win7安全不得不说的UAC,众所周知,UAC是User Account Control的缩写,其中文翻译为用户帐户控制,是微软在Windows Vista和Win7中原创 2012-05-13 16:57:27 · 9825 阅读 · 1 评论 -
如何判断一个文件是否被关闭?
做项目的时候遇到了下面这个问题:如何判断一个打开的txt文件是否被关闭?在打开一个txt文件的时候,notepad程序是自动通过文件路径的参数首先复制文件,然后马上就关闭了文件通道,这个时候打开的其实只是notepad程序而不是文件本身。文件本身的打开与关闭是一瞬间的事情。也就是说notepad程序在读取了文件以后就马上将文件关闭了。(不知道这样讲对不对,还请大家指正。)那么我们判断一个t原创 2012-06-16 21:59:23 · 6500 阅读 · 1 评论 -
给VC应用程序换皮肤的几种方法
这几天想给我们的主界面换好看一点的皮肤。下面介绍三种可能实现的方法:1.使用Skin++Skin++,系统软件,采用独特的软件界面开发技术,让原本复杂繁琐的界面编程变得轻松自如,随着换肤技术的不断进步,Skin++不仅是功能强大的换 肤控件,而且是一款非常通用的换肤插件。只需要在您的程序中添加一句代码,Skin++就能让您的界面焕然一新,并拥有多种主题风格和色调的动态切换功 能。原创 2012-06-25 22:14:13 · 3709 阅读 · 3 评论 -
自动读取USB设备文件
期末考试终于全部考完了,终于开始写代码了。这几天先解决一下这个历史遗留问题。问题是这样的:PC 端自动获取USB设备盘符并且读取特定文件夹下面的文件。首先找到下面这些资料来参考:如何获得U盘盘符:http://topic.csdn.net/u/20081118/14/dc0ab5bd-3a1d-4868-bb1e-4ff638fc82c2.htmlhttp:原创 2012-06-14 22:17:44 · 4361 阅读 · 1 评论 -
Windows环境下Unicode编程总结和将ANSI转换到Unicode 将Unicode转换到ANSI
Windows环境下Unicode编程总结 UNICODE环境设置在安装Visual Studio时,在选择VC++时需要加入unicode选项,保证相关的库文件可以拷贝到system32下。 UNICODE编译设置:C/C++, Preprocessor difinitions 去除_MBCS,加_UNICODE,UNICODE在ProjectSetting/link转载 2012-06-27 16:42:24 · 909 阅读 · 0 评论 -
<转>VC++实现Vista和Win7系统低权限程序向高权限程序发消息
Windows 7已经隆重发布,但是很多程序员已经通过RTM等版本尝到了Windows 7的甜处。那么在Windows 7下用户界面特权隔离,将是本文我们介绍的重点。我们介绍了操作系统服务的Session 0隔离,通过Session 0隔离,Windows 7实现了各个Session之间的独立和更加安全的互访,使得操作系统的安全性有了较大的提高。从操作系统服务的Session 0隔离尝到了甜头转载 2012-07-09 20:44:20 · 4211 阅读 · 0 评论 -
windowsSDK实现 屏幕实时监控 热键截图 功能
为了自己做出一个远控程序,自己花了点时间学习了有关绘图方面的知识点。一.基本概念的了解为了实现实时屏幕显示的功能,首先学习了下《windows程序设计》的第14章,位图和位块的传输。理解了下位图和位块的区别,基本概念。概念一:位图与图元的区别:位图 图元点阵 矢量 (位图与图元的主要区原创 2012-07-11 19:17:18 · 5308 阅读 · 1 评论 -
windows自带计算器模式切换的实现研究
本来说想写个跟windows一摸一样的计算器,一开始都不是什么大问题。但是到模式切换的时候却卡住了。windows自带的计算器是可以切换型号的,从标准型到科学型到程序员到统计信息共有很多种模式。标准型科学型仔细想想会发现,他们公用了一个菜单栏,标准型的所有功能在科学型里面都有。所以我做如下推测:整个大的计算器是一个窗口,下面还注册了很多子窗口,但是根据菜单选项选择模原创 2012-09-07 22:30:47 · 3256 阅读 · 0 评论 -
Scintilla控件在Win32环境下的使用(二)
这节的目标就是写出语法高亮,代码折叠这两个效果。还是首先给大家发个效果图看一下:主要参考文档:http://www.cnblogs.com/superanyi/archive/2011/04/07/2008632.htmlhttp://www.cnblogs.com/superanyi/archive/2011/04/07/2008636.html当然官方文档是必不原创 2012-09-17 18:11:37 · 4286 阅读 · 0 评论 -
Scintilla控件在Win32环境下的使用(一)
原本想要学习一下语法高亮功能,做一个像Notepad++一样的编辑器。然后就兴冲冲的下载了Notepad++的开源代码准备开始看。但是整个框架比较复杂,看了一会之后突然发现Notepad++使用的是Scintilla这个很强大的控件,而且也是开源的。所以最后决定在分析Notepad++源代码之前先使用一下Scintilla,然后研究一下Scintilla的源码。下面是Scintilla原创 2012-09-17 16:48:51 · 3834 阅读 · 2 评论 -
远程线程注入(一)编写动态链接库
想写个远程线程注入的东西......问了下栋哥终于把机理给搞明白了。参考的书本是《Windows API 开发详解 ---函数、接口、编程实例》和《windows核心编程》首先我们从编写一个dll开始。为了统一起见,下面的代码中所有函数全部使用宽字符版本。首先把代码给贴出来:/******************************* msg.c动态链接库*原创 2012-10-26 22:08:37 · 5669 阅读 · 2 评论 -
Kinect入门学习视频
Kinect入门学习视频http://channel9.msdn.com/Series/KinectSDKQuickstarts?sort=recent#tab_sortBy_recent不多,就6集,就当是练习英语听力了 例子里面都是C# WPF写的,由于是面向对象的软件开发,感觉跟android的开发有点相似。自己也没有学习过C# 和WPF ,只能从宏观上理解,看看API提原创 2012-11-21 22:30:45 · 3333 阅读 · 0 评论 -
注册表编程
接着昨天的折腾。首先介绍一下 扩展名子键 和 类定义子键扩展名子键由 "." + 相应扩展名构成 ,该子键的键值项的作用是指向一个“类定义子键”,起入口作用。 多个扩展名子键可以指向同一个类定义子键。这样做其实就是面向对象的思维了。举个例子来说,扩展名子键是.MP1 .MP2 .MP3他们都指向类定义子键MP3FILE,那么只要定义MP3FILE里面的键值就可以对原创 2012-05-08 22:19:24 · 1583 阅读 · 0 评论 -
利用socket做的帮室友找对象小软件
以前在linux上面写过socket的通信,今天想在windows下面再用SDK重新写一遍下面先附张图片来看看整个框架:然后自己先在控制台下实现:服务器端:#include #include #pragma comment (lib, "ws2_32.lib")#define MAXLINE 4096int main(){ WSADATA wsaDat原创 2012-04-29 22:56:33 · 1988 阅读 · 1 评论 -
使用windows文件系统和字符I/O记录
今天开始认认真真仔仔细细地看windows编程的书本了,所以做下笔记。全局根的定义 \\ 路径名的限制(MAX_PATH 个字符)260,但是通过转义序列指定非常长的名称LPCTSTR = Long Point Constant T_(宏) STRing (以后理解了每个字母缩写的意思得话,记忆会方便很多)lpsz = long原创 2011-12-09 19:32:04 · 2074 阅读 · 0 评论 -
关于位运算符实现的问题
今天在看SDK教学文章的时候,发现了一个关于位运算符的问题首先附上关键代码段: case WM_LBUTTONDOWN: { hitPoint.x = LOWORD(lParam); hitPoint.y = HIWORD(lParam); MouseClick = TRUE;原创 2012-01-05 16:32:49 · 730 阅读 · 0 评论 -
windows SDK模拟游戏钢琴的实现(一)
最近想做一个模拟钢琴的小软件,想做个既有键盘接口又有鼠标接口的小软件。所涉及到的知识点如下: 1.有关键盘的知识 2.有关鼠标的知识 3.GDI的知识 4.媒体播放函数的有关知识 因为这几天也正好在看这些内容,所以理论结合实际是最好的学习方式 首先要找钢琴音阶,但是上网找了一圈也没有发现,最后在4399里面找到一个差不多类型的模拟钢琴游戏,而且音色不原创 2012-01-01 23:02:13 · 2669 阅读 · 0 评论 -
windows SDK模拟游戏钢琴的实现(二)
昨天晚上失眠了,于是一直在想实现GDI的一个效果:首先绘制10个相连的矩形,当鼠标移到某个矩形的时候,自动填充那个矩形的背景颜色为灰色,移开的时候恢复原来的白色。当只有一个矩形的时候,当然不是一件难事。但是当有10个矩形的时候,问题就产生了。首先先看一下代码:#include #include #define NUM 10struct own_rectangle{ int x原创 2012-01-11 14:09:39 · 1000 阅读 · 0 评论 -
windowsSDK 菜单资源浅谈
这几天在看菜单,今天自己动手写了一下,出现了一些错误。首先我先自己简单的写了一个只包含菜单资源的文件:#include #include "resource.h"LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;//TCHAR szAppName[] = TEXT ("ownmenu") ; (改进后加原创 2012-01-15 14:57:34 · 898 阅读 · 0 评论 -
windowsSDK加速键实例分析
今天在看windows程序设计菜单里面的加速键,看了好几遍才勉强看懂,下面来解释一下书本里面的代码: #include #include "resource.h"#define ID_EDIT 1LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);TCHAR szAppName[] = TEXT ("P原创 2012-01-16 21:01:25 · 1131 阅读 · 0 评论 -
windowsSDK利用子窗口控件设置窗口透明
在看对话框之前,还是觉得有必要先看一下子窗口控件,很多对话框的知识点都涉及到子窗口控件。正好看到学长的一篇实现窗口透明化的文章,对它比较感兴趣,于是就想拿这个例子来练练手首先先介绍下窗口透明化的实现:首先是下面这个函数LONG SetWindowLong(HWND hWnd,int nlndex,LONG dwNewLong);SetWindowLong该函数改变指原创 2012-01-20 21:36:02 · 4332 阅读 · 3 评论 -
windowsSDK贪吃蛇
上几天看了人家用c语言在控制台上面写俄罗斯方块,觉得自己应该能在SDK上写个贪吃蛇出来。毕竟贪吃蛇比俄罗斯方块简单一点吧。运用知识1.GUI绘图2.计时器3.键盘控制思路(一)蛇的产生机制1.蛇身体的绘制(n个正方形,创建结构体存放4个点坐标,创建结构体数组)2.运用键盘改变蛇的前进方向(其实改变的只有头尾,并递推改变数组)(二)食物的产生机制原创 2012-02-05 15:12:39 · 2372 阅读 · 0 评论 -
线程事件对象之CreateEvent的用法
事件对象就像一个开关:它只有两种状态---开和关。当一个事件处于”开”状态,我们称其为”有信号”否则称为”无信号”。可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是”无信号”就让该线程睡眠,这样该线程占用的CPU时间就比较少。产生事件对象的函数如下: HANDLE CreateEvent( LPSECURITY_ATTRIBUTES原创 2012-02-04 20:04:44 · 1198 阅读 · 0 评论 -
SDK编写简单的随机数生成器
上几天帮同学搞了一个随机数生成器,首先在网上搜索了一下,发现网上有的做的也比较的简单,但是功能还是比较全的。而且发现自己学的东西刚好可以写一个随机数生成器。当然还有些预备知识没有学,所以现学现用了。计时器的有关知识我已经了解了,首先要用到创建字体,然后是创建父窗口控件,然后就是利用RGB的颜色的变化了。看了几天的书,终于写出来了。下面是代码:#inc原创 2011-12-31 15:50:37 · 1728 阅读 · 0 评论 -
windowsSDK移位加密算法实现
昨天老师让我们用MFC写一个凯撒加密,花了一会时间完成后,又花了半天自己写了个移位加密算法,是用SDK写的。算法部分请教了自己学ACM的同学,这里先谢谢他了。移位算法描述:变位加密不隐藏明文的字符,即明文的字母保持相同,但其顺序被打乱重新排列成另一种不同的格式。 1)简单变位加密。预先约定好一组数字表示密钥,将文字依次写在密钥下,再按数字次序重新组织文字实现加密,也有人喜欢将明原创 2012-02-24 22:40:29 · 2088 阅读 · 0 评论 -
widowsSDK创建对话框的三种方法
自己看对话框也有些时间了,下面来总结下对话框的一些知识点。对话框有模态对话框和非模态对话框两种基本形式。非模态对话框允许我们把输入焦点切换到同一个应用程序的另一个窗口,该对话框也无需关闭,这个比较普遍。模态对话框主要是两类:应用程序模式对话框和系统对话框。应用程序对话框不允许我们在本应用程序中切换输入焦点,但是可以切换到其他应用程序中去,比如点击记事本的文件打开按钮,会弹出选择打开文件原创 2012-01-24 16:21:50 · 10297 阅读 · 8 评论 -
远程线程注入(二)线程注入
这里我们要用到上篇中的那个 msg.dll下面的代码还是使用的统一的宽字符版本,已经在VS2010下编译通过。首先上代码,然后慢慢解释:#include #include BOOL LoadRemoteDll(DWORD dwProcessId, LPTSTR lpszLibName){ BOOL bResult = FALSE;原创 2012-10-26 22:29:50 · 11453 阅读 · 2 评论