Windows/Unix 信号量(Semaphore)示例程序
至于什么是信号量(Semaphore),网上相关资料多得很,一搜一大把,我就不做重复劳动了。只是把关于使用信号量的示例程序贴一下当作笔记,万一能对大家有点点帮助那就更好了。Windows 平台的代码来源于 MSDN,Unix 平台的代码是 Google 来的。
Part 1 - Windows 平台信号量(Semaphore)示例程序
至于什么是信号量(Semaphore),网上相关资料多得很,一搜一大把,我就不做重复劳动了。只是把关于使用信号量的示例程序贴一下当作笔记,万一能对大家有点点帮助那就更好了。Windows 平台的代码来源于 MSDN,Unix 平台的代码是 Google 来的。
Part 1 - Windows 平台信号量(Semaphore)示例程序
比起上一篇《VB + Windows API 获取窗口的句柄》,可能我们遇到更多的情况是需要获取指定窗体上某个控件的句柄。我自己在这方面经验比较少,昨天查了很多资料,实际上也没有看过什么比较好的解决方法,所以只好简单地说一下自己的大致思路了。
1. 如果我们事先知道该控件的类名或是标题,那么似乎可以使用 API 函数 FindWindow 来得到该控件的句柄。FindWindow 的声明如下(使用 VS 自带的工具 API Viewer可以查到声明代码):
由于一个特殊问题和一个特殊目的,我打算写一个比较“evil”的程序(不许联想 -__-),虽然以前并没有搞过类似的东东,但凭直觉判断(可能相当不准)使用 VB 和 Windows API 搞起来会比较容易。
这个东东的第一步需要获取某个窗口的句柄,在网上找了相关资料,先照家猫画华南虎写了个可以获取鼠标所指的窗口句柄的小程序,现将代码分享如下,这么短注释我就不写了,相信都能看得懂: