Microsoft Speech API
admin | Windows api | 2014-03-31
Microsoft Speech API, Text-to-Speech : http://msdn.microsoft.com/en-us/library/ms720163(v=vs.85).aspx
An example :
C++
#include <stdafx.h>
#include <sapi.h>
int main(int argc, char* argv[])
{
ISpVoice * pVoice = NULL;
if (FAILED(::CoInitialize(NULL)))
return FALSE;
... [阅读全文]
通过进程ID获得该进程主窗口的句柄
admin | Windows api | 2014-03-18
一个进程可以拥有很多主窗口,也可以不拥有主窗口,所以这样的函数是不存在的,所幸的是,相反的函数是有的。所以我们可以调用EnumWindows来判断所有的窗口是否属于这个进程。
typedef struct tagWNDINFO
…{
DWORD dwProcessId;
HWND hWnd;
} WNDINFO, *LPWNDINFO;
BOOL CALLBACK YourEnumProc(HWND hWnd,LPARAM lParam)
…{
DWORD dwProce... [阅读全文]
AfxOleInit()和::CoInitialize(NULL)区别
admin | Windows api | 2014-03-15
OLE是建立在COM之上的技术,层次比COM要高。AfxOleInit()调用的是OleInitialize(),而OleInitialize()除了调用CoInitializeEx()来初始化COM库外,还进行一些其它的操作,这些操作对OLE应用来说是必须的,这些OLE应用包括:
(1)Clipboard;
(2)Drag and drop;
(3)Object linking and embedding(现在的OLE,已不再仅仅是Object linking a... [阅读全文]
vista下开机启动 简单绕过UAC的方法 .转载
admin | Windows api | 2014-03-04
背景
vista下,如果不开启UAC,那就没有我下面要说的问题了,呵呵。下面说的都是在vista开启UAC的前提下说的,win7也适用。
在vista下,系统开启了UAC,如果你的软件通过manifest进行了提权(提升到管理员权限),那么exe上面会打上一个“小盾”的图标,这种程序启动的时候,会激活UAC保护机制,弹一个全局对话框出来询问用户是否允许启动,这就是微软标... [阅读全文]
windows7中各个dll文件作用和用途
admin | Windows api | 2014-03-03
aaclient.dll 何时何地都可以访问客户端
accessibilitycpl.dll 轻松访问控制面板
acledit.dll 访问控制列表编辑器
aclui.dll 安全描述符编辑器
acppage.dll ... [阅读全文]
Windows下提升进程权限
admin | C++, Windows api | 2013-07-11
C++
windows的每个用户登录系统后,系统会产生一个访问令牌(access token) ,其中关联了当前用户的权限信息,用户登录后创建的每一个进程都含有用户access token的拷贝,当进程试图执行某些需要特殊权限的操作或是访问受保护的内核对象时,系统会检查其acess token中的权限信息以决定是否授权操作。Administrator组成员的acc... [阅读全文]
查询端口是否被占用,并找出占用端口的进程
admin | Windows api | 2013-06-25
C++
windows下的一个查询端口是否被占用的函数,若端口被占用,则输出占用该端口的进程。
bool CheckPortState( IN unsigned num)
{
PMIB_TCPTABLE_OWNER_PID pTcpTable;
pTcpTable = new MIB_TCPTABLE_OWNER_PID;
//获取所需要的内存大小
DWORD tmpSize = sizeof(MIB_TCPTABLE_OWNER_PID);
GetExtendedTcpTa... [阅读全文]
基于VS 2005环境的MS office自动化开发之熟悉环境篇
admin | Windows api, 屏幕取词 | 2013-05-20
进行MS office自动化开发最好的工具或许是VBA,但是很多时候我们的应用系统往往和MS office的文件打交道,比如生成word文件和EXCEL报表等等,因此学习一下主流的开发工具关于MS office自动化的知识还是很有必要的。从今天起,我将推出一些基于VS 2005环境的MS office自动化开发的一些入门文章。第一篇是关于熟悉开发环境。
这次我使用的是VS C++ 2005。... [阅读全文]
GetWindowText的怪异行为
admin | Windows api | 2013-05-15
在看The old new thing时偶然发现GetWindowText这个API的一些八卦,翻了MSDN之后,觉得这个API的确很有意思,远不止之前所认为仅是简单的获取目标窗口的文字。
1.普遍真理
在写Win32程序时,GetWindowText最常见的用途是获取目标窗口的文本,以handle进行查找匹配。
即如下图
2.从MSDN说起
在MSDN中,对GetWindowText描述如下:
The GetWindowText f... [阅读全文]
PtInRect 的详细范围
admin | Windows api | 2013-03-20
CRect::PtInRect 函数可以用来判断给定的点是否在所在的矩形区域之内,但MSDN上并没有给出其详细的边界情况,现给出如下:
rect.PtInRect(point) ; 即矩形框为 rect , 判断点 point 是否在其内,则结果是:
如果 rect.left<=point.x<rect.right 且 rect.top<=point.y<rect.bottom 则认为point在rect之内,否则反之。这里主要是强调一个左闭... [阅读全文]