Articles of winapi

如何检测我的程序可用的堆栈空间量?

我的Win32 C ++应用程序充当一个RPC服务器 – 它具有一组处理请求的函数,RPC运行时创build一个单独的线程并在该线程中调用我的一个函数。 在我的函数中,我有一个std :: auto_ptr用于控制编译时已知大小的堆分配char []数组。 它用VC ++编译的时候意外的工作,但根据C ++标准是未定义的行为,我想摆脱它。 我有两个select:std :: vector或一个堆栈分配的数组。 因为我不知道为什么有一个堆分配的数组,我想考虑用一个堆栈分配的数组replace它。 数组是10k个元素,如果RPC运行时产生一个非常小的线程,我可以假设地面对堆栈溢出。 我想检测多less堆栈空间典型地分配给线程和多less可用于我的function(其被调用者肯定会消耗一些分配的空间)。 我怎么能这样做?

我怎样才能确定在Windows中的文件的创builddate?

我怎样才能得到一个文件的创builddate? 我正在运行Windows。

LVITEM为Windows 64位

很长一段时间,我尝试使用带有LVIF_TEXT掩码的LVM_GETITEMW消息来获取ListView的文本。 我的程序工作在32位但不是在64位体系结构。 我发现问题是在LVITEM结构。 不久,我的问题是哪个结构是适当的64位,为什么。 我用作LVITEMW结构的结构体具有以下字段: ('mask', c_uint32), ('iItem', c_int32), ('iSubItem', c_int32), ('state', c_uint32), ('stateMask', c_uint32), ('pszText', c_uint32), ('cchTextMax', c_int32), ('iImage', c_int32), ('lParam', c_uint64), ('iIndent', c_int32), ('iGroupId', c_int32), ('cColumns', c_uint32), ('puColumns', c_uint32), ('piColFmt', c_int32), ('iGroup', c_int32) (用python 2.7 ctypes编写,但这只是一种书写forms – 语言真的不相关)。 这些字段与文档一样 。 经过大量的search,我发现这个论坛正是我所需要的 – 64位解决scheme! 所以在64位的结构应该有更多的“空间”,应该看起来像这样(指针现在是64位,也是状态stateMask是64位,这有点不同于论坛的build议,但也起作用): ('mask', c_uint32), ('iItem', c_int32), ('iSubItem', c_int32), ('state', c_uint32), ('stateMask', […]

MFC CWinApp程序中的input框?

我需要一个UI程序中的input框,这个input框已经从CWinnApp类派生并使用了MFC。 我看到它是使用消息框,但我没有看到任何input框的例子…. 我该怎么做呢? (在C ++中使用Visual Studio 6.0) 谢谢。

在Windows下获取新线程/删除线程的通知

当你创build一个DLL时,你可以在DllMain函数(DLL_THREAD_ATTACH / DLL_THREAD_DETACH)中得到关于新线程/退出线程的通知。 有没有办法在(非托pipe)可执行文件中从Windows获取这些或等效的通知?

如何以编程方式防止Windows从硬盘驱动器停转?

我的程序在硬盘可用空间上执行任务。 任务相当长, 需要1-2个小时 。 问题是,在笔记本电脑上,用户闲置几分钟后,硬盘可能会closures。 如何以编程方式阻止Windows从硬盘旋转(关机)?

UAC风格提升提示

我有兴趣在临时会话中启动一个窗口,例如UAC提示如何显示。 有几个人对这个概念有兴趣,所以我想我会在这里问。 从本质上讲,我们要做的是像UAC这样的提升窗口,“你确定你想要……”提示,但是有一个任意的窗口。 最终目标是防止窗口事件挂钩和密码input过程中可能发生的各种其他问题。 我已经快速浏览了UAC API和其他一些地方,但没有什么特别有用的。 很明显,UAC提示会以某种方式被提升到自己的桌面会话,所以必须有一种方法来创build窗口。

Windows 7操作中心

如果有人能指导我修改/控制Windows 7操作中心所需的新MS API,我将不胜感激。 我需要做的是将Backup通知消息集成到我的应用程序中,该应用程序是Action Center中的备份应用程序。 换句话说,我希望Windows在第三方软件完成其备份操作后显示备份操作成功。 更具体地说…有没有办法像安全通知/状态消息一样处理备份通知…例如,在安装反病毒应用程序之后…操作中心中的病毒保护字段显示消息类似于这个: <App Name> reports that it is up to date and virus scanning is on. 其中<App Name>是第三方应用程序名称。 有没有办法做类似的事情,但在行动中心的备份部分?

使用C#winforms与Windows中的其他桌面应用程序进行交互

我想知道是否有可能与我的程序与其他程序的人进行交互。 例如点击另一个程序等等的button我不知道这是甚至可能的,但如果是有人可以提供一些在C#中的示例代码。 谢谢

VirtualKeyCode.MEDIA_PLAY_PAUSE不起作用

我希望你们能帮助我。 我有一个用C#编写的小型Windows应用程序,我本质上是一个服务器监听来自android设备的HTTP调用。 该应用程序基本上作为一个遥控器 – 如果它听到静音,它会静音电脑的音量,等等。 我的问题是我有暂停前台应用程序的一些问题。 我特别试图模仿你在这么多键盘上看到的播放/暂停button。 我这样做的方法是使用Windowsinput模拟器项目( http://inputsimulator.codeplex.com/ )来模拟播放/暂停键。 不幸的是,我没有得到任何明显的反应 – 没有什么特别的事情发生。 担心我的设置,我将VirtualKeyCode.MEDIA_PLAY_PAUSE标志切换到静音键标志,并成功地静音我的机器。 请注意,我正在使用Windows Media Player,因此我确信它正在侦听电话。 我想知道的是,有什么额外的设置,我可以暂停任何媒体播放之前,我需要做的? 有没有其他的方式来实现我所追求的,而不是模拟按键? 任何帮助将不胜感激的家伙!