
Windows SDK
文章平均质量分 69
afxid
这个作者很懒,什么都没留下…
展开
-
写一个关闭显示器的小程序
开始照着网上很多文章说的 SendMessagege(GetDesktopWindow(), WM_SYSCOMMAND, SC_MONITORPOWER, 2); 发现并不能关闭显示器,我找了半天都没找出问题的所在。因为网上找出很多文章都异口同声地这么说,所以根本就没有怀疑这里的代码出了问题。 后来发现了一篇Delphi的贴子,发现它调用这个函数时第一个参数(即消息发送的目标窗原创 2006-03-28 20:46:00 · 6065 阅读 · 3 评论 -
Windows NT/2000系统中如何获取系统的启动时间(zz)
NTDLL.DLL中有很多鲜为人知的API函数,这些函数非常有用。本文将介绍用NtQuerySystemInformation来获取Windows NT/2000每次启动的时间记录。用这个函数几乎可以得到任何的本地系统信息。其原型如下:NTSYSAPINTSTATUSNTAPINtQuerySystemInformation ( IN UINT SystemInformationClass, /转载 2006-06-09 22:16:00 · 4491 阅读 · 0 评论 -
服务程序中如何得到当前登陆用户名(ZZ)
这也是开发当中经常遇到的一个问题,因为服务程序是用system身份运行的,所以如果直接使用getusername是不行的。但是如果用我上一篇文章中的思路,那么这个问题同样也可以迎刃而解了。方法就是可以通过取得shell的token,根据这个token来得到Sid,在根据Sid来得到当前登陆的用户名和domain。下面是示例代码://根据进程名称得到进程tokenBOOL GetTokenB转载 2006-06-09 15:05:00 · 1962 阅读 · 0 评论 -
消息队列(Message Queue)简介及其使用(zz)
消息队列(Message Queue)简介及其使用Monday, 20. March 2006, 02:57:30Message Queue, 消息队列 利用 MSMQ(Microsoft Message Queue),应用程序开发人员可以通过发送和接收消息方便地与应用程序进行快速可靠的通信。消息处理为您提供了有保障的消息传递和执行许多业务处理的可靠的防故障方法。MSMQ与XML We转载 2006-06-04 14:45:00 · 1870 阅读 · 0 评论 -
关于idl文件
idl(Interface Defionition Language),在visual stidio用midl(微软的编译器)来进行编译,主要用于跨语言之间的接口定义,可以通过idl定义一系列接口,然后用c++去实现,编译之后,可以用vb去使用,就是2进制代码的复用 ,主要在com技术中应用.原创 2006-05-22 02:33:00 · 2346 阅读 · 0 评论 -
如何优雅地关闭一个socket
最近在windows编程时需要考虑到“如何优雅地关闭一个socket”,查阅了一些资料,现将查到的相关资料做个汇编,希望能对后来者有所帮助(比较懒,所以英文资料没有翻译:-)) 1. 关闭Socket时究竟做了什么 关闭socket分为主动关闭原创 2006-04-30 09:57:00 · 36905 阅读 · 3 评论 -
Winsock编程 入门 (zz)
一、初使化Winsock如果没有初使化的话,所有的Winsock函数操作都回失败(反回SOCKET_ERROR),错误代码为WSANOTINITIALISED。初使化函数:int WSAStartup(WORD 版本号,LPWSADATA pWSADATA)版本号的建立可以用用宏:MAKEWORD(x,y)WSADATA结构:{WORD 版本WORD 高版本char[] 描述char[] 系统转载 2006-04-30 07:48:00 · 2278 阅读 · 0 评论 -
setsockopt参数详细说明(zz)
int setsockopt( SOCKET s, int level, int optname, const char* optval, int optlen);s(套接字): 指向一个打开的套接口描述字 level:(级别): 指定选项代码的类型。 SOL_SOCKET: 基本套接口 IPPROTO_IP: IPv4套接口 IPPROTO_IPV6: IPv6套接口 IP转载 2006-04-30 08:27:00 · 7423 阅读 · 1 评论 -
关于spi滤包技术的研究 (zz)
最近我对spi滤包技术(就是防火墙基于用户级的滤包)做了一番研究,也自己编程进行了实现,到现在,也算是有些心得了吧。因此,写出这篇算是总结也算是心得的东西拿出来和大家分享,希望对大家有用。在进入正题之前,我先要感谢那些无私共享出自己研究成果的前辈们,尤其是safechina的TOo2y,他的文章《基于SPI的数据报过滤原理与实现》可以说是我研究spi滤包技术的良师,说得不好听,我这个源代码实际上就转载 2006-04-21 14:10:00 · 2882 阅读 · 0 评论 -
VC编写dll之基础知识(zz)
在我们实际用软件时,经常可看到许多动态连接库。动态连接库有其自身的优点 如节省内存、支持多语种等功能,而且,当DLL中的函数改变后,只要不是参数的改变 调用起的函数并不需要重新编译。这在编程时十分有用。至于其他妙处,各位在电脑 杂志、书籍中都能看到,我这里再说就是废话了. 这次小弟我所要讲的是如何在VC5.0中如何做自己的Win32 DLLs,各位要做自己的 动态连接库,首先要知道DLL在VC5.转载 2006-04-21 18:36:00 · 3608 阅读 · 0 评论 -
Writing a Winsock 2 Layered Service Provider(LSP) 译文(zz)
Wei Hua, Jim Ohlund, Barry Butterklee 著来源:http://greatdong.blog.edu.cn作者:董岩 译greatdong_2001@163.com使用分层的 transport service provider 来扩展基本的传输功能的做法可是很厉害的。分层的 service provider 仅实现了高层的自定义通讯功能而且与远程端进行数据交换时转载 2006-04-21 17:28:00 · 7800 阅读 · 0 评论 -
在C++中使用cpuid指令获得CPU信息 (zz)
1、什么是cpuid指令 CPUID指令是intel IA32架构下获得CPU信息的汇编指令,可以得到CPU类型,型号,制造商信息,商标信息,序列号,缓存等一系列CPU相关的东西。2、cpuid指令的使用 cpuid使用eax作为输入参数,eax,ebx,ecx,edx作为输出参数,举个例子: __asm { mov eax, 1 cpuid ... }转载 2006-06-12 09:19:00 · 6105 阅读 · 1 评论