草庐IT

windows - 我如何在 Windows 中为类似/dev/null 的东西调用 CreateFile?

我需要在Windows库中调用一个函数,该函数将CreateFile创建的文件的句柄作为参数。.在我的应用程序中,我对库在此文件上生成的输出不感兴趣。有没有办法让我在*nix操作系统中创建空文件的句柄,例如/dev/null? 最佳答案 您正在寻找内置的“NUL”文件。 关于windows-我如何在Windows中为类似/dev/null的东西调用CreateFile?,我们在StackOverflow上找到一个类似的问题: https://stackover

windows -::PostMessage 到一个无效的 hWnd

我有一个线程调用::PostMessage(hWnd,[...]);向主线程发送一条消息,提醒它注意异步操作的结果。但是,我担心如果线程需要特别长的时间来完成它的操作,当调用PostMessage时hWnd可能不存在(用户可能已经关闭了窗口)。MSDNDocumentation如果hWnd无效,则不会说明任何结果。如果hWnd无效,您是否从经验或其他文档中知道我会发生什么? 最佳答案 RaymondChen写道:http://blogs.msdn.com/b/oldnewthing/archive/2007/07/16/388547

windows - MFC中如何改变对话框标题栏的字体样式

默认情况下,在MFC中,对话框标题栏的字体与系统设置一致。如何更改字体样式? 最佳答案 这不仅仅是MFC的默认;它适用于所有Windows应用程序。这是因为操作系统会为所有窗口绘制标题栏,操作系统自然会尊重用户配置的设置。如果你想改变它并覆盖用户的设置(我真的很怀疑你为什么要做这样的事情),那么你将需要绘制窗口的整个非-客户区(包括标题栏)交到你自己手中。这是通过处理WM_NCPAINTmessage来实现的。(或者我想在MFC中,处理名为OnWmNcPaint之类的窗口的成员函数)。但请注意:这是一项相当高级的任务,很难正确完成。

c - 赋值从整数生成指针而不进行强制转换

当我尝试编译以下代码时:#defineBUFSIZEMAX_PATH//....TCHARsz_VolumeName[BUFSIZE];//11HANDLEhSearch;//12hSearch=FindFirstVolume(sz_VolumeName,BUFSIZE);//13它给了我错误:[Warning]assignmentmakespointerfromintegerwithoutacast-第13行的问题这里出了什么问题?编辑:例如:#include#include#include#include#defineBUFSIZEMAX_PATHintmain(intargc,c

python - 用 Winapi 替换 WMI 调用

我目前正在寻找用等效的win32api调用替换我所有使用WMI的代码。我这样做是因为我注意到WMI调用比win32api调用花费的时间多。下面是一些示例:上市服务:wmi:~4秒winapi:~0.003秒列出打印机:wmi:~0.5秒winapi:~0.009秒列出Windows用户:wmi:~0.5秒winapi:~0.2秒是否可以替换所有wmi调用?作为一般规则,是否可以使用winapi调用执行WMI中可用的每项任务?我已经设法替换了我的大部分wmi代码,但我还剩下以下代码:创建还原点枚举网络适配器枚举分区我在枚举网络适配器方面遇到了一些困难。还值得一提的是,我正在使用pytho

windows - 了解 SystemParametersInfo SPI_SETFOREGROUNDLOCKTIMEOUT

我的应用程序需要在被外部工具(通过API)调用时获得焦点,我知道默认情况下,它应该只在任务栏中闪烁,但在这种情况下,这绝对不是行为我想要的。在这种情况下,我尝试通过“this.Activate()”(C#)获得焦点。这就是ForeGroundLockTimeOut发挥作用的地方。但是,我在理解SystemParameterInfoSPI_SETFOREGROUNDLOCKTIMEOUT时遇到了一点问题。我知道它用于设置ForeGroundLockTimeOut,它定义了您的应用在获得所请求的焦点之前必须等待的时间。(有关更多信息,变量“val”是一个设置为0的IntPtr)System

windows - 为什么我的自定义消息在应用程序启动时被发送?

我的应用程序设置了工作线程,我使用PostMessage()和自定义消息WM_THREAD_FINISHED来通知主线程它已完成执行。我在OnThreadFinish()方法中处理自定义消息。似乎在应用程序启动时调用了此方法,这给我带来了问题。我遇到了崩溃,我认为这是因为a、b或c中没有数据。是否有任何理由在应用程序初始化时调用该消息?#defineWM_THREAD_HAS_FINISHEDWM_USER+0structDataItem{inta;intb;doublec;};....BEGIN_MESSAGE_MAP(CProject1Dlg,CDialogEx)........O

windows - 编剧如何从焦点窗口获取文本信息?

屏幕阅读器通过我认为是WindowsAPI的方式访问其他程序中的信息。任何人都可以评论这是如何完成的并提供一些文档的链接吗?有什么我应该注意的严重限制吗?如果您了解这在其他操作系统中的工作原理,您也会感兴趣。 最佳答案 大多数屏幕阅读器使用UIAutomation访问其他程序中的信息。一些应用程序不以这种方式提供辅助信息(糟糕的程序员!糟糕!糟糕!),所以一些屏幕阅读器使用mirrordrivers拦截低级绘图操作,然后从那里重新生成应用程序的信息。(我不推荐这样做;它很痛苦,容易挂起你的系统,并且在Windows8及更高版本中不受

windows - 线程本地存储/Windows

给定native代码(C/C++),有人可以解释线程本地存储吗?这仅仅是允许线程控制其自身变量生命周期的技巧,还是编译器或硬件实现了一些隔离/保护措施?底层平台重要吗?此外,就上述内容而言,普通TLS和“光纤安全”TLS之间有什么区别?抱歉,我用谷歌搜索,但我能找到的只是如何使用TLS(我已经知道),而不是幕后的极客细节。 最佳答案 线程本地存储(TLS)由操作系统管理。内核中的每个线程对象都包含一个本地TLS槽数组。在运行时,应用程序的代码可以为它需要的每个TLS变量调用TlsAlloc()(例如声明为__thread或__dec

c# - VirtualKeyCode.MEDIA_PLAY_PAUSE 不工作

希望大家帮帮我。我有一个用C#编写的小型Windows应用程序,我正在制作它,它本质上是一个服务器,用于监听来自Android设备的HTTP调用。该应用程序基本上充当Remote-如果它听到静音,它会将计算机的音量静音,等等。我的问题是我在暂停前台应用程序时遇到了一些问题。这些天,我特别想模仿您在许多键盘上看到的播放/暂停按钮。我这样做的方法是使用Windows输入模拟器项目(http://inputsimulator.codeplex.com/)来模拟播放/暂停键。不幸的是,我没有得到任何类型的可辨别的响应——没有发生任何特别的事情。由于担心我的设置,我将VirtualKeyCode